On Mon, Apr 25, 2016 at 05:29:34PM +0000, Gayan Weerakutti wrote: > > > Hi there, > > I'm writing a plugin that enable users to export music files of the selected > playlist which is quite similar to the sendto plugin but let you save files > directly to the disk. > > But I can't find a way to get a reference to the currently selected playlist > item. > > I did get the reference to the playlist header item as: > > display_page_model = shell.props.display_page_model.props.child_model > > playlist = [x for x in display_page_model if x[1].props.id == "playlists"][0] > > playlist_iter = playlist.iterchildren() > > for i in playlist_iter: > > playlist_source = i[1] > > Here I see AutoPlaylistSource, StaticPlaylistSource objects which seems to be > not iterable. I think I'd need to get an array of playback URIs of songs in > the selected playlist.
Sources contains query models, which are gtk tree models that contains one row for each track in the source. For exporting the contents of a playlist, you'd probably want the base query model, which includes all tracks in the playlist regardless of whether they're currently filtered out by search terms or album/artist/genre browser selections. You access this using the 'base-query-model' property on the source object, so in python that would be: qm = playlist_source.props.base_query_model query models contain rhythmdb entry items, so you'd then get the location for each entry and then copy that, or whatever. _______________________________________________ rhythmbox-devel mailing list rhythmbox-devel@gnome.org https://mail.gnome.org/mailman/listinfo/rhythmbox-devel