Commit Graph

185 Commits

Author SHA1 Message Date
David Sansome d531d01f60 Fix Windows \\ paths when preloading files as well as when playing them initially. 2010-12-20 19:00:48 +00:00
John Maguire 4c66007e26 Code review comments from r2370. 2010-12-09 13:06:00 +00:00
John Maguire 3a19bb9d46 Fix config file location on Mac and automatically migrate. 2010-12-09 12:34:08 +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
John Maguire a916db4c13 Add buffer duration to initialisation list. 2010-10-11 16:46:06 +00:00
John Maguire 65c7e6007c Maybe working gstreamer buffer setting. 2010-10-11 15:58:05 +00:00
David Sansome 61ea0cb24b Don't block the GUI while a background stream is starting 2010-10-02 12:51:09 +00:00
David Sansome 0c95f7c234 Safeguard against a null pipeline in GstEngine::Play. 2010-09-26 20:59:41 +00:00
David Sansome dedb9621e8 Fix the songloader test by making it wait for the gstreamer engine to finish initialisation 2010-08-28 19:22:58 +00:00
John Maguire c801ce1a2d Rollback analyzer changes. 2010-08-28 18:48:16 +00:00
David Sansome cf6399df28 Initialise the GStreamer options in the settings dialog correctly, and ensure the GST engine can never try to create an empty sink. Fixes issue #661. 2010-08-27 16:41:35 +00:00
David Sansome 75b70b4acb Initialise gstreamer in the background instead of blocking the UI 2010-08-27 13:57:39 +00:00
John Maguire 59233f5192 Disable FFT when no analyzer in use. 2010-08-20 12:14:43 +00:00
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 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 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 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 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 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
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 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 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 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 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 0656330548 Test we can load various popular file formats 2010-04-20 22:00:02 +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 c08179aa94 Fix a race condition caused by global state in the equalizer. 2010-04-12 20:33:59 +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
David Sansome d51c7444ab Fix some confusion with auto/manual track changes 2010-04-12 01:59:21 +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 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 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