Commit Graph

223 Commits

Author SHA1 Message Date
Keshav Kini 68d375c43c Use effective album artist for Repeat Album logic
When there is album artist information available for a track, the user would
probably expect that "Repeat Album" should cycle through all songs with the same
album artist and album title, not only all songs with the same artist and album
title.
2020-07-20 10:45:49 +01:00
Jim Broadus 9455a3ef79 Use IsLocalLibraryItem instead of comparing type string 2020-06-23 11:06:06 +01:00
dmdmdm a63a37a7ab Changed to translator comment 2020-05-28 19:40:57 +01:00
dmdmdm 32cb04f26b Change text for Original Year 2020-05-28 19:40:57 +01:00
Jonas Kvinge 5eb32b33c1 Replace QSet::toList() with QSet::values() 2020-01-05 00:58:33 +01:00
Jonas Kvinge d4fab4a2ea Merge remote-tracking branch 'upstream/master' into qt5-update 2018-11-11 22:46:07 +01:00
Victor Parmar f4d84bc05a Split last.fm scrobbling and play count calculation, closes #5771 (#6179)
Also add a configurable option to increment the play count if song has played for a shorter duration.
2018-10-20 12:57:49 +01:00
Amish Naidu 107e945872 Convert uses of QtAlgorithms to std:: algorithms 2018-10-09 19:17:54 +01:00
Amish Naidu 34e007f2b8 Port 'Allow ignoring prefixes when sorting playlist' to master (#6166)
* Allow ignoring prefixes when sorting playlist

This introduces new configuration options which allow you to ignore
prefixes while sorting the playlist on album, artist and titles.
Prefixes are configurable, default are "a" and "the".

* Change QStringLiteral to QString for compatbility with Qt 4.8
2018-10-08 16:24:36 +01:00
Amish Naidu fb00835468 Allow ignoring prefixes when sorting playlist
This introduces new configuration options which allow you to ignore
prefixes while sorting the playlist on album, artist and titles.
Prefixes are configurable, default are "a" and "the".
2018-10-05 10:56:49 +01:00
Chocobozzz 16b4f9a991
Merge remote-tracking branch 'upstream/master' into qt5 2018-05-14 08:25:27 +02:00
Mark Furneaux d28a318437 Clang format 2018-04-14 16:57:06 -04:00
Mark Furneaux 3626d84964 Add play next from library 2018-03-18 22:44:00 -04:00
Chocobozzz fc517ce7a5 Merge remote-tracking branch 'upstream/master' into qt5 2017-06-05 21:28:05 +02:00
Grace Dolphy 52f1982353 Delete Undo Fix Attempt - Should Solve Issue #5701 Using Clementine to delete a song from disk should not be added to the undo stack (#5702)
* Fix delete functionality. Skips to next song if deleted song is also currently playing.

* Added in a bool to determine if the song being deleted is meant to be deleted from the disk or just from the playlist. Took advantage of the unused variable located in removeRows to distinguish between the two options. No longer adds delete from disk to the undo stack, and deleting from the playlist goes to undo stack as it should.

* Added in a bool to determine if the song being deleted is meant to be deleted from the disk or just from the playlist. Took advantage of the unused variable located in removeRows to distinguish between the two options. No longer adds delete from disk to the undo stack, and deleting from the playlist goes to undo stack as it should.

* Update mainwindow.cpp

* Formatting Changes

* Update playlist.cpp

Simplified condition statement.

* Added in a missed boolean for RemoveSelected

* Update playlistview.cpp
2017-04-18 14:29:25 +01:00
Florian Bigard 69b2a832db Merge branch 'master' into qt5 2017-01-18 15:57:07 +01:00
Santiago Gil 00c96f7334 Consider depth levels in path sorting (#5445) (#5573) 2016-12-31 13:22:10 +00:00
Chocobozzz 18a89f78a9 Merge remote-tracking branch 'upstream/master' into qt5 2016-10-07 14:30:09 +02:00
Ilya Selyuminov d9b3a9302a Update playlist virtual order after sorting (#5436) (#5466) 2016-08-26 08:59:26 -05:00
santigl 9ddd630b3b Ignore case in path comparison (#5445) 2016-07-24 16:15:59 -03:00
John Maguire a9ba0f3bf2 Filter out bad wikipedia images better and support other locales better.
#5416
2016-06-28 16:28:20 +01:00
Chocobozzz 0aa3405274 Merge remote-tracking branch 'upstream/master' into qt5 2016-05-09 12:46:08 +02:00
Alex 11670e1760 Fix playlist behaviour (#5330)
* Do not restore playback state on application start if overwritten by command line options

This also fixes unwanted pausing if a new instance is started with commandline URL combined with playback restore.
Note that the actual buggy code (MainWindow::ResumePlayback()) is not fixed here.

* Fix for commandline URLs for new instances are always appended to playlist.
2016-04-12 15:53:43 +01:00
Victor Dodon 5b066991ab playlist: call InformOfCurrentSongChange only after updating the virtual index
Calling InformOfCurrentSongChange before updating the virtual index results in
sending the CanGoNext and CanGoPrevious notifications with the wrong values.
2016-03-10 21:20:53 +00:00
Chocobozzz e6e189967d Merge remote-tracking branch 'upstream/master' into qt5 2016-02-29 18:03:02 +01:00
Chocobozzz 5675091816 Add error message if editing tag from playlist fails 2015-12-20 19:07:15 +01:00
Chocobozzz ff7026c9fe Merge remote-tracking branch 'upstream/master' into qt5 2015-12-13 20:05:12 +01:00
John Maguire f300946c81 Remove most usages of QFutureWatcher 2015-11-27 14:28:12 +00:00
John Maguire 3cc9c1e446 Remove ModelFutureWatcher 2015-11-26 19:02:08 +00:00
Mark Furneaux 9b42ee50ef Set next track as current when removing tracks
Fixes #5031
Attempt to set the song after the deleted tracks as the current so that they will play next rather than the beginning of the playlist.
2015-11-23 01:48:48 -05:00
Chocobozzz 631a6cdabd Merge branch 'master' into qt5 2015-09-16 17:40:54 +02:00
Santi 5518dc8250 make format 2015-08-01 14:45:04 -03:00
Santi 975b277bdb Sort by album considers discs and tracks 2015-07-31 21:38:06 -03:00
Eduardo Sánchez Muñoz acef48df5d Support showing original year tag on the playlist. 2015-06-30 19:25:38 +02:00
Mark Furneaux f4b7c22bc2 Revert "Revert "Add track intro mode""
This reverts commit ece262f7f4.
2015-06-15 16:27:40 -04:00
John Maguire ece262f7f4 Revert "Add track intro mode" 2015-06-15 15:49:08 -04:00
Mark Furneaux b57cebbf2d Add track intro mode
This repeat mode plays the beginning of each track, good for quickly getting a feel for a new album for example.
2015-06-14 13:32:58 -04:00
Chocobozzz f4ca305fd7 remove useless qhash_qurl 2015-06-04 10:37:34 +02:00
kiselev-dv f7ebeb53da Stop after each track 2015-05-22 18:11:58 +05:00
John Maguire e899598967 Revert "Add stop after each song repeat mode" 2015-05-22 11:33:59 +01:00
John Maguire 06f053e5a6 Merge pull request #4850 from kiselev-dv/master
Add stop after each song repeat mode
2015-05-22 11:29:48 +01:00
kiselev-dv aba271ed6a format code 2015-05-20 17:34:37 +05:00
Mark Furneaux fde8ae0f30 Add constants and variable units
Scrobble point constants are now defined as the minimum and maximum time last.fm requires for a scrobble to be valid.
2015-05-18 13:22:55 -04:00
Mark Furneaux 99dffe216c Fix Last.fm scrobbling after seek
Fixes #4836
Last.fm defines a scrobble should be sent if:
-the track is longer than 30 seconds.
-the track has been played for at least half its duration, or for 4 minutes (whichever occurs earlier.)

Clementine has treated this as seconds from the start of the track, and if any seeking occurs, it nullifies the scrobble.
This IMO is incorrect. If I skip the first 10 seconds of a song, but listen to the rest (still meeting the time requirements),
I should still be able to scrobble the play. This change moves the scrobble point with every seek, requiring continuous playback
from any point that satisfies the time criteria.
2015-05-18 12:53:07 -04:00
kiselev-dv 864d4162d3 Add stop after each song repeat mode 2015-05-12 14:05:46 +05:00
Mark Furneaux c4daa227a7 Do not remove currently playing track when repopulating a dynamic playlist 2014-12-27 20:34:29 -05:00
Krzysztof Sobiecki fa9ea6ec5f Fix compilation with moved files in internet/ 2014-12-18 23:35:21 +01:00
Simeon Bird 09e839353e Speed up playlist restoring by moving sqlite query off main thread
The playlist fetching uses QtConcurrent to make the playlist on a
different thread (possibly concurrently for each item).
However, profiling reveals that the slow operation is fetching
the rows from the SQLite database, making this redundant.

Instead move the whole playlist loading, including the database access,
into a single function, and call that function in a different thread via
QtConcurrent::run.

This has the side effect of moving all the concurrent stuff from
PlaylistBackend into the callers.

kstartperf measures:

Before: 7.5s cold
        3.6 s warm

After: ~4.0 s cold
       3.5 s warm
2014-12-09 12:47:37 -05:00
Juan Luis Boya García 292fff7e3a Fix #4420: Previous track in dynamic random mix 2014-11-29 19:34:31 +01:00
Arnaud Bienner 7ac9e4c6d1 Fix a bug in InsertItems functions that makes Cdda tracks to not be saved/restored correctly when restarting Clementine 2014-10-26 17:08:12 +01:00