Loopp/src/trackoutput.hxx

65 lines
1.2 KiB
C++
Raw Normal View History

#ifndef LUPPP_TRACK_OUTPUT_H
#define LUPPP_TRACK_OUTPUT_H
#include <iostream>
#include <stdio.h>
2013-08-15 18:17:16 +02:00
#include "buffers.hxx"
2013-08-06 22:55:57 +02:00
#include "config.hxx"
#include "audioprocessor.hxx"
2013-07-28 14:31:07 +02:00
#include "eventhandler.hxx"
#include "dsp/dsp_dbmeter.hxx"
class TrackOutput : public AudioProcessor
{
public:
2013-08-15 18:17:16 +02:00
TrackOutput(int t, AudioProcessor* ap);
2013-07-28 14:31:07 +02:00
/// set main mix, 0-1
2013-08-15 18:17:16 +02:00
void setMaster(float value);
float getMaster();
bool recordArm()
{
return _recordArm;
}
void recordArm(bool r)
{
_recordArm = r;
}
/// set send
2013-08-15 18:17:16 +02:00
void setSend( int send, float value );
/// copies the track output to master buffer, sidechain & post-side buffer
void process(unsigned int nframes, Buffers* buffers);
2013-08-15 18:17:16 +02:00
~TrackOutput();
private:
int track;
bool _recordArm;
float _toMaster;
float _toReverb;
float _toSidechain;
float _toPostSidechain;
/// Pointer to "previous" processor: the graph is backwards
AudioProcessor* previousInChain;
2013-07-28 14:31:07 +02:00
// Metering variables
long uiUpdateCounter;
long uiUpdateConstant;
DBMeter dbMeter;
};
#endif // LUPPP_TRACK_OUTPUT_H