Arnaud Bienner
88918d45c5
Update issue 1175:
...
Save rating and statistics in two distinct ways, and let users activate them separately in preferences.
2013-03-30 23:42:29 +01:00
Uwe Klotz
a6d3b48231
Extend tag support: performer, grouping
...
The transaction handling while upgrading the database schema had to be revised.
Furthermore some QSqlQuery statements needed to be finished properly.
Fixes issue 2556
2013-03-10 18:16:03 +11:00
David Sansome
2302b80d52
Fix some style issues
2012-10-27 16:30:13 -07:00
Tony Motakis
09580b6df2
Various artists node now will appear in any GroupBy level
...
With this patch, compilations will be grouped under Various artists not
only when Artist is used as the top most Group By setting, but also in
lower levels as well. For example the user can set the top level Group By
to 'Genre' and still get compilations organized separately under each genre
when using Artist or AlbumArtist for the second nested Group By level.
Fixes issue 2757
2012-10-27 16:30:13 -07:00
Tony Motakis
25685e7cba
Postpone CreateCompilationArtistNode() until PostQuery()
...
With the previous patch the Various artists node creation is oved to
RunQuery, which means that a later call to BeginReset() will delete it.
In this patch, we keep the logic deciding whether we need the node in
RunQuery(), but postpone the actual creation until PostQuery().
2012-10-27 16:30:10 -07:00
Tony Motakis
207225d620
HasCompilations() implementation local to the LibraryModel
...
Instead of relying on the backend to provide us with the information
of whether there are compilations in the whole of the library, we instead
look into the query we are currently working with for compilations. This
way we can be as granular as we want in the future.
This also means we now have to add the Various artists node at the time we
do the query with RunQuery() instead at BeginReset().
2012-10-27 16:30:08 -07:00
Tony Motakis
14eca258a2
Refactor duplicate code in LazyPopulate and ResetAsync
...
There is no reason why these need to reimplement the same thing;
put the common functionality in RunQuery() and PostQuery() and re use
the code. Less code paths to keep track of make it easier to implement
new features and fixes.
2012-10-27 16:30:05 -07:00
Ilya Kasnacheev
682acad53f
Preserve the current song in the library view when filtering. Fixes issue 2936
2012-08-26 13:36:44 +01:00
David Sansome
b427fc8a24
Merge branch 'globalsearch-tree'
...
Fixes issue 2238
Fixes issue 2241
Fixes issue 2368
Fixes issue 2375
Fixes issue 2843
Fixes issue 2872
Fixes issue 2938
2012-06-16 21:24:29 +01:00
David Sansome
21fbd40f9f
Don't try to initialise the library model until after the grouping settings have been read from the config. Fixes issue 3005
2012-06-16 20:54:08 +01:00
David Sansome
41fab25569
Auto-expand tree items and lazy load album cover art
2012-06-10 17:15:32 +01:00
David Sansome
9c36cfa199
Replace the global search widget with a "Search" view on the sidebar. Organise results in a tree automatically.
2012-06-10 16:36:15 +01:00
David Sansome
27a4bd426e
Cache album art in the library model between resets (to prevent flickering when filtering), and don't load art for the same album multiple times.
...
Fixes issue 2528
2012-06-02 14:52:30 +01:00
David Sansome
bacef04405
Refactoring: remove a couple of the AlbumCoverLoader instances and instead use a shared CurrentArtLoader.
2012-02-26 14:40:51 +00:00
David Sansome
48f15c9fc7
Refactoring: instead of passing individual pointers to useful core classes (like TaskManager or LibraryBackend) to each class that uses them, pass one singleton-like Application instance everywhere.
2012-02-26 14:40:51 +00:00
Alan Briolat
336750f15c
Treat "albumartist" as artist, not album
2012-01-29 15:47:15 +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
6d45415b00
Consistently use "Various artists" with a lower case "a"
2011-10-30 16:53:39 +00:00
Arnaud Bienner
f7859f591c
Adding CD devices in devices tab. Fixes issue 701.
2011-08-05 02:15:16 +02: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
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
Andrea Decorte
c6c4902d3f
Added two new options for date queries in smart playlists. Fixes issue
...
1141
2011-04-24 17:52:16 +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
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
Andrea Decorte
cfe6b9e652
Added option to hide dividers in library view. Fixes issue #1125
2011-03-05 15:20:27 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
ce1e7f73df
Fix the artist and album library icons in Qt 4.7
2010-09-18 13:35:52 +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
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
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
John Maguire
e67f9a66c8
Load playlist in separate threads on startup.
2010-08-03 18:57:17 +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
5a1fe772ac
Fix the ordering of tracks in the library view, again
2010-07-31 15:00:31 +00:00
David Sansome
a236861dfa
Option to group the library by file type
2010-07-31 14:14:03 +00:00
David Sansome
a21b7541e5
Sort items in the library model that don't have track/disc information in a more deterministic way
2010-07-31 12:50:00 +00:00
David Sansome
c35bd8779a
Make sure -1 and "" get stored in the database instead of NULL for song metadata. Thanks YellowOnion. Fixes issue #396 . Fixes issue #479 .
2010-07-24 15:13:09 +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
7f3c0b853a
Sort by album artist properly.
...
Update issue #408
Status: Fixed
Looks good, thanks!
2010-06-16 14:52:01 +00:00
David Sansome
9b713c2ed9
Add or load *all* selected library items, not just the one that you right clicked on. Fixes issue #366
2010-06-09 15:49:05 +00:00
David Sansome
c834a5f31f
Do the compilation processing in the database thread, and make everything lock on the database to ensure two threads don't access it at once.
2010-06-02 16:22:20 +00:00
David Sansome
4d57ccb41c
Use icons from the desktop theme where possible, fall back on oxygen.
2010-05-19 15:45:29 +00:00
David Sansome
1aee5e4667
Split all the source files up into seven new directories.
2010-05-10 21:50:31 +00:00