Commit Graph

260 Commits

Author SHA1 Message Date
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
Angus Gratton c5c581a4f1 Autodetect compilations based on effective_albumartist not artist (Fixes issue 509) 2011-11-28 11:04:38 +00:00
Angus Gratton 2cf6875c6d Fix bug caused by adding Various Artists for albumartist, where nodes would sometimes not move under Various Artists due to album node never being empty (Issue 509) 2011-11-28 11:04:38 +00:00
Angus Gratton b158f6788d Add support for Various Artists in Album Artist library mode (Issue 509) 2011-11-28 11:04:38 +00:00
Angus Gratton edb9b0b4fe Add album effective_artist filter that falls back to artist when unavailable (Issue 509) 2011-11-28 11:04:38 +00:00
David Sansome e9253af931 Load cover art for the library in a background thread. Fixes issue 2243 2011-11-13 00:31:27 +00:00
David Sansome b37f679c36 Implement the options to hide/show the global search box, and to hide/show all other search boxes. 2011-11-05 19:09:37 +00:00
David Sansome 6d45415b00 Consistently use "Various artists" with a lower case "a" 2011-10-30 16:53:39 +00:00
John Maguire a1ece63f3a Use URLs for openInFileBrowser. 2011-10-26 14:54:24 +02:00
David Sansome c1041ed6d4 Support for playing tracks from local library 2011-08-29 03:32:41 +01:00
David Sansome dad76b78dd Move all the settings pages to their own widgets and classes 2011-08-14 00:07:10 +01:00
Arnaud Bienner f7859f591c Adding CD devices in devices tab. Fixes issue 701. 2011-08-05 02:15:16 +02:00
David Sansome 38100f5e59 Make CoverProviders not a singleton 2011-07-23 19:34:41 +01:00
David Sansome dd3eee63e5 Remove python scripting support 2011-07-23 15:32:12 +01:00
David Sansome e6b2e5bcae Make the DeleteSongs function actually delete songs again, and make a new MarkUnavailable function that is called when songs are deleted from disk (and stop it from removing the song from the search index). 2011-07-06 20:07:56 +00:00
Arnaud Bienner 63300d79db Set tr function's codec to system encoding. Should (finally) resolve problems with already translated strings 2011-06-22 20:41:48 +00:00
David Sansome 7415d85dce When initialising a song from a library query, don't always assume the metadata originally came from a file (which means icycast tags are ignored when it is played). Fixes issue 1857 2011-06-17 20:00:10 +00:00
John Maguire 02e4d30354 Fix compile error. 2011-06-14 16:13:48 +00:00
David Sansome ccd7afed17 Replace LibraryModel assertions with error logging 2011-06-14 15:33:51 +00:00
David Sansome 42fe215443 Don't treat the smart playlist node in the library like a regular container when applying filters - fixes an assertion when clicking the smart playlist node with None/None/None grouping. Fixes issue 1913 2011-06-14 15:27:07 +00:00
John Maguire 3fd8d4f78e Fix showing hint in library filter widget on mac. 2011-05-23 12:52:27 +00:00
John Maguire 20534811c8 Fix crash in mac library filter widget.
Fixes issue #1914
Thanks to: tyler.s.rhodes@gmail.com
2011-05-23 09:41:08 +00:00
David Sansome 147bbb9928 Add some more python bindings 2011-05-19 23:02:15 +00:00
David Sansome 792352be3b When songs disappear from the filesystem (either they're deleted or are on a removable media that was unmounted), mark them as unavailable instead of removing them from the database. Thanks google@robbertkrebbers.nl. Fixes issue 401 2011-05-14 13:43:57 +00:00
John Maguire c9a0318553 Revert to not scanning hidden directories. 2011-05-13 16:56:42 +00: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 b15156a7a3 Handle bigger protobuf messages, add spotify searching to the UI 2011-04-27 16:38:28 +00:00
Andrea Decorte c6c4902d3f Added two new options for date queries in smart playlists. Fixes issue
1141
2011-04-24 17:52:16 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
Arnaud Bienner 41a4393b24 Translate dynamic playlist names at runtime. 2011-04-19 21:39:02 +00:00
Paweł Bara 032b5f7e48 initial commit of "multiple covers providers" feature:
- simple API for cover providers (both C++ and SIP)
- a new "package" for cover related code
2011-04-02 13:34:06 +00:00
Andrea Decorte ecda0ada4a Playlists get an automatic name, no more prompts. Fixes issue #423 2011-03-25 19:16:12 +00:00
David Sansome d91aaa880c Make the library watcher pick up hidden files too. 2011-03-23 16:50:19 +00:00
Paweł Bara e619d7a280 fixing a bug where streams were removed from playlist during Clementine's startup 2011-03-20 16:07:24 +00:00
Paweł Bara bfb068a6d1 conditionally hide some context menu actions in library view and playlist view
Song.is_stream()
2011-03-20 12:43:10 +00:00
Paweł Bara a4bf317f33 minor deleted items handling fixes 2011-03-18 21:54:22 +00:00
David Sansome 9086ab8ed4 Add a "Show in file browser..." to the library context menu as well. Fixes issue #1563 2011-03-17 19:52:21 +00:00
David Sansome 0594fc53af Enable the "Edit track information..." item in the library context menu when right-clicking an un-expanded node 2011-03-17 19:52:15 +00:00
David Sansome 002ae13817 Use the canonical file path (resolve symlinks and '..') when adding directories to the library, and when adding files to the playlist. Fixes issue #1494 2011-03-13 14:43:03 +00:00
David Sansome 3d593e696c Make escape and backspace work in the library and radio views. Fixes issue 1510 2011-03-13 14:14:16 +00:00
Andrea Decorte f62f1a6df8 Middle click to append to playlist now works in the other views. Fixes issue #1546 2011-03-10 12:42:35 +00:00
Andrea Decorte b8a008aaeb Added middleclick to enqueue to playlist. Fixes issue #865 2011-03-06 15:53:08 +00:00
Andrea Decorte cfe6b9e652 Added option to hide dividers in library view. Fixes issue #1125 2011-03-05 15:20:27 +00:00
David Sansome dacc7c1a2d Remove " characters from the library filter text before doing an FTS query. Fixes issue #1504 2011-03-04 21:10:10 +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 aa6c3ab35b a way to mark DB schema versions as requiring a full library rescan
message dialog for a user when he's reached a full library rescan requiring schema version (like the final one of CUE sheet support)
2011-02-25 20:10:41 +00:00
Arnaud Bienner 609f882e27 Making library init async. Prevent from freezing GUI with large collection (especially Jamendo) when loading from DB for the first time since startup 2011-02-24 23:29:45 +00:00
Paweł Bara 5c8c5c5413 making availability of library view's context menu items saner (?). also makes the CUEs readonly from library view 2011-02-21 20:06:44 +00:00
Paweł Bara 05cbe241e9 just changed a duplicated translation string 2011-02-20 16:23:30 +00:00
Paweł Bara 677a93b359 minor changes 2011-02-20 15:05:05 +00:00
Paweł Bara 832b258b55 me no speaky english 2011-02-17 20:04:58 +00:00
Paweł Bara 20658989c3 full library rescan feature - should already work as expected 2011-02-17 19:57:14 +00:00
Paweł Bara 7de912d3a1 moving the responsibility for naming playlists into mimeData() methods (into models)
this means that pretty names for new playlists now also work when double clicking (in certain mode) or dragging and dropping
fixes issue #1477
2011-02-16 18:29:35 +00:00
Arnaud Bienner b8bf93fc23 Being consistent: use already defined name_for_new_playlist_ field and GetNameForNewPlaylist function, to have the same behavior through the 'Open in a new playlist' action than with drag and drop 2011-02-16 01:04:48 +00:00
Paweł Bara fb33ba4cce lookout for smart playlists in 'open in new playlists' functionality (Fixes issue #1465) 2011-02-15 19:16:45 +00:00
Arnaud Bienner 4d58e75e0a Using library item's name instead of generic text 'Playlist' when creating new playlist by DnD from the library, or when using 'Open in new playlist' 2011-02-14 23:06:36 +00:00
Paweł Bara d109b70898 David's comments 2011-02-14 17:29:56 +00:00
Paweł Bara 0182829223 user-friendly name for 'Open in new playlist' playlists (fixes issue #1445) 2011-02-14 17:00:13 +00:00
David Sansome 507c5e2632 Change the fields in Song from seconds to nanoseconds 2011-02-13 18:34:30 +00:00
Paweł Bara 60ac6768b8 Fresh new 'open in new playlist' action (Updates issue #1431). 2011-02-09 17:51:59 +00:00
Paweł Bara 4cd01a43b7 fixing names of all the 'add to playlist' items in context menus (Fixes issue #1421) 2011-02-08 22:42:09 +00:00
Arnaud Bienner de2193f5af Display tooltip info in library only if text displayed is elided (as it was done for playlistdelegates, r2745). Partially fixes issue 451 2011-02-08 21:55:32 +00:00
Paweł Bara b7cd42fe53 minor C++ stuff 2011-02-06 14:34:47 +00:00
Paweł Bara 82e92bb3ac library view has now three modes: 'all songs', 'duplicates only' and new 'untagged songs only' (check out the http://code.google.com/p/clementine-player/wiki/LibraryViewModes) - fixes issue #305
+ hiding the 'complexity' of QueryOptions filter and query_mode mutual exclusion behind it's API
2011-02-06 13:18:18 +00:00
Paweł Bara 9a9d8ad177 don't let invalid CUE related media files into library (invalid == those which were not recognized by TagLib)
better logging of erroneous DB queries (error + query + bound values instead of just error)
2011-02-05 13:43:04 +00:00
John Maguire 084b9a2fe3 Remove taglib prefix from includes as the taglib include path contains it already. 2011-02-04 12:36:56 +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 77151d7ebd Hiding some of Song's cover art logic complexity in Song's API (namely: embedded and manually unset covers). 2011-02-02 21:01:08 +00:00
Paweł Bara ce104b9cf4 working on making disable for library filter widget work on MacOS (Updates issue #1396) 2011-02-02 16:46:57 +00:00
Paweł Bara 8aedda1795 moving the 'Save cover to file' action into AlbumCoverChoiceController; implementing the action in all related places (now playing widget, album cover manager, edit tag dialog)
now playing widget: disable all cover related context menu options (except for the 'save cover' one) when in 'Kittens' mode
2011-02-02 16:22:04 +00:00
Paweł Bara 5b5d3f0c2e watch out for optional last.fm dependencies in AlbumCoverChoiceController -> fixes issue #1393
from the creators of "david is always right" movie -> maybe fix issue #1396
2011-01-31 15:21:32 +00:00
Paweł Bara 2959dbff85 'show duplicates only' view for library where you can see which songs in your library are duplicated and delete unnecessary duplicates (fixes issue #1328) 2011-01-30 21:00:49 +00:00
David Sansome 0beb12fc14 Add some options to control what happens when you double click or use the menu to add tracks to the playlist 2011-01-24 21:16:26 +00:00
David Sansome fe818e5597 Don't drop the embedded art indicator from songs when updating the library. Thanks markwatkinson 2011-01-23 15:36:09 +00:00
Paweł Bara 70952d94d8 I wonder how those Cisco routers are so good if people responsible for them are SLACKERS! 2011-01-18 17:20:42 +00:00
Paweł Bara e24e786a5d incorporating David's suggestions 2011-01-18 17:12:05 +00:00
Paweł Bara 07739d6c68 Python bindings for LibraryView + new UI hook for plugins: the view's context menu
support for IN operator in LibraryQuery.AddWhere
2011-01-18 16:34:43 +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
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
David Sansome 135b32642e Refactor all the code that handles adding items to the playlist - whether it be by a context menu item, double clicking in a view or dragging. Everything now uses the models' mimeData() instead of duplicating the same code everywhere. 2011-01-10 22:26:13 +00:00
David Sansome d78ad452f2 Make the "No cover" image the same size as the cover art when showing cover art in the library. Thanks markwatkinson. Fixes issue #785. 2011-01-02 18:58:52 +00:00
David Sansome 43940de195 Add an option to show cover art in the library view. Thanks markwatkinson. Fixes issue #785 2011-01-02 14:51:01 +00:00
David Sansome 6ea9ea3b4d Add a linebreak to a tooltip 2010-12-30 18:26:13 +00:00
David Sansome ca032eb445 Add an "Enqueue to playlist" menu item. Thanks bendarb. Fixes issue #980 2010-12-29 15:08:43 +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 1362809b5d Make the library scanner use filter words for selecting cover art. Thanks markwatkinson. Fixes issue #634 2010-12-28 12:52:58 +00:00
David Sansome 9b82ecbb72 Add tag completers for albumartist, composer and genre, and load completion models in background threads 2010-12-25 13:11:09 +00:00
David Sansome 8cdce2767b Implement the reset play counts button 2010-12-25 11:54:21 +00:00
Arnaud Bienner 3218e08118 Displaying different text depending on the number of selected songs 2010-12-21 00:20:36 +00:00
David Sansome c8520021d7 Start of a new edit tag dialog. Lots of things don't work and it doesn't actually save tags yet (so it's about as useful as before). 2010-12-19 23:40:36 +00:00
David Sansome 05a1bf6e37 Make the clear button a part of the search textbox. Fixes issue #1071 2010-12-18 20:32:05 +00:00
John Maguire 21415ff230 Fix some mac ui and metadata bugs. 2010-12-14 15:00:46 +00:00
David Sansome 5e17e93360 Smarter adding/removing from various artists. Fixes issue #717 2010-12-11 14:17:07 +00:00
David Sansome 47c13c4479 Listen for keyPressEvent instead of keyReleaseEvent in the library view. Thanks arnaud.bienner. Fixes issue #1042 2010-12-09 14:33:20 +00:00
David Sansome 34532ed85f Allow editing tracks from the library pane. Thanks arnaud.bienner. Fixes issue #65 2010-12-06 21:16:04 +00:00
David Sansome 3216f5b75e Remove ( and ) characters from FTS queries. Fixes issue #1010 2010-12-04 18:16:00 +00:00
David Sansome dd937fb06d Make searching more responsive on large libraries (Jamendo) 2010-11-27 20:20:26 +00:00
David Sansome af234763f2 Do library searching and grouping in a background thread 2010-11-27 20:09:00 +00:00
David Sansome e63c101223 Don't show the various artists node for Jamendo (there aren't any various artists albums) - making search a bit faster 2010-11-27 19:37:34 +00:00