GNOME Bugzilla – Bug 363813
Connect to all DAAP servers (and other enhancements)
Last modified: 2020-03-17 08:16:32 UTC
This is a split from bug 363548. - Provide a master list of songs from all connected DAAP servers (accessible via a master "Shared Music" source which parents all DaapSources) - Provide a "Connect to Everyone" button which attempts a connection with all DAAP servers and fails silently. - Provide "Disconnect From All" through the DaapContainerSource's Unmap() method. - Modify DaapPlaylistSource to implement IImportable and IImportSource - Modify DaapContainerSource to implement IImportable
Created attachment 75242 [details] [review] The patch This patch adds three events to DaapSource: ClientLoggedIn, ClientLoggedOut, ClientChanged (which gets ride of a particularly nasty while statement). These events trigger MergeSource, UnmergeSource, and UpdateSource in the DaapContainerSource, respectively. DaapCore has two new methods: ConnectAll and DisconnectAll. It also has an ActionGroup with the action "DaapConnectAll" wired to ConnectAll. DaapConainerSource has an ActionButton set to trigger DaapConnectAll and its Unmap now triggers DisconnectAll. DaapPlaylistSource now implements IImportable and IImportSource and DaapContainerSource now implements IImportable. There is a new class called DaapImporter which is located in DaapSource.cs (it's code that was previously in DaapSource.cs so I didn't bother making a new file, but we can). DaapSource, DaapPlaylistSource and DaapContainerSource instantiate a DaapImport to perform song imports.
Created attachment 75512 [details] [review] An update I really like the new DaapErrorView UI. I've updated this patch to take that idea into account. The changes: * I replaced DaapSource's HighlightMessageArea with a new ShadowContainer-inherited DaapConnectingWidget. Since the track TreeView is of no use until the source is connected, and since the HighlightMessageArea can be closed, leaving the user with a empty UI, I thought a full sized message would be a more appropriate choice. * DaapContainerSource is selectable once again an by default its ViewWidget is a DaapSummaryWidget which shows the total number of sources and a "Try connecting to every source" button. More info could be packed into this widget. * When connected to one or more sources, DaapContainerSource has a TreeView with the aggregate songs from all sources and a new DaapStatusWidget at the bottom which tells the number of connected servers out of the total, and conditionally has a "Try connecting to all sources" button. * DaapSource's Icon returns a warning icon when connection fails. This isn't a very aesthetic modification, but its useful when you have loads of sources. Perhaps different icons would make the list look better.
So should there be a 'All Music' source which includes DAAP, local library, anything else? I like the idea of that
Man this is an old patch, sorry it never got reviewed Scott! If it's still relevant and somebody feels like updating it for 1.x, I promise to review it promptly.
Banshee is not under active development anymore and had its last code changes more than three years ago. Its codebase has been archived. Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is being shut down) if anyone takes the responsibility for active development again. See https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/264 for more info.