Commit Graph

10 Commits

Author SHA1 Message Date
Tobias Doerffel
20589f19e4 Mixer: rewrote processing chain of rendered audio buffers
Until now, Mixer not only was responsible for rendering audio buffers
but also managed writing them to audio backend (through a FIFO) and
handled various quality related parameters.

All this functionality has been moved into the new AudioOutputContext
class. It glues together AudioBackend (formerly called AudioDevice),
global quality settings and the Mixer.

The AudioOutputContext class creates a FifoWriter which calls
Mixer::renderNextBuffer() and writes the output into the BufferFifo of
the AudioOutputContext it belongs to. The BufferFifo is read by the
according AudioBackend which belongs to the AudioOutputContext as well.

The AudioOutputContext also handles resampling in case the AudioBackend
wants the buffers in a different samplerate.

During this rewrite the Mixer class and the according source files have
been renamed from "mixer" to "Mixer". This results in small changes
all over LMMS' code base.
2009-11-29 01:46:23 +01:00
Tobias Doerffel
21da0b432c * fixed wrong config.h-inclusion and deprecated macro-names from config.h/lmmsconfig.h at various places - makes Vibed plugin work again
* fixed plugin-instantiation for BitInvader and Vibed
* use int instead of Uint32 in graphModel
* various coding-style fixes



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1169 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-24 22:18:43 +00:00
Tobias Doerffel
5cfb1b2f96 made quality-settings (internal processing samplerate, interpolation and so on) independent of audio-devices (final output) and added new qualitySettings-structure to mixer - might be still buggy and HQ-mode is currently not working, this is going to be fixed tomorrow, anyways important preparation for new project-export-dialog
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@957 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-05 23:14:48 +00:00
Javier Serrano Polo
5afcc9414b mutex, detuning helpers, GUI updates, play handles, many many changes... (3)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@481 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-05-07 19:39:16 +00:00
Javier Serrano Polo
416d208cc3 removed buffer allocator, automatable object dependencies, deadlocks
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@477 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-04-24 05:36:58 +00:00
Danny McRae
60abfb14d7 oversampled vibed to get hq-mode and regular mode to sound the same
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@415 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-09-25 16:18:59 +00:00
Javier Serrano Polo
474cb5f6cc updated FSF address
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@380 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-08-27 23:24:31 +00:00
Danny McRae
95be1a9635 first attempt at adding effects
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@294 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-08-08 01:26:01 +00:00
Danny McRae
2e56336056 changed QPtrList to vlist
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@114 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-03-28 12:25:49 +00:00
Tobias Doerffel
462c48d012 bugfixes, new plugin "Vibed" and more
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@111 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-03-27 12:19:04 +00:00