Florian Bigard
69b2a832db
Merge branch 'master' into qt5
2017-01-18 15:57:07 +01:00
Santiago Gil
d3898d2f47
Add dialog to display streams' audio details ( #5547 )
...
* Add Stream Details window
* Fix capitalization in StreamDiscoverer::Discover()
* StreamDiscoverer::Discover(): get URL by const reference
* Refactor StreamDiscoverer::Discover
* Rename StreamDiscoverer callbacks
* StreamDiscoverer::OnDiscovered: fix nullptr comparison
* StreamDiscoverer: rename DiscoverFinished signal
* StreamDiscoverer::DataReady: receive const reference
* StreamDiscoverer: Remove unsigned types
* StreamDetailsDialog: rename Close slot
* StreamDetailsDialog: rename ui pointer to ui_
* MainWindow::ShowStreamDetails: receive a const reference
* StreamDetailsDialog: use unique_ptr, remove unsigned types
2016-12-21 16:57:04 +00:00
Santiago Gil
1c0891202d
Let the audio sink autonegotiate the bit depth. (Possible fix for #5533 ) ( #5541 )
2016-12-21 14:40:40 +00:00
Chocobozzz
18a89f78a9
Merge remote-tracking branch 'upstream/master' into qt5
2016-10-07 14:30:09 +02:00
Mark Furneaux
41d323332a
Fix pipeline wit direct output to ALSA
...
In the new version of gstreamer, alsasink supports floating samples, so it seems to be bypassing audioconvert.
Integer samples make downmixing work correctly.
2016-06-03 11:49:22 -04:00
John Maguire
0beb6d3c59
Remove support for Amazon Cloud Drive.
2016-05-16 18:00:10 +01:00
Mark Furneaux
bcf29dc670
Fix caps on audio pipeline
...
Fixes #1747
The pipeline has the caps for the analyzer applied in the wrong place. This results in the audio output being limited to 16 bit regardless of the input file.
This change also cleans up the mono/sample rate caps as well.
2016-05-15 13:31:00 -04:00
Chocobozzz
0aa3405274
Merge remote-tracking branch 'upstream/master' into qt5
2016-05-09 12:46:08 +02:00
Santi
ed7375d7da
Add dummy bands to equalizer ( Fixes #695 )
2016-03-08 15:26:45 -03:00
Chocobozzz
ff7026c9fe
Merge remote-tracking branch 'upstream/master' into qt5
2015-12-13 20:05:12 +01:00
John Maguire
2d61fe6c87
Changed my mind about automatically passing QFutures.
2015-11-27 12:04:14 +00:00
Arnaud Bienner
ec98a68c3d
Update SLOT signatures.
...
There weren't update as part of commit 33494dcddcb64f9fccae215f1100cfa885c72039: this prevented the slider to be updated, among other things.
2015-11-27 11:44:59 +01:00
John Maguire
33494dcddc
Remove BoundFutureWatcher
2015-11-26 18:53:42 +00:00
Arnaud Bienner
d9150ec165
Fix Clementine getting stuck when transitioning from a local track to a Spotify track with crossfade disabled.
...
Two problems here:
- the first was that "StartPlaybackLater" wasn't called from the thread which created SpotifyServer, so the timer never started.
- then the playback sometimes failed or started with an offset: just hack to ignore sourcedrained signal in this case.
2015-11-03 23:20:44 +01:00
Chocobozzz
631a6cdabd
Merge branch 'master' into qt5
2015-09-16 17:40:54 +02:00
Mark Furneaux
e9494af3f7
Add sample rate selection
...
This change provides the ability to set a fixed pipeline sample rate as an alternate to automatically negotiating it.
This can be useful on systems with sound cards that work at a fixed rate, as well as it can triage issues (on Windows)
where changing tracks hangs due to a problem with gstreamer's caps negotiation.
2015-07-09 22:19:31 -04:00
Mark Furneaux
1eef335fb6
Fix mono playback on certain configurations
...
Gstreamer was failing to link the pipeline if 32bit could not be enabled.
We should just let gst autonegotiate the bit depth of the pipeline, which it does with mono disabled anyways.
2015-07-04 14:53:30 -04:00
Mark Furneaux
876cc0c4b6
Merge branch 'master' into mono
...
Conflicts:
src/engines/gstenginepipeline.cpp
2015-07-02 20:33:13 -04:00
Mark Furneaux
eb537eb0a0
Add mono output support in the engine
...
Mono playback was removed from the pipeline in the transition to gst 1.0.
2015-07-02 20:25:14 -04:00
Eduardo Sánchez Muñoz
5db60bf365
GstEnginePipeline: Rename last_known_position_ to last_known_position_ns_.
2015-07-02 12:34:24 +02:00
Eduardo Sánchez Muñoz
4af4e185da
Fix song continuously rewinding when seeking using keyboard arrow keys.
2015-07-01 20:24:17 +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
5aec1c0e24
Merge remote-tracking branch 'upstream/master' into qt5
...
Update qt version to 5.4.2
2015-06-03 22:57:58 +02:00
John Maguire
3f536d2571
Parse artist out of Akamai tags.
...
Fixes #4874
2015-05-29 12:00:29 +01:00
John Maguire
e7e3ab1a68
Parse embedded tags from Akamai streams.
...
Fixes #4804
2015-05-26 17:40:35 +01:00
Andreas
4c9f7e6a5e
Revert "Fix mono playback. This was broken with commit eaad4c32eeeb83302632aba887d51d2eccb55eed."
...
Spotify doesn't work with this fix anymore, gstreamer throws `gst_segment_to_stream_time: assertion 'segment->format == format' failed`. Using `audio/*` for caps doesn't work either, the channes property is ignored. An `if (url_.scheme == "spotify")` would work, but maybe there is a more elegant solution.
This reverts commit 8799222d64
.
2015-05-02 17:12:55 +02:00
Andreas
8799222d64
Fix mono playback. This was broken with commit eaad4c32ee
.
2015-05-02 16:14:44 +02:00
John Maguire
e1ea116bfb
Remove Grooveshark support.
...
Well that was nice while it lasted.
2015-05-01 11:57:59 +01:00
John Maguire
8d2e3373a8
Use a GTlsDatabase for gstreamer SSL on mac.
2015-04-27 11:21:22 +01:00
Chocobozzz
e986ab5a4b
Merge master branch and adapt it to qt5
2015-04-16 17:16:34 +02:00
Chocobozzz
8b226c2171
Update non optionnals sources to qt5
2015-04-11 23:24:07 +02:00
Andreas
ec35688c86
Fix crash when stopping a track while a fadeout to pause is occuring. Fixes #4800 .
2015-04-11 11:30:28 +02:00
John Maguire
8d3fd00956
Amazon Cloud Drive support.
...
Squashed commit of the following:
commit 451a327fabb5f9aba077d93a33d75d8a6a288f5f
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:55:36 2015 +0100
Revert debug console changes.
commit 52f643c3dc524a837f56268b6da4881187204165
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:49:28 2015 +0100
Revert extra logging
commit 23645f9fea
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:47:55 2015 +0100
How did you get there
commit 8153388f19
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:45:12 2015 +0100
Update copyright headers.
commit fa9e279259
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:43:27 2015 +0100
Remove logging
commit 47a405543c
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:42:05 2015 +0100
Show login state correctly for Amazon.
commit 748d88d993
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:28:55 2015 +0100
Ensure Amazon is connected before serving URLs.
commit 25ec9c65f4
Author: John Maguire <john.maguire@gmail.com>
Date: Fri Mar 27 14:22:28 2015 +0100
Refresh Amazon authorisation & follow changes.
commit 27c1a37173
Author: John Maguire <john.maguire@gmail.com>
Date: Thu Mar 26 18:27:27 2015 +0100
Revert unneeded OAuthenticator change.
commit 3594af5be1
Author: John Maguire <john.maguire@gmail.com>
Date: Thu Mar 26 16:52:19 2015 +0100
Initial support for Amazon Cloud Drive.
2015-03-27 14:56:08 +01:00
Arnaud Bienner
f3426c05c7
Don't call gst_deinit when exiting Clementine.
...
It sometimes cause a deadlock since we migrated to GStreamer 1.0.
And it seems we shouldn't need to call it as we are "a normal application":
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-Gst.html#gst-deinit
2015-03-25 22:23:13 +01:00
John Maguire
33117a1b44
Fix name of pulse audio gstreamer sink.
2015-02-03 13:32:41 +01:00
Krzysztof Sobiecki
fa9ea6ec5f
Fix compilation with moved files in internet/
2014-12-18 23:35:21 +01:00
John Maguire
4f4c8f6894
Merge pull request #4580 from Chocobozzz/hide_internet_services
...
Hide internet services
2014-10-31 12:02:29 +01:00
David Sansome
5ec9dcdcb7
Merge pull request #4559 from TheUbuntuGuy/master
...
Fix missing buffers sent to analyzer
2014-10-27 22:17:14 +11:00
Chocobozzz
50b7b7d889
Make format after update to avoid conflicts
2014-10-15 21:57:57 +02:00
David Sansome
88a6300509
Completely revert the Spotify seeking stuff - it's hacky and I don't like
...
waiting 4 seconds to have my songs start. I'll reimplement it properly later.
Reverts commits 96387803cd
and 160b151652
.
2014-10-14 19:33:03 +11:00
David Sansome
c428e536ab
When replacing a decodebin, offset the timestamps on the new element's buffers
...
so they match up with the buffers produced by the old element. Fixes #4542 .
2014-10-14 19:22:43 +11:00
Andreas
d32c3236ef
Fix little dropout when transition to next track. Updates #4542 .
...
SourceDrainedCallback() has a valid next url and calls TransitionToNext(). This sets a new decode bin for the pipeline. The pipeline then buffers the new track and sends GST_MESSAGE_BUFFERING. BufferingMessageReceived() then pauses the pipeline because it's buffering. But we are buffering the next track and not the current one, so the pipeline has still data and doesn't need to be paused.
2014-10-05 11:57:57 +02:00
Mark Furneaux
3be48f8f44
unref buffers going to analyser at the right time
...
This unrefs the buffer after the last chunk is pulled from it.
2014-10-04 10:39:33 -04:00
David Sansome
eec246718a
Fix track transitions with gstreamer-1.0. The segment-start event is now a stream-start bus message. Fixes #4542
2014-10-04 21:21:21 +10:00
Mark Furneaux
e8c2b4b267
Fix missing buffers sent to analyzer
...
This is a regression in the upgrade to gstreamer1.0.
The gst_buffer_unref() is incorrect as it removes the buffer when it is still needed by the chunker.
Forcing the pointer to be null prevents it from segfaulting but causes it to skip all chunks in the buffer, dropping the framerate and causing a worse case of #4321 .
Removing these 2 lines restores original functionality.
2014-10-03 20:53:07 -04:00
John Maguire
b4784e82fd
Make Soup check SSL against our shipped root certs.
2014-10-01 15:06:22 +02:00
Arnaud Bienner
96387803cd
Disable this Spotify hack for now, as it is useless anyway.
...
Somewhat related to issue #4545 , but when plugin was installed by user wasn't logged in.
2014-09-30 21:35:27 +02:00
Andreas
4bb3147006
Fix Spotify Blob installation promt. Fixes #4538 .
2014-09-22 21:20:48 +02:00
David Sansome
eaad4c32ee
Merge branch 'gstreamer-1.2'
...
Fixes #3332
2014-09-22 22:45:28 +10:00
David Sansome
bb08a0f416
Fix misleading offset_bytes names
2014-09-22 00:13:00 +10:00
David Sansome
3f0dc01b06
Make Spotify work with gstreamer-1.0.
2014-09-21 22:39:30 +10:00
David Sansome
a2408f7c0e
Merge branch 'master' into gstreamer-1.2
...
Conflicts:
src/moodbar/moodbarloader.cpp
2014-09-21 19:39:27 +10:00
David Sansome
6b32ecec27
Various bits for gstreamer-1.0 compatability
2014-09-21 19:38:13 +10:00
David Sansome
50551d987a
Rewrite moodbar stuff for gstreamer-1.0:
...
- Rewrite gstspectrum (1.0) to use FFTW (2x faster) and emit raw magnitude
values (not log scaled).
- Rewrite the moodbar generation code to be somewhat understandable, and
do it in Clementine instead of gstreamer.
2014-09-21 19:38:13 +10:00
Arnaud Bienner
bfaf127ed7
Remove few Ubuntu One things remaining
2014-09-14 21:43:13 +02:00
Arnaud Bienner
3e17a0adb5
Remove dead code
2014-09-14 02:39:35 +02: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
pie.or.paj
cbc6e5cf4d
Pause spotify track (issue 2503)
...
(patch slightly modified, not sure why it wasn't applied before: it looks good to me)
2014-09-06 19:21:23 +02:00
David Sansome
d5617c0daf
Set the media role for pulse audio
2014-06-19 22:51:58 +10: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
David Sansome
1e3cfb0a2c
Don't try to update the scope if there's no buffer yet. Fixes #4388
2014-06-02 12:46:45 +10:00
David Sansome
162b2efbb0
If we don't know the length of a song from the metadata, get it from the pipeline which has the real length. Fixes #2818 when the length isn't in the podcast metadata.
2014-05-29 21:33:53 +10:00
Mark Furneaux
84434fd84e
Fix dbz possibility with small buffers at end of track
...
There was a possibility of a dbz when a buffer sent to the
analyzer was shorter than 1ms long, such as what may happen at the end
of a track when stopping. This patch guards against this.
2014-05-17 14:38:46 -04:00
Mark Furneaux
8f9229d7c9
Apparently I'm blind. (Refactoring)
2014-05-03 09:28:07 -04:00
Mark Furneaux
00a1fe1e32
Refactoring
2014-05-03 09:14:15 -04:00
Mark Furneaux
6c653e5ba2
Synchronize buffer chunks with audio stream
...
The chunks are now determined by the density of data in the buffer
to the length of audio in the buffer. The chunk length can change
size so that the audio that is analysed is exactly what is being played
at the instant the frame is requested.
2014-04-30 14:18:39 -04:00
Mark Furneaux
ee7fed36bc
Fix pointer arithmetic when seeking buffers
...
It's possible the sample type will change, so best to not use
a fixed value.
2014-04-30 10:00:58 -04:00
Mark Furneaux
53f21584e4
Fix inconsistent buffer sizes sent to analyzer
...
The analyzers are sent new buffers of audio data to process each time
they pass through the gst pipeline. Different file formats and bit depths/
sample rates can change the size of these buffers, in some cases making them
large and therefore infrequent. This causes choppiness in the analyzer
as it is not getting new data with every frame. This patch chunks the buffers
coming off the pipeline to correspond with the framerate of the analyzer.
2014-04-29 21:38:21 -04:00
Mark Furneaux
f793d09d8e
Fix play bleeding into next track after auto stop
...
If "fade out on stop" is enabled, the "stop after this track" feature
would stop not stop the on current track, but instead start playing
the next track and fade out on that immediately. This patch disables
fadeout when the engine is stopped by HandleStopAfter().
2014-04-26 00:58:08 -04:00
Marcus Fritzsch
e3bea84bea
gstenginepipeline: make buffer min fill configurable
2014-04-02 11:54:14 +02:00
David Sansome
1719b1599c
Get audio device names on Windows too.
2014-03-29 23:48:26 +11:00
David Sansome
2d7be1502f
Get audio device names on OS X too.
2014-03-29 22:44:08 +11:00
David Sansome
6d1dc56a7c
Get a list of available audio devices from pulseaudio, and let the user choose
...
from those in the settings dialog instead of just giving him a text box.
2014-03-29 19:31:38 +11: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
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
71893e4847
Use nullptr instead of NULL everywhere.
2014-02-06 17:29:59 +01:00
John Maguire
d309d4ab27
Use c++11 instead of boost where possible.
2014-02-06 16:51:39 +01:00
Arnaud Bienner
7084697aa3
Prevent Clementine to loop forever when trying to play a song with repeat enabled in a playlist which contains only unavailable songs
2014-02-04 22:08:32 +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
2c55688601
Make the GPL spotify code non-optional
2013-09-18 00:49:29 +10: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
07e7950f7e
Remove obsolete ClearScopeBuffers() reference.
2013-06-03 18:14:20 +02:00
David Sansome
1a4e4ba86f
Fix a compilation error on an old GCC
2013-06-01 18:50:25 +10:00
David Sansome
619261f5e1
Remove the precise analyzer timing code from Amarok and instead just use the
...
latest buffer from GStreamer. This works just as well and fixes the occasional
freezing analyzer. Fixes issue 2464
2013-06-01 18:03:59 +10:00
David Sansome
90898bd255
Take the buffer duration into account when deciding when to preload the next
...
song for gapless playback.
2013-06-01 17:25:56 +10:00
John Maguire
3d434f1c88
Remove iDevice support as it doesn't work well for modern devices and libgpod shows no signs of updating to support them.
...
Fixes issue #3683
2013-05-17 15:30:56 +02:00
John Maguire
36975c41d2
Add stereo balance slider as part of equalizer.
2013-04-26 20:28:57 -07:00
Andreas
cccfe814d0
- Fix label texts in settings page.
...
- Remove logging.
2013-04-23 00:17:04 +02:00
Andreas
ec481d5874
Fixed issue 578: fade-in fade-out on (un)pause.
2013-04-22 21:42:04 +02:00
John Maguire
90803fa0e0
Remove use of deprecated gstreamer functions.
2013-01-29 13:19:26 +01:00
John Maguire
24ac9adbe5
Beginnings of playback from Ubuntu One file store.
2012-11-27 18:35:06 +01:00
John Maguire
3b935e89da
cstdint is missing on Snow Leopard.
2012-11-21 14:41:37 +01:00
John Maguire
80d35ef128
Merge remote branch 'origin/mingw-w64'
2012-11-19 18:17:19 +01: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
John Maguire
79318cc4e1
Build fixes for mingw-w64
2012-11-13 14:43:13 +01:00
John Maguire
371b63e159
Use access_token URL param instead of header hack for Google Drive.
2012-11-02 16:47:40 +01:00