Commit Graph

149 Commits

Author SHA1 Message Date
Kevin Cox 9cc7169904 Used kNsecPerSec for milliseconds in a second. 2013-05-30 08:28:21 -04:00
Kevin Cox 7381f381e6 Added --restart-or-previous option.
Fixes bug #3524.
2013-05-29 15:27:07 -04: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
David Sansome 73792668eb Check for the length of a track being <= 0 instead of == 0 when seeking. 2012-07-15 12:17:44 +01:00
David Sansome 497928d693 Don't try seeking a song if there's no song playing, or the song isn't seekable.
Fixes issue 3041
2012-07-10 15:00:47 +01: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
Arash Abedinzadeh 36903ee17f Fix missing boundary check for PlayTrack DBus method.
Fixes issue #2914
2012-05-07 12:26:13 +02: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
David Sansome 0335d57a0f Improve pipeline buffering: on an underrun event playback will now pause until the buffer is completely full. Fixes audio stuttering on when listening to radio streams on slow networks. 2012-01-23 15:01:39 +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 be4e70a9b1 Don't crash when using Player::PlayAt to play an index that doesn't exist. Fixes issue 2330 2011-11-27 22:24:38 +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
David Sansome 7444f437aa Fade out tracks properly when changing between two URLs that have registered URL handlers (like spotify and grooveshark). 2011-11-27 16:35:36 +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
Arnaud Bienner 4143823870 Get GrooveShark songs' length (give the ability to seek through stream). markStream and markSongComplete, as resquested by GrooveShark 2011-10-02 12:05:56 +02:00
David Sansome 53e175e503 When stopping due to "Stop after this track", set the current song to the one after, so when the user presses Play it plays the next song instead of the last one again. 2011-09-27 23:31:15 +01:00
David Sansome 2cbe90c2e5 When playing a last.fm stream, don't scrobble the next item in the playlist in between each track of the last.fm stream. Fixes issue 1943 2011-08-28 02:59:19 +01:00
David Sansome ae4cfeff1c Always assume Icecast-style stream metadata is in the "Artist - Title" format, as this seems more common. Remove the hacks for soma.fm and stations from the icecast list. Fixes issue 1035 2011-07-26 15:56:19 +01:00
David Sansome 9fadf57acc Revert "Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs."
This reverts commit 5234798a7f.
2011-07-23 15:32:12 +01:00
Tyler Rhodes ded8e5f6f0 Refactor "Radio" files into "Internet" files. 2011-07-15 13:27:50 +00:00
Andrea Decorte 527171fadb Toggle visibility for Pretty OSD by command line and global shortcut.
Fixes issue 1344
2011-06-05 08:21:17 +00:00
John Maguire 54a79f0665 Always pause on --pause.
Fixes issue #1599
2011-05-26 15:40:53 +00:00
David Sansome 5234798a7f Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs. 2011-05-21 10:43:25 +00:00
David Sansome 06852aaeb7 Show spotify search results in a separate playlist tab rather than in a tree in the sidebar. 2011-04-28 17:50:45 +00:00
David Sansome 255682b057 Remove the special load behaviour from Playlist Items and instead add URL Handlers that do the same job but for all playlist item types. 2011-04-28 15:10:28 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
David Sansome 8f4c1dbbf6 When doing gapless playback, fix a bug where the TrackEnded signal would be emitted too early, before the track had actually ended. This caused the song after the current song to get scrobbled and its playcount increased. Fixes issue 1771 2011-04-17 14:11:37 +00:00
Andrea Decorte 5d8f1fe872 Added scrobbling button in main window and a global shortcut for
toggling it. Fixes issue 1090
Improved last.fm error handling
2011-04-07 16:25:52 +00:00
David Sansome e5bc2be85f Add some more debugging output for deciding when to scrobble a song 2011-03-29 21:12:49 +00:00
David Sansome 7d6eee590a Don't force the track to stop at the end of a section unless it's part of a cue sheet. Fixes issue 1610. Fixes issue 1636. 2011-03-28 22:11:07 +00:00
John Maguire b767c1ccf2 Fix display of stopped stream when stopped via play/pause shortcut. 2011-03-21 17:07:15 +00:00
John Maguire eceb4164c1 Add more trayicon mouse wheel actions.
Update issue 1597
Status: Fixed
Thanks for the patch!
2011-03-21 15:15:17 +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
David Sansome 85502e5516 Don't crash at the end of the last song on a playlist 2011-03-14 20:04:33 +00:00
David Sansome cb275f318f Add an option to disable automatic crossfading between tracks on the same album or from the same cuesheet. Fixes issue 1479 2011-03-13 18:37:46 +00:00
David Sansome f22f361f66 Revert "Do not cross-fade if two songs of the same CUE file are consecutively being played"
This reverts r2921.
2011-03-13 18:37:39 +00:00
Paweł Bara c8c394d200 don't push new URL into engine in the CurrentMetadataChanged slot - send it the beginning and end markers only
this means that Clementine still skips broken songs while at the same time fixes issue #1565
2011-03-12 20:20:13 +00:00
Paweł Bara e25e9efffc Clementine now skips broken streams (radios for example). At least I hope it always does. ;) Fixes issue #1562. 2011-03-12 13:24:30 +00:00
Paweł Bara 8722e00103 Clementine now skips songs that don't exist anymore (updates issue #250) 2011-03-10 18:01:35 +00:00
David Sansome 2cb8b8dba7 Stop cue sections at exactly the right place, and move seamlessly between consecutive sections of the same file. Fixes issue #1233. Fixes issue #1419. 2011-03-06 16:35:47 +00:00
Andrew Udvare 4fe36ad7b3 Do not test if both songs don't have CUE files 2011-03-06 03:31:04 +00:00
Andrew Udvare dabeab9360 Do not cross-fade if two songs of the same CUE file are consecutively being played 2011-03-06 03:15:28 +00:00
David Sansome 8c691d2b3e Use constants instead of "1eN" literals for converting between time units. 2011-02-14 19:34:37 +00:00
David Sansome f801252e3d Refactor Player and PlaylistManagers to have interfaces and add more MPRIS1 tests 2011-02-13 18:37:45 +00:00
David Sansome e18409ebf4 Factor out a PlayerInterface from Player, and use it in MPRIS1 and MPRIS2 2011-02-13 18:36:29 +00:00
David Sansome 507c5e2632 Change the fields in Song from seconds to nanoseconds 2011-02-13 18:34:30 +00:00
David Sansome 37618dae96 Use nanoseconds instead of seconds or milliseconds throughout the Player and Engine. 2011-02-13 18:29:27 +00:00
Paweł Bara 1c1d9551bb fixes issue #553 ('seek forward' and 'seek backward' hotkeys worked wrong) 2011-01-19 16:05:16 +00:00
Paweł Bara 55683887c0 implemented Seeked signal for MPRIS 2 2011-01-06 21:08:11 +00:00
John Maguire bde7902686 Refactor some initial setup out of MainWindow::MainWindow(). 2011-01-04 11:33:22 +00:00
Paweł Bara bbe97b00a2 make engine 'multiple-section songs' aware -> you should now be able to play your .cue related music 2011-01-02 18:53:45 +00:00
David Sansome e3a9bd7b26 Make DBUS bits optional on Linux. Thanks Nickollai. Fixes issue #1177 2010-12-26 13:38:35 +00:00
David Sansome 6737b8a5c2 Always use the gstreamer engine, remove xine, vlc and phonon engines. 2010-12-26 13:01:35 +00:00
David Sansome 843cd92615 Increment play counts even if the song is shorter than 30 seconds. Fixes issue #1172 2010-12-25 13:37:45 +00:00
Arnaud Bienner ccd26b4002 Removing trackSkipped when stopping: even if Amarok wasn't acting like this, in my opinion, a 'stopped' track should not be considered as 'skipped' 2010-12-21 00:38:07 +00:00
David Sansome 28fdb147d8 Make last.fm optional. Thanks volkov0aa. Fixes issue #49 2010-12-18 17:28:02 +00:00
Paweł Bara 32f9825794 global shortcuts for rating songs (Fixes issue #1089)
renaming *index* methods in Playlist to *row*
2010-12-17 00:21:20 +00:00
David Sansome 01cccc0468 Cache the last emitted state from the engine to fix some invalid values being emitted over DBUS while a last.fm stream is buffering. Fixes issue #374 2010-12-11 13:38:51 +00:00
Arnaud Bienner 6b35eea469 Moving emitTrackSkipped from Next to PlayAt, to handle cases where user doesn't use Next button to skip a track. Also emit TrackSkipped in Stop if track was not ended 2010-12-10 00:11:38 +00:00
David Sansome 44dc05a87a Don't stop the track when it's about to end if crossfading is enabled but fadeout is disabled. Fixes issue #1040 2010-12-07 20:29:13 +00:00
Paweł Bara 9f3e5773fb QT tooltip now includes cover art and is generally prettier (updates issue #125)
ArtLoader is now available to every object, even if MPRIS is off
2010-12-05 23:41:41 +00:00
David Sansome fc15d66321 Remove a lot of the old MPRIS code from the Player class, and fix a couple of MPRIS2 bugs 2010-12-05 11:39:06 +00:00
David Sansome 987dd8c57a Refactor and fix most of the MPRIS code. Fixes issue #374 2010-12-04 22:27:58 +00:00
John Maguire c625acfd87 Refactor background streams.
Add volume control for background streams and infrastructure for custom streams.
2010-12-03 13:53:43 +00:00
Paweł Bara eb41dea464 the title and artist of the currently playing song are now the title of Clementine's window (Fixes issue #779)
better unmute behavior if Clementine was muted before it was closed (Fixes issue #983)
2010-11-23 19:38:15 +00:00
John Maguire c2c3c8145b Add basic icecast directory support.
Fixes issue #601
2010-11-22 16:57:26 +00:00
David Sansome 4356adb9e3 Fix the windows and mac builds 2010-11-21 15:46:43 +00:00
David Sansome 626c75cd45 Add MPRIS2 and gnome sound menu support 2010-11-21 15:13:26 +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 ed1a25693c Add missing licenses to debian/copyright, and add copyright information to each source file 2010-11-20 13:27:10 +00:00
John Maguire 29d1e9e7cb Add bizarrely named "mtime" to MPRIS.
Fixes issue #893
2010-10-19 11:20:50 +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
John Maguire 4c186f15dc Add more fields to MPRIS GetMetadata 2010-09-29 17:03:32 +00:00
David Sansome a776758ad1 Clear the "stop after this track" marker after stopping after this track. Fixes issue #552 2010-08-26 19:29:55 +00:00
John Maguire b1a96fd54d Fix encoding of tags we get from gstreamer. 2010-08-09 13:12:54 +00:00
John Maguire 95bb4eccea Unpack artist/title from SomaFM streams correctly.
Fixes issue #497
2010-07-15 12:59:14 +00:00
John Maguire 41ab99e62e Generate Hypnotoad rather than streaming it. 2010-07-14 11:16:56 +00:00
David Sansome d612e8468d Make the mute shortcut toggle 2010-07-13 22:22:04 +00:00
John Maguire d03bdda5f7 Fixes issu...
,'``.._   ,'``.
              :,--._:)\,:,._,.:       All Glory to
              :`--,''   :`...';\      the HYPNO TOAD!
               `,'       `---'  `.
               /                 :
              /                   \
            ,'                     :\.___,-.
           `...,---'``````-..._    |:       \
             (                 )   ;:    )   \  _,-.
              `.              (   //          `'    \
               :               `.//  )      )     , ;
             ,-|`.            _,'/       )    ) ,' ,'
            (  :`.`-..____..=:.-':     .     _,' ,'
             `,'\ ``--....-)='    `._,  \  ,') _ '``._
          _.-/ _ `.       (_)      /     )' ; / \ \`-.'
         `--(   `-:`.     `' ___..'  _,-'   |/   `.)
             `-. `.`.``-----``--,  .'
               |/`.\`'        ,','); SSt
                   `         (/  (/
2010-07-12 19:51:23 +00:00
David Sansome 91f801639a Unpack "Artist - Title" from icycast metadata. Fixes issue #425 2010-07-10 19:51:34 +00:00
David Sansome e0d7b7021b Change the rain URL to one on clementine-player.org so we can redirect if the actual URL changes 2010-06-18 13:35:17 +00:00
David Sansome f162d9d620 Add a SongLoaderInserter that loads a list of URLs and inserts them into a playlist when it's done. Wire up everything in the GUI that loads URLs or filenames to use the new SongLoader. 2010-06-15 18:24:08 +00:00
John Maguire 73a381fe89 Rain! 2010-06-14 20:00:17 +00:00
David Sansome 083eb716a7 Crossfade magnatune streams properly 2010-06-12 20:22:58 +00:00
David Sansome 40bb827fcd Make all the source files a single cmake target again. 2010-06-08 22:39:31 +00:00
John Maguire 2830ee1a62 Fix MPRIS pause behaviour.
Update issue 374
Pause/unpause should be fixed now.
2010-06-08 16:00:09 +00:00
David Sansome 3dad151608 Undo part of r1004, thanks John 2010-05-31 21:24:54 +00:00
David Sansome d760721f61 Make this all a bit more sane 2010-05-31 20:59:13 +00:00
David Sansome 99cea19994 Create engine_ in the initialisation list. 2010-05-31 20:51:29 +00:00
David Sansome 5d272a89ee Codereview comment from r1000 2010-05-31 20:24:05 +00:00
David Sansome 3365c7c217 Fix a few memory leaks 2010-05-28 19:51:51 +00:00
John Maguire 722981e71d Stop streams on PlayPause. 2010-05-27 13:17:28 +00:00
David Sansome 119c6fbd6e Refer to playlists by ID rather than index in the tabbar, so they can be moved around 2010-05-21 10:29:17 +00:00
David Sansome 1572124962 Seperate last played values for each playlist 2010-05-20 22:30:55 +00:00
David Sansome e515724bf7 Basic support for multiple playlists. Not everything works yet 2010-05-20 21:21:55 +00:00
David Sansome 33614533d8 Fix playlist wrapping into a last.fm stream, for real this time. 2010-05-19 13:08:52 +00:00
David Sansome a292677320 Refactor the way Player gets tracks to play from RadioPlaylistItems. They can now return synchronously with a URL, asynchronously via a signal, or with an error. This properly fixes the problem of preloading a last.fm stream when the track before is about to end. 2010-05-18 20:43:10 +00:00
John Maguire af3f8bcdfe Preload the next item in the playlist correctly when it's a radio station. 2010-05-18 14:30:55 +00:00
David Sansome 1aee5e4667 Split all the source files up into seven new directories. 2010-05-10 21:50:31 +00:00