Commit Graph

302 Commits

Author SHA1 Message Date
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
David Sansome bea4b39020 Make Jamendo search work again 2010-11-27 19:37:09 +00:00
David Sansome f11c494c44 Add a random smart playlist to Jamendo 2010-11-27 19:18:56 +00:00
David Sansome b1bf95a668 Remember which library a dynamic playlist was using when you restart clementine 2010-11-27 19:11:36 +00:00
David Sansome 623b90e5e2 Make sure the smart playlists node really really gets put at the top 2010-11-27 18:43:49 +00:00
David Sansome 69d3d89b0f Have a different list of smart playlists for Jamendo and the normal Library. Only add default Jamendo smart playlists once. 2010-11-27 17:52:08 +00:00
David Sansome b85ddbb380 Put the Jamendo songs in a separate database that gets attached to the main database. "Reload" it by deleting the file, which is much faster than DELETEing all the songs inside. Make reloading the Jamendo, Icecast and Magnatune databases always bypass the network cache. Store the Jamendo track IDs in a separate table - for some reason this makes inserts faster. Fix the Jamendo model after the inital database load. Make the Jamendo dymanic playlist use the entries that are already in the local database rather than fetching the song metadata again. 2010-11-27 16:14:09 +00:00
David Sansome 4e60558053 Use the Jamendo track id as the ROWID for tracks, and implement reloading the database. 2010-11-25 23:05:37 +00:00
David Sansome 23d1ea81ea Add dividers to the list of icecast stations 2010-11-24 21:34:54 +00:00
David Sansome e4a3a12a83 Show progress information while downloading and parsing Jamendo and Icecast catalogues. Also parse Jamendo in chunks rather than all in one go. 2010-11-23 18:53:08 +00:00
Paweł Bara 5ceb64c9e3 "mute" command in main menu and context menu of tray icon (Fixes issue #962)
"now playing" tray icon's tooltip in Qt environments
2010-11-21 21:36:27 +00:00
David Sansome a73b46d382 Don't show smart playlists in the library when it's filtered 2010-11-21 12:16:40 +00:00
David Sansome 7d54549213 Add support for dynamic playlists. A dynamic playlist is just a smart playlist that chooses and adds a new track when you finish listening to a song. 2010-11-20 18:49:54 +00:00
David Sansome 759e97c275 Fix a bug where smart playlists wouldn't get removed correctly 2010-11-20 15:47:44 +00:00
David Sansome 353485e34e Better smart playlist icons 2010-11-20 15:29:42 +00:00
David Sansome 69db0e0ee4 Don't draw the library view at all if there are no songs in the library 2010-11-20 14:59:11 +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 ffdfc0ed34 Make deleting smart playlists work 2010-11-20 12:27:19 +00:00
David Sansome 63d2496784 Add a couple more default smart playlists. Fixes issue #971 2010-11-20 12:05:51 +00:00
David Sansome bb1c2b22ef Create, edit and delete smart playlists from the context menu 2010-11-18 23:08:37 +00:00
David Sansome 1f267881fe Put all smart playlist classes in their own namespace 2010-11-18 20:19:33 +00:00
David Sansome d9ed5c91ef Add smart playlist context menu items 2010-11-18 19:34:04 +00:00
David Sansome 4750c19d00 Remove the playlists tab and add a smart playlists section to the library view instead 2010-11-17 20:21:04 +00:00
David Sansome 9e20ef13bc Automatic scoring. Thanks Arnaud Bienner. Fixes issue #141 2010-11-01 21:15:52 +00:00
David Sansome 2a480f7b1c Somewhat-working smart playlist preview widget for the wizard. Still needs a lot of polish. 2010-10-29 18:41:49 +00:00
David Sansome 30afc130a4 Start of some work for smart/dynamic playlists. Only simple generators based on sql queries are supported, and the UI still needs polish. 2010-10-24 15:38:12 +00:00
David Sansome bcddb2317a Allow song ratings to be set by clicking on the stars in the playlist 2010-10-17 21:56:19 +00:00
David Sansome f706c21be6 Add a library backend function to set song ratings 2010-10-17 20:53:48 +00:00
David Sansome 0a42a9efb5 Don't ever restructure or reset the library model when statistics on a song are changed. 2010-10-17 19:34:45 +00:00
David Sansome a13e0ba3f3 Increment play and skip counts when playing or skipping songs from the library 2010-10-17 19:27:31 +00:00
David Sansome 56d72a00bf Try the next UI experiment - wide buttons down the side like Qt Creator 2010-10-01 19:27:01 +00:00
David Sansome 8c0b17c000 Ooops, perhaps the code to stop devices from auto-expanding would work better in the DeviceView class. 2010-09-18 14:29:43 +00:00
David Sansome 3f926f0cca Don't recursively expand (and connect) devices in the device view. Fixes issue #610 2010-09-18 13:55:04 +00:00
David Sansome ce1e7f73df Fix the artist and album library icons in Qt 4.7 2010-09-18 13:35:52 +00:00
David Sansome 7419c52bec Fix a path handling problem that caused the OK button to be greyed out when copying files to a device on Windows. Also show an error message when trying to copy songs that can't be copied (like streams). Fixes issue #750 2010-09-15 20:00:17 +00:00
John Maguire 214d77bc0e Fix test and fix song loader infinite loop. 2010-08-31 21:24:57 +00:00
David Sansome 1453d264dd Fix an assert when setting the library grouping to None 2010-08-30 16:37:29 +00:00
David Sansome ce0e468d75 Sort items in the library view under the correct divider when they have no unicode decomposition.
Update issue #672
Can you try this and see if it fixes it for you?
2010-08-30 16:20:04 +00:00
David Sansome 5a616cf40a Fix the organise dialog 2010-08-30 15:40:53 +00:00
David Sansome 2a160bee5f Pass the list of songs into the organiser from the library 2010-08-30 15:28:55 +00:00
David Sansome 1311a29dfa Fix some weird behaviour in the library view 2010-08-30 14:03:32 +00:00
David Sansome 3cf2b5ba47 Revert to the old type-to-scroll behaviour in the library view 2010-08-30 10:31:44 +00:00
David Sansome 2881b6b6b2 Clean up this code a bit 2010-08-29 16:58:22 +00:00
David Sansome d337ffc6e4 Group things in the library model by the unicode decomposition of their
first character, and do a locale aware sort.  Fixes issue #668 (again).
2010-08-29 16:46:28 +00:00
David Sansome eb65c06b24 Make pressing enter in the library filter widget add the search results to the playlist. Also make the cursor keys work when the filter widget is focused. Fixes issue #641 2010-08-29 12:15:30 +00:00
John Maguire d87733b005 Use Mac search widget for library & magnatune. 2010-08-28 19:29:20 +00:00
David Sansome 8306ddc90b Convert paths to native windows seperators in many places throughout the UI 2010-08-28 19:07:23 +00:00
David Sansome d980fd5ff8 Remove the pointless CreateInThread method from BackgroundThread and instead move objects to the right thread after creation. 2010-08-27 18:36:57 +00:00
David Sansome 35708a09c5 Lazy load more context menus and dialogs 2010-08-27 16:15:54 +00:00
John Maguire b450545a63 Disable focus rectangle on Mac for playlist & library views. 2010-08-26 12:22:13 +00:00
David Sansome c0ea45a9c9 Show an error dialog when copying or deleting files failed. 2010-08-14 11:51:50 +00:00
David Sansome 5e00eb11de Pass shared_ptrs to music storage things to the organiser thread so they won't get deleted if the device is disconnected 2010-08-09 21:50:46 +00:00
David Sansome 1cbd0af8fb Fix compilation with gcc 2010-08-04 08:17:31 +00:00
John Maguire 36264e0b2b Separate out UniversalEncodingHandler. 2010-08-03 19:29:49 +00:00
John Maguire e67f9a66c8 Load playlist in separate threads on startup. 2010-08-03 18:57:17 +00:00
David Sansome a207a3def5 Make pressing return in the library view the same as double clicking 2010-07-31 17:29:52 +00:00
David Sansome 51b5e7d607 Fix an assert when the library is grouped by file type 2010-07-31 16:13:50 +00:00
David Sansome 1f2b69c6bc Add support for deleting files from the filesystem, devices, and ipods. 2010-07-31 16:12:16 +00:00
David Sansome 5a1fe772ac Fix the ordering of tracks in the library view, again 2010-07-31 15:00:31 +00:00