Commit Graph

227 Commits

Author SHA1 Message Date
John Maguire 0a54c5135b Ignore empty lines in m3u files.
Fixes issue #1403
2011-03-17 16:05:08 +00:00
David Sansome 7086d7bf03 Fix tests when build some options are disabled 2011-03-13 20:01:24 +00:00
David Sansome b271c714b8 Fix this test on Windows 2011-03-13 19:22:41 +00:00
David Sansome 3ba97ead0b Fix a couple of tests 2011-03-13 18:50:32 +00:00
Paweł Bara 47f5de6176 fixing tests 2011-03-10 22:05:56 +00:00
David Sansome 4c2a2bb0fe Don't build the python test if python is disabled 2011-03-04 22:27:59 +00:00
David Sansome 2b08d27a88 Show loading indicators in the library model and the status bar when asynchronously loading songs during initialisation. 2011-02-26 14:27:57 +00:00
David Sansome 62b6d052de Fix the library model test 2011-02-26 13:34:31 +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 aeb2ab9625 Only run the MPRIS1 test on Linux 2011-02-14 19:34:54 +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 f801252e3d Refactor Player and PlaylistManagers to have interfaces and add more MPRIS1 tests 2011-02-13 18:37:45 +00:00
David Sansome 12da941885 Add a really basic unit test for MPRIS1 2011-02-13 18:37:21 +00:00
David Sansome 3a1853a681 Use nanoseconds in playlist parsers, and fix the tests 2011-02-13 18:35:26 +00:00
John Maguire df0f3e1589 Fix building tests on mac. 2011-02-04 15:00:27 +00:00
John Maguire 01915cc351 Remove taglib prefix from #includes in tests. 2011-02-04 13:29:49 +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
David Sansome bcc35ec29c Add a test for stuff in the module's global dict 2011-01-28 21:43:10 +00:00
David Sansome 9ca237bfa2 Add a unit test for some basic python scripting functionality 2011-01-28 20:52:38 +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 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 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
David Sansome 37c0876686 Fix the m3u parser test 2010-12-25 15:46:20 +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
Paweł Bara 712782d40c corrections to tests after yesterday's current_index -> current_row renaming 2010-12-17 16:41:19 +00:00
David Sansome a739ff2714 Fix playlist parser tests 2010-12-11 11:07:00 +00:00
David Sansome 6f889947c8 Fix the playlist test 2010-11-20 20:10:51 +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
David Sansome eb9660edad Parse FMPS ratings and played counts from mp3 id3v2 tags 2010-10-17 16:03:49 +00:00
David Sansome 47004d0ac3 Fix album cover manager test 2010-10-16 18:21:28 +00:00
David Sansome b97b2138fa Play last.fm tag radio or similar artists radio when clicking on a tag in the song/artist info pane. 2010-10-16 15:22:14 +00:00
John Maguire 0c281bb837 Add cmake options for more libraries.
Fixes issue #738
Thanks to Nickollai for the patch.
2010-09-22 13:05:51 +00:00
John Maguire 214d77bc0e Fix test and fix song loader infinite loop. 2010-08-31 21:24:57 +00:00
David Sansome dedb9621e8 Fix the songloader test by making it wait for the gstreamer engine to finish initialisation 2010-08-28 19:22:58 +00:00
John Maguire 36264e0b2b Separate out UniversalEncodingHandler. 2010-08-03 19:29:49 +00:00
John Maguire 9d253fdf37 Fix playlist loading tests. 2010-08-03 16:00:51 +00:00
John Maguire 8a82a12865 Disable disabling tests on compilers that don't support it (old GCCs). 2010-07-27 15:18:25 +00:00
John Maguire e9f4bba1c1 Silence a few extra Clang warnings. 2010-07-27 13:57:31 +00:00
John Maguire 124ceb2db9 Fix compiling with Clang. 2010-07-27 13:21:28 +00:00
David Sansome 692e5715e3 Replace slashes with underscores when organising files. Fixes issue #503 2010-07-24 13:56:49 +00:00
John Maguire 579c7cc592 Fix some Latin1 encoding guessing. 2010-07-15 12:46:08 +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 f0b984cbe9 Prepend a 0 to single-digit track numbers in the organiser. Fixes issue #438 2010-06-25 15:15:02 +00:00
David Sansome 093f198556 Use this handy cmake variable 2010-06-25 12:34:04 +00:00
David Sansome 0848f62c3d Move OrganiseFormat to core/ and add an Organise class that actually does the work. 2010-06-24 18:33:38 +00:00
David Sansome 3de7311c36 Add tests for the various format flags 2010-06-24 16:44:12 +00:00
David Sansome b2dcaf5cd4 Add a dialog for organising files in a library. Doesn't work yet 2010-06-24 16:26:49 +00:00
David Sansome f0d043d19f Build test libraries as static libs 2010-06-23 15:16:54 +00:00
David Sansome 6f9341bff8 Fix test 2010-06-23 15:16:44 +00:00
David Sansome ed422c3743 Set a longer remote timeout on unit tests so they don't fail when they run on buildbit with high load. 2010-06-23 11:51:13 +00:00
David Sansome 0e278adb70 Disable this test for now until it can be made more reliable 2010-06-22 14:55:10 +00:00
John Maguire b91a61c260 Tidy unicode length detection & add Cyrillic FTS test. 2010-06-21 12:07:56 +00:00
John Maguire 2f1a2fa9c7 More FTS tests. 2010-06-20 20:58:32 +00:00
John Maguire abf79ca447 Tests and refactoring for FTS. 2010-06-20 20:51:57 +00:00
David Sansome 492d8fec87 Use sqlite's Full Text Search on the songs table 2010-06-20 16:30:10 +00:00
David Sansome 80837ce652 Oops - it helps if we actually remember to set the URL of the song we just loaded. Fixes issue #426 2010-06-20 12:50:08 +00:00
David Sansome 8dd0b9902b When album cover art changes, update songs matching those albums in the playlist 2010-06-18 14:26:46 +00:00
David Sansome b7a8e43a53 Not just OCD - Qt creator uses this order too 2010-06-18 14:26:14 +00:00
John Maguire 82b728528e Better unicode search.
Fixes issue #419
2010-06-18 12:54:11 +00:00
David Sansome 91057acd78 Fix some test values 2010-06-17 16:54:23 +00:00
David Sansome d423d008d4 Fix this stupid test, *again* 2010-06-16 22:32:02 +00:00
David Sansome 747d466bcc Fix this test on Windows properly maybe 2010-06-16 13:13:34 +00:00
David Sansome 43309a13d0 Fix for lame OSs that don't have mkdtemp 2010-06-15 18:34:01 +00:00
David Sansome 02d01b1314 PLS playlists aren't really INI files - they don't follow the same rules with escaping characters, so parse them the old fashioned way. 2010-06-15 17:34:00 +00:00
David Sansome 8c7539f02e ASF files aren't really XML - try to correct the mismatching case 2010-06-15 17:00:48 +00:00
David Sansome 25ff2bca59 Always treat text/uri-list as M3U 2010-06-15 14:52:42 +00:00
David Sansome 032374c74b Oops, misleading comment 2010-06-15 14:25:18 +00:00
David Sansome de630e0a9f Run LoadLocalDirectory in another thread so it doesn't block 2010-06-15 14:24:17 +00:00
David Sansome 2c3e9276aa Fix some of the comments on r1148 2010-06-15 13:56:41 +00:00
David Sansome 08a01d6997 The start of some code to automagically determine whether a URL is a playlist or a song, and load the songs in the playlist if it's a playlist. Still to do: timeout, forcing M3U for text/uri-list. 2010-06-15 13:24:17 +00:00
David Sansome b3fd856e4a Add an m4a to fileformats_test 2010-06-10 12:38:26 +00:00
David Sansome f33604580c Stop ASCII from voting, and add a failing test 2010-06-03 15:16:15 +00:00
John Maguire 2ad15ffec6 Code review comments for r1023 2010-06-03 13:26:46 +00:00
John Maguire b9df2a09d4 Add voting for codecs, eg. if 3/4 tags in a file are windows-1251 then they will all be decoded with windows-1251. 2010-06-03 12:36:43 +00:00
David Sansome 6dd32da591 Make the M3U parser use the local 8-bit encoding instead of latin1. Yes I know the spec says m3us are always latin1 - you didn't expect anyone else to actually follow that did you? Fixes issue #364. 2010-06-02 20:06:47 +00:00
David Sansome 531fa90cbd Fix test compilation 2010-06-02 16:58:34 +00:00
David Sansome 21c990e3c7 Test for UTF8 in a Latin1 field 2010-06-02 13:11:51 +00:00
John Maguire f4385d4545 Detect cp866 & windows-1251 in "latin1" tags. 2010-06-02 12:31:40 +00:00
John Maguire 4836b8d420 Fix XML parsers to output file URLs. 2010-05-27 22:43:07 +00:00
John Maguire e8dab5c065 ASX support.
Fixes issue #325
2010-05-27 20:55:34 +00:00
David Sansome c59a819068 Fix a warning 2010-05-25 22:19:30 +00:00
John Maguire 07b2c38690 Save support for M3U. 2010-05-23 17:00:45 +00:00
John Maguire 1b76ead951 Implement playlist saving for XSPF. 2010-05-23 16:26:32 +00:00
John Maguire a59f5a3887 *Fix m3u parsing
*Add regression test
*Fix clang warnings
2010-05-23 15:35:28 +00:00
David Sansome 06c6bebe15 Support for saving .pls files 2010-05-22 21:27:51 +00:00
David Sansome 211ae65e3d .pls parser. Fixes issue #302 2010-05-22 21:11:22 +00:00
David Sansome c9c44ca592 Move the playlist parsers to another directory, and add a PlaylistParser class that magically uses the right parser. 2010-05-22 20:06:19 +00:00
David Sansome 1572124962 Seperate last played values for each playlist 2010-05-20 22:30:55 +00:00
David Sansome 3d8c11ff5a Fix tests 2010-05-19 17:00:09 +00:00
David Sansome b9438a3a90 Fix tests 2010-05-18 20:56:28 +00:00
John Maguire 6794b67a2f Fix LibraryModel tests. 2010-05-11 19:03:29 +00:00
John Maguire 5dd0a9c35f Autodetect weird encodings in ID3v1 tags.
Fixes issue #254
2010-05-11 12:03:55 +00:00
David Sansome 1aee5e4667 Split all the source files up into seven new directories. 2010-05-10 21:50:31 +00:00
David Sansome 481dbae992 Save magnatune playlist items properly, also fix tests from before 2010-05-10 14:19:43 +00:00
David Sansome 88ab9a8299 Add a table for the Magnatune library, and add the Magnatune database to it when the Magnatune node is expanded. Sort the Magnatune library model properly, and don't crash when adding or removing items. 2010-05-09 16:53:35 +00:00
David Sansome 6b8d6c93f9 Add a MergedProxyModel that lets us merge two models into one... 2010-05-09 15:51:04 +00:00
David Sansome 1b00aaa8b3 Big refactoring of the Library <-> LibraryBackend <-> SQLite interaction.
The LibraryBackend has now been split into a Database class that deals with setting up sqlite, and PlaylistBackend that contains the functions for persisting the playlist.  The LibraryBackend now only contains functions for accessing "a collection of songs", and can be parameterised with table names to access different collections.  It also no longer lives in a background thread, and follows the Qt memory management model instead of using shared_ptr.
Most of Library has been moved into LibraryModel - a QAbstractItemModel for any LibraryBackend.  What's left of Library is now specific to the user's local library on disk.
2010-05-09 00:10:26 +00:00
David Sansome 0c9e69ed30 Group "remove" undo commands in the playlist. Fixes issue #262 2010-04-29 23:58:31 +00:00