Commit Graph

73 Commits

Author SHA1 Message Date
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