John Maguire
03274b0831
Add new analyzer API and example using gstreamer spectrum element.
2010-08-18 16:09:45 +00:00
David Sansome
0b85797e45
Fix a crash when the gst state change takes ages
2010-08-04 20:32:53 +00:00
David Sansome
6f63dcc37f
Remove some debug output
2010-08-04 18:31:18 +00:00
John Maguire
35e87b2a77
Start gstreamer playing from a separate thread.
2010-08-04 12:13:43 +00:00
David Sansome
aad6093b63
Give each gstreamer element a unique name
2010-08-02 18:13:40 +00:00
David Sansome
2a7c6de273
Register gstafcsrc properly, and use it when playing songs from an afcdevice
2010-08-01 18:09:38 +00:00
John Maguire
31a726789a
Code review comments for r1476.
2010-07-14 11:43:23 +00:00
John Maguire
41ab99e62e
Generate Hypnotoad rather than streaming it.
2010-07-14 11:16:56 +00:00
David Sansome
36604f7ec8
Oops, fix the preamp
2010-07-12 21:00:15 +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
8b36f12cc3
Stop the old decodebin after starting the new one to (hopefully) fix an occasional race condition/deadlock.
2010-07-12 19:10:32 +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
David Sansome
b62263540f
Use the segment start time when calculating the timestamp of data buffers in the scope. Fixes a memory leak and makes the scope work again when playing ogg streams. Fixes issue #495 .
2010-07-11 13:31:03 +00:00
David Sansome
d3e3d04fe1
Prune the gstreamer scope at a much lower interval
2010-07-02 19:23:08 +00:00
David Sansome
b35392d60d
Don't query the track position and length quite so often. Might reduce CPU usage for issue #246
2010-06-30 20:36:16 +00:00
David Sansome
2b17a8ee1f
Revert r1344 (the timer tracing), it didn't help
2010-06-25 22:04:24 +00:00
David Sansome
a0f9c81891
Don't prune the scope while playback is paused
2010-06-25 08:48:19 +00:00
David Sansome
cc6413ab0e
Add tracing to every timer event, might help track down CPU usage...
2010-06-25 08:46:03 +00:00
David Sansome
9106abb1a0
Handle redirect messages from mmssrc properly. Fixes issue #385 .
2010-06-23 11:47:54 +00:00
David Sansome
4a741e51a8
Lower the default rain volume.
...
Update issue #418
Status: Fixed
I can't think of a good place to put the GUI for this, so instead I've lowered the default rain volume so you can adjust the volume of whatever else you're listening to to match.
2010-06-18 13:24:56 +00:00
John Maguire
5307ca3db0
Return the correct type from GstBusFunc()s
2010-06-15 22:32:20 +00:00
John Maguire
a8f7df9e28
Remove incorrect gst_message_unref. It should only be called from *sync* handlers that are returning GST_BUS_DROP.
2010-06-15 22:30:06 +00:00
John Maguire
92e95ecf80
Support for background streams.
2010-06-14 19:15:10 +00:00
David Sansome
0a19a275a2
On Windows and Mac use a different gstreamer registry file
2010-06-11 12:22:21 +00:00
David Sansome
40bb827fcd
Make all the source files a single cmake target again.
2010-06-08 22:39:31 +00:00
David Sansome
08dddac981
Fix a small memory leak
2010-06-08 12:12:47 +00:00
David Sansome
1895582eb9
Basic support for ProjectM visualisations
2010-06-06 14:06:23 +00:00
David Sansome
fe39d99923
Support playing \\host\share\file style URLs on Windows
2010-06-03 18:39:42 +00:00
David Sansome
d760721f61
Make this all a bit more sane
2010-05-31 20:59:13 +00:00
David Sansome
3365c7c217
Fix a few memory leaks
2010-05-28 19:51:51 +00:00
David Sansome
9a06fa0bfc
Don't start a new timer for *every* track we play.
2010-05-28 17:14:00 +00:00
David Sansome
4c13e78893
Fix a mingw warning
2010-05-27 20:30:15 +00:00
David Sansome
3927d91cf1
We use decodebin2 on windows now
2010-05-25 22:25:04 +00:00
David Sansome
9292bd3cb5
toFloat() was Qt 4.6
2010-05-25 21:33:16 +00:00
John Maguire
a59f5a3887
*Fix m3u parsing
...
*Add regression test
*Fix clang warnings
2010-05-23 15:35:28 +00:00
David Sansome
eb78ace541
Replay Gain support
2010-05-23 13:07:15 +00:00
David Sansome
d054e06444
Don't do the preloaded check on manual track changes.
...
Update issue #332
Status: fixed
Thanks for the patch! Calling Stop() in there meant that the OSD got shown
briefly with a "Stopped" message though, so I've changed GstEngine::Load
instead - the problem was with the code that checked whether the pipeline had
already started to load that URL as a result of GstEngine::StartPreloading.
It'll now only do that on an automatic track change.
2010-05-22 17:19:27 +00:00
David Sansome
9b224fd87d
Fix the fader behaviour a bit
2010-05-19 13:26:23 +00:00
David Sansome
694c5e9f9e
Wait 2 seconds after the fadeout finished before destroying the pipeline, to allow for delays in the sound server/driver. Fixes issue #294 .
2010-05-15 17:55:36 +00:00
David Sansome
1aee5e4667
Split all the source files up into seven new directories.
2010-05-10 21:50:31 +00:00
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
5cbed1c6b3
Use uridecodebin to pick the right source for us, rather than using giosrc sometimes, and soup/neon for http. Fixes issue #290
2010-05-08 13:54:12 +00:00
David Sansome
19b08540ef
Force the directsound sink on windows
2010-05-04 15:51:23 +00:00
John Maguire
7b420b6845
Some defensive programming for r819.
2010-05-03 14:55:00 +00:00
John Maguire
3adc74dfab
Disable gstengine's timer when it's stopped.
2010-05-03 14:15:42 +00:00
David Sansome
6f7dbf3286
Make local file playback work on Windows again
2010-05-01 14:01:01 +00:00
David Sansome
266ad640de
Fix character decoding from gstreamer errors.
...
Update issue 263
Status: Fixed
Nevermind, I worked out out - should be fixed now!
2010-04-30 15:37:57 +00:00
David Sansome
9d72d85f09
Don't crash when asked to load a file that doesn't exist on Windows
2010-04-27 17:53:52 +00:00
David Sansome
a56107c598
Fix UTF8 characters in metadata received from gstreamer. Affects issue #229
2010-04-22 20:48:35 +00:00
David Sansome
906f3526cf
Fix a crash bug when you seek all the way to the end of the last track
2010-04-22 17:02:06 +00:00
David Sansome
99743d49aa
Nasty hack to hopefully prevent "seek failed" errors - just don't allow two seeks to happen within 100ms of each other.
2010-04-22 16:54:09 +00:00
David Sansome
82602f8d96
Fix setenv/putenv madness on mac
2010-04-22 13:49:16 +00:00
David Sansome
7263983e0c
More debug output in CanDecode, and set the gst path in GstEngine rather than main()
2010-04-21 17:11:50 +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
4eedddd57c
Make the gst engine emit Error() instead of showing its own dialog when a plugin couldn't be found.
2010-04-21 11:14:12 +00:00
David Sansome
4234700e24
Trim the metadata received from tags
2010-04-20 22:20:20 +00:00
David Sansome
0656330548
Test we can load various popular file formats
2010-04-20 22:00:02 +00:00
David Sansome
f4e9de8e5b
Free the error messages properly, since they aren't owned by gstreamer. Thanks john :)
2010-04-19 12:30:19 +00:00
David Sansome
4bc704d7e3
Actually show error messages that come from gstreamer. Fixes issue #230
2010-04-19 12:04:35 +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
44ffc5be75
Get metadata from shoutcast streams (like somafm)
2010-04-14 23:59:11 +00:00
John Maguire
4862c41477
Tidy up http gstreamer source element.
2010-04-14 15:42:49 +00:00
David Sansome
57bd1b0227
Use different frequency values for the equalizer. Fixes issue #192
2010-04-12 20:57:21 +00:00
David Sansome
c08179aa94
Fix a race condition caused by global state in the equalizer.
2010-04-12 20:33:59 +00:00
David Sansome
ecda1787c8
Remove the CanDecode check - it's slow, and overidden by the taglib check anyway.
2010-04-12 19:46:08 +00:00
David Sansome
00b19ae83e
Fix somafm playback on linux. Might merge this with the mac ifdef if possible?
2010-04-12 17:40:08 +00:00
David Sansome
07a851c951
Oops, we'd better unref these buffers to stop memory leaks
2010-04-12 16:41:44 +00:00
David Sansome
e4c3c600b9
Fix a problem where the scope would apperar to freeze for a few seconds when changing tracks.
2010-04-12 16:39:48 +00:00
John Maguire
821baa2211
Mac deployment fixes for gstreamer.
2010-04-12 12:36:30 +00:00
David Sansome
d51c7444ab
Fix some confusion with auto/manual track changes
2010-04-12 01:59:21 +00:00
David Sansome
a25fd395f1
Fixed the easier codereview comments from r645
2010-04-12 00:26:16 +00:00
David Sansome
aaee1ded22
Fix a crash at the end of the last song on a playlist
2010-04-12 00:21:41 +00:00
David Sansome
1b0b8979df
Codereview comments from r637
2010-04-12 00:20:52 +00:00
David Sansome
031752823c
Add support for crossfading when changing tracks automatically
2010-04-11 23:52:16 +00:00
David Sansome
152470e5b3
Codereview comments from r644
2010-04-11 23:26:06 +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
b19fdbf272
Fadeout in gstreamer engine
2010-04-11 21:40:26 +00:00
David Sansome
656fbba37f
Remove the "identity" element
2010-04-11 20:01:44 +00:00
David Sansome
14d0b00f46
Factor out the gstreamer pipeline bits into another class.
2010-04-11 19:47:21 +00:00
David Sansome
85032240d9
Set a plugin path on Windows, and don't do a pointless registry check any more
2010-04-11 14:26:30 +00:00
David Sansome
d8bc4c1172
Use the extra gst audio conversion on all platforms
2010-04-11 13:28:26 +00:00
John Maguire
95abb71dc0
Equalizer and sound working on mac with a hack.
2010-04-09 14:29:12 +00:00
John Maguire
b11c3b28f7
Fix scope on mac
2010-04-09 13:01:20 +00:00
John Maguire
19fe2cff54
Disable equalizer on Mac to at least get playback working.
2010-04-09 12:29:21 +00:00
David Sansome
b6fd4dd3ac
Fix style in gstequalizer, and fix unused warnings from the elusively named irr_cf.h
2010-04-08 21:32:43 +00:00
David Sansome
539f0a517b
Rename this function so as to not confuse john.
2010-04-08 20:17:57 +00:00
David Sansome
1dbcfb9aa7
Add an option to change the output device on supported gst sinks. Fixes issue #184
2010-04-08 20:14:11 +00:00
David Sansome
6122051b7d
Set a sync handler on the gstreamer bus to catch some other EOS events. Fixes issue #178
2010-04-07 20:01:44 +00:00
David Sansome
c6fe113e79
GStreamer equalizer. Mostly working, just missing presets. Updates issue #166
2010-04-07 16:26:04 +00:00
David Sansome
256648f5e3
Add a UI for choosing which gstreamer audio sink to use
2010-04-07 13:51:14 +00:00
David Sansome
f8240e8b7c
Make GstEngine::canDecode much faster by creating the pipeline only once
2010-04-07 12:56:05 +00:00
David Sansome
b3d62edbef
Fix automatic track change ... again
2010-04-07 00:20:30 +00:00
David Sansome
5188e4f3d2
Enforce the right audio datatype in the gst pipeline... which makes the scope work \o/
2010-04-07 00:18:55 +00:00
David Sansome
46818c851b
Fix canDecode on tracks with funny characters. Thanks Sylvain
2010-04-06 23:00:20 +00:00
David Sansome
6b472b1e4a
Clean up the gstengine formatting a bit
2010-04-06 22:58:41 +00:00
David Sansome
b154f2bd4e
Go on to the next track properly
2010-04-06 22:01:51 +00:00
David Sansome
c7f4a091ed
Let's give gstreamer another try...
2010-04-06 16:57:02 +00:00
David Sansome
57189ea911
Comments and warning fixes
2010-04-05 19:16:48 +00:00
David Sansome
2966763471
Hopefully fix audio stuttering
2010-04-05 13:38:12 +00:00
David Sansome
f0a2176c78
Emit trackEnded() properly with the VLC backend
2010-04-05 13:26:11 +00:00
David Sansome
c7f58b9618
Scope support for the VLC engine
2010-04-05 02:21:53 +00:00
David Sansome
b77a64a2f1
Ooops, forgot this file
2010-04-04 20:45:59 +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