/usr/include/CLAM/qtmonitors/BufferOscilloscopeMonitor.hxx is in libclam-qtmonitors-dev 1.4.0-3.1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #ifndef BufferOscilloscopeMonitor_hxx
#define BufferOscilloscopeMonitor_hxx
#include "FloatArrayDataSource.hxx"
#include <CLAM/PortMonitor.hxx>
//TODO move to a clam lib
class BufferOscilloscopeMonitor :
public CLAM::PortMonitor<CLAM::Audio>,
public CLAM::VM::FloatArrayDataSource
{
public:
BufferOscilloscopeMonitor()
: _size(0)
{ }
private:
const char* GetClassName() const { return "BufferOscilloscope"; };
std::string getLabel(unsigned bin) const
{
static std::string a;
return a;
}
const CLAM::TData * frameData()
{
const CLAM::Audio & audio = FreezeAndGetData();
const CLAM::Array<CLAM::TData> & data = audio.GetBuffer();
_size = data.Size();
if (_size==0) return 0;
return &data[0];
}
void release()
{
UnfreezeData();
}
unsigned nBins() const
{
return _size;
}
bool hasUpperBound() const { return true; }
bool hasLowerBound() const { return true; }
CLAM::TData upperBound() const {return 1;}
CLAM::TData lowerBound() const {return -1;}
bool isEnabled() const
{
return IsRunning();
}
private:
unsigned _size;
};
#endif//BufferOscilloscopeMonitor_hxx
|