Jamoma API  0.6.0.a19
TTMultiMixer.h
1 /*
2  * DSP Multi-Signal Mixer Object
3  * Copyright © 2009, Timothy Place
4  *
5  * License: This code is licensed under the terms of the "New BSD License"
6  * http://creativecommons.org/licenses/BSD/
7  */
8 
9 #ifndef __TT_MULTIMIXER_H__
10 #define __TT_MULTIMIXER_H__
11 
12 #include "TTDSP.h"
13 
14 
15 /** TTMultiMixer mixes N input signals (presumably of matching channel counts)
16  to M output signals (again presumably of matching channel counts).
17 */
20 
21 protected:
22 
23  TTUInt16 mNumInputs;
24  TTUInt16 mNumOutputs;
25  TTMatrix mGainMatrix;
26  TTMatrix tempGainMatrix;
27 
28  /** A standard audio processing method as used by TTBlue objects.*/
30 
31  TTErr setNumInputs(const TTUInt16 newValue);
32  TTErr setNumOutputs(const TTUInt16 newValue);
33 
34  TTErr clear();
35  TTErr restoreMatrix();
36 
37  TTErr checkMatrixSize(const TTUInt16 x, const TTUInt16 y);
38 
39  /** setter for converting gain input from db to linear.
40  @param newValue The argument must consist of three values:
41  - The x coordinate of the matrix point (beginning with zero)
42  - The y coordinate of the matrix point (beggining with zero)
43  - The gain level of the matrix point (in dB)
44  @return An error code. */
45  TTErr setGain(const TTValue& newValue, TTValue&e);
46  TTErr setLinearGain(const TTValue& newValue, TTValue&);
47  TTErr setMidiGain(const TTValue& newValue, TTValue&);
48 
49  void processOne(TTAudioSignal& in, TTAudioSignal& out, TTFloat64 gain);
50 
51 };
52 
53 
54 #endif // __TT_MULTIMIXER_H__
std::uint16_t TTUInt16
16 bit unsigned integer
Definition: TTBase.h:176
TTErr setGain(const TTValue &newValue, TTValue &e)
setter for converting gain input from db to linear.
TTAudioObjectBase is the base class for all audio generating and processing objects in Jamoma DSP...
Jamoma DSP Library.
double TTFloat64
64 bit floating point number
Definition: TTBase.h:188
#define TTCLASS_SETUP(className)
TODO Doxygen: need more comments here.
Definition: TTFoundation.h:54
TTErr processAudio(TTAudioSignalArrayPtr inputs, TTAudioSignalArrayPtr outputs)
A standard audio processing method as used by TTBlue objects.
The TTAudioSignal class represents N vectors of audio samples for M channels.
Definition: TTAudioSignal.h:57
Wrap TTMatrixBase instances.
Definition: TTMatrix.h:27
A simple container for an array of TTAudioSignal pointers.
TTErr
Jamoma Error Codes Enumeration of error codes that might be returned by any of the TTBlue functions a...
Definition: TTBase.h:342
TTMultiMixer mixes N input signals (presumably of matching channel counts) to M output signals (again...
Definition: TTMultiMixer.h:18
[doxygenAppendixC_copyExample]
Definition: TTValue.h:34