After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 389537 - XML Shareable Playlist Format for playlists
XML Shareable Playlist Format for playlists
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: general
git master
Other Linux
: Normal enhancement
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-12-25 19:33 UTC by Daniel
Modified: 2009-02-26 20:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Support parsing and serializing XSPF playlists (11.79 KB, patch)
2009-02-01 03:27 UTC, John Millikin
needs-work Details | Review
Support parsing and serializing XSPF playlists (v2) (11.62 KB, patch)
2009-02-06 00:47 UTC, John Millikin
needs-work Details | Review
Support parsing and serializing XSPF playlists (v3) (13.33 KB, patch)
2009-02-08 19:35 UTC, John Millikin
committed Details | Review

Description Daniel 2006-12-25 19:33:35 UTC
Hi,

http://www.xspf.org/

I think it would be great if Banshee could store playlists and the library in the XSPF ["spiff"] format from Xiph (the guys behind OGG media containers and the OGG Vorbis codec).

If I have understood this correctly this is a extensible format for storing playlists, which is optimized for larger libraries and searching. Which would be great for Banshee, right? ;)

Well, I think it would be great if Banshee libraries could be more easily moved and backed up. How about storing these lists in ~/Music/.Library/ and ~/Music/.Library/Playlists/ for more easily backups and synchronization between multiple machines?
Comment 1 Josiah Ritchie - flickerfly 2007-01-18 23:29:17 UTC
There is work going on in SVN related to the Radio plugin that allows banshee to interact with XSPF formatted playlist downloaded from radio.banshee-project.org. I believe the intention is to have the ability to specify your own playlist. I haven't yet heard anything about bringing in the ability to export playlists in this sort of format or storing the playlists in a new way. Hopefully that is some useful information.
Comment 2 John Millikin 2009-02-01 03:27:37 UTC
Created attachment 127679 [details] [review]
Support parsing and serializing XSPF playlists

Adds a new playlist format class for XSPF, supporting parsing and serialization. As an added bonus, since XSPF playlists contain <title> elements, playlists imported from XSPF can have titles preserved even if the file is renamed.
Comment 3 Bertrand Lorentz 2009-02-02 22:26:32 UTC
After a few quick tests, the import and export seems to work OK.

I just noticed that there was already some XSPF-related code in the Libraries/Mono.Media project. Looks like it is used for Last.fm. I wonder if some of it could be re-used.
Comment 4 Gabriel Burt 2009-02-05 02:57:33 UTC
Yeah, we don't want two XSPF implementations.  I forget why the Xspf code is currently in Mono.Media, but we should either use it, or get rid of it.
Comment 5 John Millikin 2009-02-06 00:47:31 UTC
Created attachment 128065 [details] [review]
Support parsing and serializing XSPF playlists (v2)

Rewritten to use the Mono.Media code.
Comment 6 Bertrand Lorentz 2009-02-08 14:50:12 UTC
With your patch, compilation with mono 2.2 fails :

Making all in Mono.Media
make[4]: Entering directory `/home/lorentz/Projets/banshee/src/Libraries/Mono.Media'
Compiling Mono.Media.dll...
./Media.Playlists.Xspf/Playlist.cs(215,16): error CS0472: The result of comparing value type `Media.Playlists.Xspf.Playlist.Date' with null is `true'
Compilation failed: 1 error(s), 0 warnings
make[4]: *** [../../../bin/Mono.Media.dll] Error 1


It also looks like the Sniff method you added duplicates the code at the beginning of the Load method. Would it be possible to factor this ?
Comment 7 John Millikin 2009-02-08 19:35:50 UTC
Created attachment 128244 [details] [review]
Support parsing and serializing XSPF playlists (v3)

Moves common code for finding the xmlns and playlist node into new functions, and should fix the mono 2.2 compilation.
Comment 8 Gabriel Burt 2009-02-26 20:23:27 UTC
Thanks John, committed.