61 Commits

Author SHA1 Message Date
David Sansome
980d61a583 If we're not crossfading, keep the same pipeline when changing tracks and just swap out the gstreamer source - this should allow for completely gapless playback. 2010-05-08 17:39:12 +00:00
David Sansome
260fe95a93 Fix an infinite loop when a radio stream finishes 2010-04-30 15:29:33 +00:00
David Sansome
70565565c7 Don't reshuffle the playlist every time the user presses next 2010-04-29 23:30:24 +00:00
David Sansome
06aaaf15f5 Fix a crash when reaching the end of a playlist 2010-04-21 17:11:02 +00:00
David Sansome
3cc0ed361a Ignore useless metadata from gstreamer, and metadata that comes while the next track is preloading 2010-04-21 14:04:40 +00:00
David Sansome
910553b175 Gapless playback! 2010-04-21 13:55:30 +00:00
David Sansome
e014b67090 Add a "Stopped" notification that's different from "Playlist finished". 2010-04-19 13:01:57 +00:00
John Maguire
4948050327 Fix build without gstreamer.
Fixes issue #217
Thanks to christoph.gysin
2010-04-16 14:39:55 +00:00
David Sansome
dd86b60411 CMake variables and commandline options to allow multiple engines to be built. Thanks christoph.gysin.
Fixes issue #203
2010-04-15 12:39:34 +00:00
David Sansome
2a33954725 Codereview comments from r701 2010-04-14 22:36:28 +00:00
David Sansome
72cbf90689 Save the playlists in the background, and use shared_ptrs for all playlist items so they stay in scope after they've been deleted but while they're still being saved. 2010-04-14 22:05:41 +00:00
David Sansome
af07b5becd Store the playlist in the database. This is still quite slow. 2010-04-14 21:03:00 +00:00
David Sansome
9cec39ffac Don't seek outside the bounds of the song. See issue #95 2010-04-14 13:22:50 +00:00
David Sansome
aaa1ef8a7f Add a "seek by n seconds" commandline option, and make sure stopping and starting again from the commandline restarts the same track. See issue #95 2010-04-13 20:22:29 +00:00
David Sansome
c59c7ee0ec More commandline options. Fixes issue #95 2010-04-12 23:35:47 +00:00
David Sansome
d51c7444ab Fix some confusion with auto/manual track changes 2010-04-12 01:59:21 +00:00
David Sansome
e755868b74 Remember which track was being played last. Fixes issue #56 2010-04-12 00:40:03 +00:00
David Sansome
031752823c Add support for crossfading when changing tracks automatically 2010-04-11 23:52:16 +00:00
David Sansome
c4aa779728 Clean style of Engine::Base 2010-04-11 23:24:03 +00:00
David Sansome
23880b3cb5 Crossfading in gstreamer backend 2010-04-11 23:03:39 +00:00
David Sansome
8b678cba9a If the currently playing song was removed from the playlist, start from the beginning when playing the next track. Fixes issue #160 2010-04-11 15:13:39 +00:00
David Sansome
c7f4a091ed Let's give gstreamer another try... 2010-04-06 16:57:02 +00:00
David Sansome
1c5b6c6b05 Use the vlc engine on Windows 2010-04-05 15:50:53 +00:00
David Sansome
993a4f0e43 Experimental VLC audio engine 2010-04-04 20:45:03 +00:00
David Sansome
d5eb2297d2 Move the audio engines to their own directory 2010-04-04 17:50:11 +00:00
David Sansome
c0da64c6a2 Make sure the playlist gets reshuffled when the user manually changes track. Fixes issue #137 2010-03-30 00:51:00 +00:00
David Sansome
ef9780b44e Add a cmake option to use phonon even on unix. Also fix a strange bug with the phonon backend that stopped the track slider from working. 2010-03-30 00:38:32 +00:00
John Maguire
a64e5fb17e I <3 Qt. 2010-03-24 22:31:34 +00:00
John Maguire
ca774badc4 More bounds checking on dbus interface. 2010-03-24 22:29:17 +00:00
John Maguire
c00493223d Fix segfault when GetMetadata() is called when no song is playing. 2010-03-24 22:17:56 +00:00
John Maguire
b6e3c52f44 Fix comments from r482. 2010-03-24 21:46:00 +00:00
John Maguire
2e35831b0b Mac build fixes 2010-03-24 21:34:32 +00:00
John Maguire
f9972183c5 ifdef dbus stuff for X11 only. 2010-03-24 21:07:16 +00:00
John Maguire
a8a37264f7 Add MPRIS support (thanks Amarok ;-)
Fixes issue #29

Example command lines:
dbus-send --print-reply --dest=org.mpris.clementine /Player org.freedesktop.MediaPlayer.Play
dbus-send --print-reply --dest=org.mpris.clementine / org.freedesktop.MediaPlayer.Identity
dbus-send --print-reply --dest=org.mpris.clementine /TrackList org.freedesktop.MediaPlayer.GetCurrentTrack
dbus-send --print-reply --dest=org.mpris.clementine /TrackList org.freedesktop.MediaPlayer.GetMetadata int32:0
2010-03-24 20:58:17 +00:00
David Sansome
92c7eff0fb Don't scrobble a track if we've been skipping through it. Fixes issue #105 2010-03-24 14:21:26 +00:00
David Sansome
fa00ee971d Add license headers to all our source files 2010-03-23 23:11:46 +00:00
David Sansome
aee1cbb4fd Revert the multiple playlist commits until they can be cleaned up a bit. These are: r324, r326, r327, r328, r335, r336, r337, r338, and r339. 2010-03-10 00:04:04 +00:00
David Sansome
6f2119bce0 Fix a bug that meant the track progress slider was greyed out on the first song in a last.fm radio stream 2010-03-07 23:28:40 +00:00
Bartek Taczała
4773d7cadc Adding support for multiple playlists ( as in foobar ) 2010-03-05 10:55:37 +00:00
David Sansome
c5b1e2a0e3 Set the volume on the audio engine after it's finished loading.
Fixes issue #40
2010-02-27 16:47:31 +00:00
David Sansome
f8808baa1d Phonon on windows, xine on everything else 2010-02-21 21:55:03 +00:00
David Sansome
65ce08ae85 First go at a phonon engine 2010-02-21 20:49:38 +00:00
David Sansome
4b1be3d540 Show the length of streams 2010-02-04 17:24:01 +00:00
David Sansome
8eb42b5ab8 Shuffle playlist 2010-02-03 23:56:41 +00:00
David Sansome
b10bf1e40d Fix a race condition on startup, and a crash when trying to play a stream's next track 2010-02-03 23:12:21 +00:00
David Sansome
98f23c3ddc Use stream metadata 2010-02-03 22:20:31 +00:00
David Sansome
226bfb43ee Fix volume restoring 2010-02-03 22:05:39 +00:00
David Sansome
90f7e2f9d2 Load xine in a background thread 2010-02-03 21:48:00 +00:00
David Sansome
b0cad6cee9 Make the playback settings work properly 2010-02-03 16:51:56 +00:00
David Sansome
b4313e3410 Don't crash when doing stuff after clearing the playlist 2010-02-03 14:21:53 +00:00