Adam Porter
5252dac162
Don't replace song metadata with blank m3u EXTINF metadata. Fixes issue 2593
2013-06-01 12:36:09 +10:00
David Sansome
1208ba308f
Add a parser for WPL playlists. Fixes issue 3437
2013-02-05 23:19:19 +11:00
David Sansome
a004d66f3d
Make the playlist parser recognise URLs with schemes of only 2 characters (eg, di://). Fixes issue 3452
2013-01-27 14:53:20 +00:00
David Sansome
d5412d3800
Use QUrl::fromUserInput to decode URLs in playlists if they look like they're encoded. Fixes issue 3309
2012-11-23 21:51:22 +11:00
David Sansome
acbf21be07
Fix a cue parser bug where songs starting after 99 minutes wouldn't be loaded. Fixes issue 1658
2012-08-26 13:56:11 +01:00
David Walluck
7aaf6dc920
Read the REM DATE and REM GENRE fields from cue files.
...
Fixes issue 1482
2012-06-11 19:22:03 +01:00
John Maguire
3f87987177
Allow upper case header for PLS files.
...
Fixes issue #2856
2012-04-10 14:33:40 +02:00
David Sansome
90bbed1ec9
Add podcast parsing and database classes
2012-03-06 18:39:23 +00:00
Arnaud Bienner
089586ad07
Activate fast QString concatenation.
...
As this is not source compatible because we sometimes assumed (now wrongly) that '+' operation returns QString object (it now returns QStringBuilder object actually), some minor other corrections were needed.
2012-02-19 14:44:33 +01:00
David Sansome
ad3483e86a
Treat spotify: URIs properly when loading playlists. Fixes issue 1715
2012-01-29 15:32:49 +00:00
David Sansome
4618651cf4
Merge branch 'master' into external-tagreader
2012-01-07 22:52:18 +00:00
David Sansome
e9c0b4bd69
Musicbrainz tagging improvements:
...
* Fix a bug where the song title would be used for the album field
* Get the album's year as well
* Include all releases for a song in the results list
* Remove duplicate albums
* Sort results
2012-01-07 21:51:02 +00:00
David Sansome
9be641ee87
The external tagreader mostly works now:
...
* Make TagReaderClient a singleton until it's easier to pass dependencies around
* Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted
* Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore
* Add blocking versions of all TagReaderClient methods
* Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before
2012-01-07 00:26:07 +00:00
David Sansome
b873209d39
Remove the <xiphcomment.h> include from song.h so that windows headers don't infect everything else. Also move other bits of song.h into song.cpp, and reduce the number of includes in song.h.
2011-11-28 13:56:55 +00:00
David Sansome
7548919bc1
Remove the resolvers for now - they don't work properly and ought to use the global search.
2011-11-27 22:15:28 +00:00
David Sansome
7f7451b72a
Stop the M3UParser from going into an infinite loop when parsing a file with an invalid #EXTINF line. Fixes issue 2080
2011-08-27 22:35:00 +01:00
John Maguire
2bda4966fc
Basic working use of resolvers for XSPF playlists.
2011-07-28 17:33:58 +02:00
David Sansome
ccb9f8cf94
Use URLs everywhere instead of filenames. Move the URL parsing and song loading code out of individual playlist parsers and into the base class. Fix the playlist parser unit tests.
2011-04-28 12:27:53 +00:00
David Sansome
3eedc916ad
Add a new logging system
2011-04-22 16:50:29 +00:00
John Maguire
0a54c5135b
Ignore empty lines in m3u files.
...
Fixes issue #1403
2011-03-17 16:05:08 +00:00
David Sansome
4471e27ef6
Python docs for PlaylistParser, and clean up the interface a bit
2011-02-27 12:14:32 +00:00
Paweł Bara
7f3f4f4107
more accurate parsing of indices in CUEs (we now respect the FRAMES part)
...
+ incorporating arnaud's code comment in fileviewlist
2011-02-15 22:26:56 +00:00
David Sansome
8c691d2b3e
Use constants instead of "1eN" literals for converting between time units.
2011-02-14 19:34:37 +00:00
David Sansome
3a1853a681
Use nanoseconds in playlist parsers, and fix the tests
2011-02-13 18:35:26 +00:00
David Sansome
507c5e2632
Change the fields in Song from seconds to nanoseconds
2011-02-13 18:34:30 +00:00
Paweł Bara
ed4b7abde0
changed my mind - reverting my playlist changes to previous status quo (just making the PlaylistParser's contract more explicit)
...
this doesn't mean the previous revision was pointless - it still fixed one CUE related bug which I forgot to mention...
2011-02-03 22:21:15 +00:00
Paweł Bara
7bdac8fba6
when loading playlist, take only it's valid songs (+ force validity of CUE and PLS related songs)
2011-02-03 17:47:32 +00:00
Paweł Bara
ddd3f119d3
CUE songs are now properly updated in library - you can delete a CUE sheet, add it, you can change section markers in it etc. and everything should work as expected
...
Song now knows it's cue path (if any)
2011-01-15 18:46:23 +00:00
David Sansome
c6d724f53a
Add Python bindings for PlaylistParser
2011-01-15 13:59:34 +00:00
David Sansome
1344103515
Add a workaround for broken XML entities in ASX playlists
2011-01-15 13:58:35 +00:00
Paweł Bara
4f7e804638
library: watcher now updates CUE associated songs + ignores the not-CUE-associated songs in a CUE sheet
...
CueParser: properly update length for the last song from every FILE in multifile CUE sheet
new 'playlist_path' argument in the 'Load' part of PlaylistParser's API
2011-01-11 23:09:59 +00:00
Paweł Bara
d4d7f19fab
better .cue spec conformity (allow many files in one sheet, use the SONGWRITER field as song's composer, ignore data files)
2011-01-05 20:23:53 +00:00
Paweł Bara
bb79a68be0
some minor .cue related changes
2011-01-04 17:12:29 +00:00
Paweł Bara
59378166b4
finalized the support for loading .cue based media using 'files' tab or drag and drop from the system's file browser
...
use FILE's PERFORMER as albumartist
2011-01-03 23:36:10 +00:00
Paweł Bara
234465874c
remember the track number when parsing .cue
2010-12-29 15:46:01 +00:00
Paweł Bara
da5f941333
consider .cues when scanning the library
...
persist the new 'beginning' marker of songs
fixed a bug where %allsongstables script would not update the attached databases
2010-12-28 15:36:01 +00:00
David Sansome
eca62e037b
Don't re-read song tags from files while loading a playlist if they're already avaiable in the library. Fixes issue #1165
2010-12-25 14:41:31 +00:00
Paweł Bara
d7fe4600b8
an initial version of .cue sheets parser
...
initial support for multipart media files in Song ('beginning' and 'end' fields)
2010-12-23 21:13:43 +00:00
David Sansome
2b77c894db
Err... fix the ASX parser
2010-12-11 12:12:36 +00:00
David Sansome
a739ff2714
Fix playlist parser tests
2010-12-11 11:07:00 +00:00
David Sansome
08b2bcc816
Always write URLs in XML based playlists, instead of URLs of relative paths. Also load playlist items from the library if possible. Fixes issue #1054
2010-12-11 10:35:07 +00:00
David Sansome
292fdd3e7f
Fix writing of album art paths when saving XSPF files
2010-12-11 09:31:39 +00:00
David Sansome
ed1a25693c
Add missing licenses to debian/copyright, and add copyright information to each source file
2010-11-20 13:27:10 +00:00
John Maguire
3df1f1bed9
Fix parsing of dos line endings in M3U.
...
Fixes issue #863
2010-10-11 15:20:53 +00:00
John Maguire
2c81cdefc7
Add m3u8 to M3U filetypes.
2010-09-13 16:37:22 +00:00
John Maguire
b0e1a516a9
Fix playlist parsing for iTunes M3U
...
Fixes issue #736
This is really Apple's fault for bizarrely using \r for line endings.
2010-09-13 16:31:42 +00:00
David Sansome
7e29c772af
Use the playlist's name as the default filename when saving it
2010-07-31 13:10:08 +00:00
David Sansome
77b4ec54bd
Look at the file extension as well as magic when loading a local playlist. Fixes issue #507
2010-07-24 14:09:27 +00:00
David Sansome
384ff16f2b
Add a parser for a weird playlist format that looks like a cross between ASX and PLS. I don't know what it's called...
2010-07-10 18:39:41 +00:00
David Sansome
9b39b2db68
Move tabs to the top
2010-06-16 18:50:01 +00:00