Commit Graph

117 Commits

Author SHA1 Message Date
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Jonas Kvinge d09c27f719 Remove extra ';' 2019-11-10 00:30:18 +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 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
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
Santiago Gil 00c96f7334 Consider depth levels in path sorting (#5445) (#5573) 2016-12-31 13:22:10 +00: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
Chocobozzz 5675091816 Add error message if editing tag from playlist fails 2015-12-20 19:07:15 +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
Eduardo Sánchez Muñoz acef48df5d Support showing original year tag on the playlist. 2015-06-30 19:25:38 +02: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
Arnaud Bienner 78804b12c6 Use a save dialog option instead of quick change menu.
This is less confusing IMO. The dialog will shown up only if users decided to in the preferences, so that will not bother users who don't need this.
This reuses lot of things from Alan contribution from #4484
2014-10-07 00:29:46 +02:00
Arnaud Bienner c35e573637 Missing things from previous commit 2014-10-07 00:29:46 +02:00
Arnaud Bienner f6e6d3b937 Revert "Finished the changes to the quick change menu. Everything should work."
This reverts commit a468085c3a.

Conflicts:
	src/playlist/playlistcontainer.cpp
	src/playlist/playlistcontainer.h
	src/ui/behavioursettingspage.cpp
2014-10-07 00:29:46 +02:00
ppkt 43a6740b48 Remove unavailable items from playlist 2014-08-24 10:44:27 +02:00
Gavin Howard a468085c3a Finished the changes to the quick change menu. Everything should work. 2014-08-15 18:52:01 -06:00
Gavin Howard 5b7819f14d Added UI and QSettings support for playlist metadata and path types. 2014-08-13 22:47:25 -06:00
Helder Martins 0c2d4e9f1c Fixed a minor issue where the playlist wasnt updating the queue order, when a track was dequeued using the ctrl-d shortcut 2014-07-23 00:15:06 +01:00
John Maguire 24a4cff807 Merge pull request #4288 from sundrythoughts/rating-optimization
Increase performance of mass rating changes.
2014-05-20 12:42:39 +01:00
Mark Furneaux c890af6306 More elegant solution to last commit
set_current_row now takes optional parameter "is_stopping" for when auto stop
is enabled.
2014-04-25 22:45:25 -04:00
Joseph Freeman 156728390d Increase performance of mass rating changes. 2014-04-25 19:37:46 -04:00
Mark Furneaux 416d06bb06 Fix stop after track
Stop after track would cause now playing widget, OSD, and last.fm
scrobbler to change to next track after stopping. This patch prevents
set_current_row() from firing an event which triggers the track change.
2014-04-25 14:30:31 -04:00
John Maguire 192b60d965 Use nullptr as parent parameter default everywhere 2014-02-10 16:03:54 +01:00
John Maguire 3323c2d094 Convert all instances of foreach() to a C++11 for
find ext src -name '*.cpp' -exec \
    sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01:00
Dave Sansome 89369029ab Merge branch 'skip_track' of https://github.com/asiviero/Clementine into asiviero-skip_track
Conflicts:
	src/playlist/playlist.cpp
	src/playlist/playlistitem.h
	src/ui/mainwindow.cpp
2014-02-08 13:19:23 +11:00
John Maguire bebd781fdf Reformat all non-3rd-party C/C++/Objective-C++.
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
 -style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
asiviero c817431593 Greying out song and added verification to next on album mode 2014-01-20 22:35:01 -02:00
asiviero 1c0a221563 Added skip track feature 2014-01-20 22:10:16 -02:00
Arnaud Bienner 5e6821dead Add a 'favorite' widget to playlist tab, and keep in playlistlist container only favorite playlists, instead of all playlists. 2013-05-11 23:18:03 +02:00
David Sansome dac22dbd72 Explicitly cast scoped_ptrs to bool. Fixes issue 3570. 2013-04-15 21:41:54 +10:00
pie.or.paj 18e8d6ca20 - Added basic playlist management (add and remove tracks) in network remote. 2013-04-13 11:57:05 +02:00
David Sansome d89954ae31 Fix style, hide the new columns by default, and move the new columns to the end of the enum 2013-03-10 18:16:14 +11: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 9fae3881ed Add a new "Playlists" tab to the sidebar that contains all the playlists created by or imported into Clementine. The tab bar now contains only "open" playlists - closing a tab closes the playlist without deleting it.
Update issue 1811
Added a Playlists tree view to the sidebar.
2012-10-30 23:04:22 -07:00
Anand 1aec4a4c7f When pressing the Previous button in Repeat Track mode, go to the previous track instead of repeating the current one. Fixes issue 2897 2012-08-26 13:11:28 +01:00
cornicis dcab14e5fe added removeDuplicateSongs() function to playlist.cpp and added this action to the playlist-menu
Fixes issue #21
2012-07-06 11:46:04 +02:00
Robbert Krebbers 3b186c698d Allow playlist sorting and shuffling to be undone. Fixes issue 654.
Also:
  - When sorting a dynamic playlist, only songs after the currently playing track are sorted.
  - When moving songs in a dynamic playlist, recolor them if moved across the current track.
  - When playing a future song in a dynamic playlist, move it to the current location.  Fixes issue 1140
2012-06-09 14:33:51 +01:00
David Sansome a2feaa61e7 Create and render moodbars in background threads to avoid blocking the UI 2012-05-27 18:53:57 +01:00
David Sansome 19c3e1d5ec Add a Mood column to the playlist 2012-05-27 16:46:16 +01:00
David Sansome 9be641ee87 The external tagreader mostly works now:
* Make TagReaderClient a singleton until it's easier to pass dependencies around
 * Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted
 * Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore
 * Add blocking versions of all TagReaderClient methods
 * Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before
2012-01-07 00:26:07 +00:00
John Maguire bcf9475f2b Add a source column to the playlist view with appropriate icons. 2012-01-04 11:56:09 +00:00
David Sansome da532ef3ca Make manual track changes ignore the "repeat track" setting. Fixes issue 2426 2011-11-27 21:02:37 +00:00
Arnaud Bienner fdad2bd706 Make the async load of folders thread-safe 2011-11-18 21:55:54 +01:00
David Sansome 63fdf11cd8 Keep the playlist column alignment setting in PlaylistView instead of in each individual Playlist, ensuring all playlists share the same column alignments and there's only one place to save/restore them.
Fixes issue 1795
2011-11-12 16:12:51 +00:00
Arnaud Bienner 48db13b353 Make Playlist's InformOfCurrentSongChange public and use it when updating item instead of using UpdateItems (which will create a new item) 2011-11-11 02:42:48 +01:00
HyperQuantum 94a7ceb898 Add an "Expand" button to add more tracks to a dynamic playlist. Fixes issue 1268 2011-11-10 11:21:41 +00:00