David Sansome
a2408f7c0e
Merge branch 'master' into gstreamer-1.2
...
Conflicts:
src/moodbar/moodbarloader.cpp
2014-09-21 19:39:27 +10:00
Arnaud Bienner
160b151652
Add seek ability to Spotify tracks.
...
This is functional but pretty hacky.
And, as noted in the comments, there is a small delay (depends, but usually several seconds) to have the seek taken into account. But IMHO it's better than nothing.
Fixes #2503
2014-09-14 02:15:58 +02:00
David Sansome
6bb81328e8
Merge branch 'master' into gstreamer-1.2
...
Conflicts:
ext/clementine-spotifyblob/mediapipeline.cpp
gst/moodbar/gstfftwspectrum.c
src/core/songloader.cpp
src/core/songloader.h
src/engines/gstengine.cpp
src/engines/gstenginepipeline.cpp
src/moodbar/moodbarpipeline.cpp
src/musicbrainz/chromaprinter.cpp
src/transcoder/transcoder.cpp
src/ui/mainwindow.cpp
src/visualisations/projectmvisualisation.cpp
2014-06-09 16:20:24 +10:00
Marcus Fritzsch
e3bea84bea
gstenginepipeline: make buffer min fill configurable
2014-04-02 11:54:14 +02:00
David Sansome
2d7be1502f
Get audio device names on OS X too.
2014-03-29 22:44:08 +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
John Maguire
56c949815b
First pass at Gstreamer 1.0 porting.
...
This at least compiles against gstreamer 1.2.
Things that work:
* Playing audio
* Automatically completing tags
Things that don't work
* Spotify
* Moodbar
Things I haven't tested
* Transcoding
2013-09-26 17:49:24 +02:00
David Sansome
246e0808d2
Emit EOS when the buffer timestamps go backwards, as well as when a DISCONT buffer arrives. Fixes issue 3721.
2013-06-08 14:31:29 +10:00
David Sansome
e7dcac4f15
When transitioning to a preloaded song, emit the EOS event at the time the
...
audio actually changes to the next song instead of when the src changes songs.
Fixes issue 3716
2013-06-04 22:17:44 +10:00
John Maguire
36975c41d2
Add stereo balance slider as part of equalizer.
2013-04-26 20:28:57 -07:00
Andreas
ec481d5874
Fixed issue 578: fade-in fade-out on (un)pause.
2013-04-22 21:42:04 +02:00
David Sansome
df21da786e
Increase the priority of streaming threads on OS X to reduce audio stuttering a bit.
...
Fixes issue 3275
2012-11-18 11:06:46 +11:00
David Sansome
5984aecbb8
Make the spotify blob send 5 seconds of audio ahead of the clock time to fill up Clementine's buffer when starting playback. Fixes issue 2671
2012-06-09 17:52:39 +01:00
Arnaud Bienner
26639503d0
Update issue 2137
...
Mono playback implemented; available in preferences
2012-05-20 20:50:25 +02:00
Arnaud Bienner
01daea7090
Commit missing modifications/change ConcurrentRun description a bit
2012-04-25 00:29:19 +02: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
David Sansome
22e6a649b7
Remove the custom gstspotifytcpsrc and use tcpserversrc ! gdpdepay to receive data. Use a gstreamer pipeline on the other end as well to send data.
2011-11-28 18:45:12 +00:00
David Sansome
c05a2ee182
Add a spotify gstreamer source element instead of hacking about with gsttcpserversrc. Implement seeking on spotify tracks.
2011-09-25 19:24:44 +01:00
Andrew Gaydenko
41a151840f
Split the gstreamer pipeline - one path is converted to 16-bit int samples for the scope. The other is kept at float32 to preserve the bit depth of the audio.
...
Fixes issue 2114
2011-08-19 22:02:42 +01:00
Arnaud Bienner
07ce755060
Work with multiple CD devices
2011-08-10 00:49:36 +02:00
Arnaud Bienner
d20f689ab4
Revert r3234 because, as discussed, this could lead to blocking behavior
2011-05-03 22:38:24 +00:00
Arnaud Bienner
709d339866
Avoid to create a new thread when changing state. Make the UI more reactive, especially when Qt threadpool is already full (for example when fingerprinting several files in parallel for MusicBrainz autotagging)
2011-05-03 00:02:35 +00:00
David Sansome
6f1f4484f4
Allow songs from the spotify service to be added to the playlist, and bodge a tcpserversrc into GstEnginePipeline
2011-04-26 18:39:38 +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
David Sansome
23c744f41a
Add a queue element to the pipeline to buffer even local sources, and increase the default buffer size to 4 seconds.
2011-04-16 14:04:12 +00:00
David Sansome
008d396077
Use a monotonically increasing ID to identify pipelines, instead of their pointer value.
2011-03-20 21:40:53 +00:00
David Sansome
e761f2bdc8
Fix a bug where the engine would skip a song that didn't exist, but then not play the next song.
2011-03-20 19:18:54 +00:00
David Sansome
a2d62883c2
Ignore subsequent errors by setting a flag instead of setting the pipeline state, which may deadlock if the pipeline is also being destroyed at the same time. Fixes issue #1584
2011-03-17 19:52:05 +00:00
Paweł Bara
8ed6eca57e
fixing skipping songs for library songs
...
another "silent" GST error type
David's POT
2011-03-13 22:57:49 +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
5672fa90e7
Wait for the gstreamer pipeline to be connected and in either the PAUSED or PLAYING state before trying to do the initial seek. This should stop the occasional "seek failed" messages when playing tracks. Fixes issue #1292
2011-03-06 18:11:53 +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
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
34d496aadc
cleaner forced end-of-track when media stream is past it's 'end' marker
2011-01-03 18:03:15 +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
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
65c7e6007c
Maybe working gstreamer buffer setting.
2010-10-11 15:58:05 +00:00
David Sansome
4f943795bc
Fix a handle + memory + whatever else leak when automatically changing tracks in Windows. Fixes issue #782
2010-09-22 22:22:02 +00:00
David Sansome
be83655c57
Ignore tag messages from gstreamer when we're switching to a preloaded track - otherwise the Player receives the messages while it still thinks it's playing the old song, and gets the wrong track number.
2010-09-04 13:50:53 +00:00
John Maguire
c801ce1a2d
Rollback analyzer changes.
2010-08-28 18:48:16 +00:00
John Maguire
59233f5192
Disable FFT when no analyzer in use.
2010-08-20 12:14:43 +00:00
John Maguire
652f09b926
Fix memory leak from spectrum element.
...
Fixes issue #638
2010-08-19 10:14:56 +00:00
John Maguire
2db2354e0b
Move spectrum before volume element.
...
Tweak new analyzer.
2010-08-18 19:12:28 +00:00
John Maguire
03274b0831
Add new analyzer API and example using gstreamer spectrum element.
2010-08-18 16:09:45 +00:00
John Maguire
35e87b2a77
Start gstreamer playing from a separate thread.
2010-08-04 12:13:43 +00:00
John Maguire
41ab99e62e
Generate Hypnotoad rather than streaming it.
2010-07-14 11:16:56 +00:00
David Sansome
553184c7db
Remove amarok's equalizer and use gstreamer's one instead for vastly reduced CPU usage. Fixes issue #494
2010-07-12 20:55:09 +00:00
David Sansome
fbd6b46e20
Only take notice of the first segment start event, to fix seeking
2010-07-12 19:09:59 +00:00