Commit Graph

24 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
166701f9f3 sed: s/( void )/(), s/FALSE/false/, s/TRUE/true
Replaced remaining occurences of old constants and superfluous "void"
on empty argument list of functions.
2009-08-24 23:25:26 +02:00
Tobias Doerffel
8c9a9dd14c File and class renames part 1
Most files and most of the core classes and their methods have been
renamed to match new coding style conventions:

391 files changed, 25400 insertions(+), 25598 deletions(-)

Furthermore splitted some files where model and view classes were
declared or implemented together in the same file.

Should be tested thoroughly as I might have missed renaming some virtual
methods or SIGNAL/SLOT parameters.
2009-08-24 17:59:28 +02:00
Tobias Doerffel
f943df139e InstrumentView: added generic DnD support, renamed/splitted files
Added generic drag'n'drop support for all instrument views. All
resources supported by the according instrument now can be dropped
onto instrument view without any extra code in actual instrument.

Additionally renamed some files and classes related to InstrumentView
class to match new style.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-06-30 01:19:48 +02:00
Tobias Doerffel
13c00f55a1 * added missing includes to compile with GCC 4.4
* optimized various loops for getting tree-vectorized, especially with upcoming GCC 4.4



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1733 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-04 14:27:55 +00:00
Tobias Doerffel
85f92aecb5 removed obsolete supportsParallelizing() method
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1730 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-02 23:02:11 +00:00
Tobias Doerffel
adf8aed93c removed obsolete instrument-parallelization support as this is handled much better by worker threads and adds unneccessary complexity
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1718 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-30 11:14:32 +00:00
Paul Giblock
0b24930e20 Improve LB302 with 3 new shapes and button-selectors.
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1657 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-21 08:35:47 +00:00
Tobias Doerffel
42ab630582 switched back to LB302
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1354 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 12:01:34 +00:00
Paul Giblock
54ee9f03a9 LB302 code cleanup and fixed dropped notes
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1296 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-08 01:15:02 +00:00
Paul Giblock
01963f4dba initial LB302 slide support
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1295 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-07 14:28:49 +00:00
Paul Giblock
f2f6b73644 Best version of lb302 yet
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1288 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-07 03:59:04 +00:00
Paul Giblock
f93205469c first IPH-based 302
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1287 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-07 00:24:06 +00:00
Tobias Doerffel
c8c5382b35 made rendering happen with one global working-buffer per thread - hopefully improves L1/L2-cache-efficiency
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@890 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-05 19:06:32 +00:00
Paul Giblock
d242ed725f Finished LB302 MV split
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@679 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-01-29 03:36:34 +00:00
Paul Giblock
0f23db9f9a updated boolModel, split lb302 for MV but there is a bug
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@669 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-01-24 05:50:29 +00:00
Paul Giblock
0931dfefa5 reverted lb302 while fixing sound output bug.
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@613 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-27 03:57:40 +00:00
Paul Giblock
9768dd3700 LB302 reformat, ToolButton appearance
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@611 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-11-23 18:56:21 +00:00
Paul Giblock
820d05a807 Resolved most major issues involving lb302
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@530 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-20 06:19:25 +00:00
Paul Giblock
69dcd6bbfc This is really lb302. I promise.
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@528 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-19 20:00:54 +00:00
Tobias Doerffel
e05ce274fb rewrote code for monophonic behaviour (calculation of position at which to resume states etc.)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@524 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-18 21:14:56 +00:00
Tobias Doerffel
0b799fc3b1 added support for transition-frames for monophonic instruments
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@521 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-08 00:25:18 +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
Paul Giblock
e4ddcea99b Added LB302 BassSynth, 302 sample project, and modified Knob for 64bit systems.
Read plugins/lb302/README for more information.


git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@455 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-02-03 09:28:50 +00:00