/usr/share/doc/libsndobj-dev/examples/Ladspaplug.h is in libsndobj-dev 2.6.6.1-3.
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 57 58 59 60 61 62 63 64 65 66 | //////////////////////////////////////////////////////////
// LADSPAplug class: this class models a LADSPA plugin
// and is designed to act as an interface for building
// plugins with SndObj classes
//
// This class supports plugins based on single SndObj objects,
// but can be extended to support larger SndObj processing
// chains.
#ifndef _LADSPAPLUG_H
#define _LADSPAPLUG_H
#include <SndObj/AudioDefs.h>
#include <ladspa.h>
class LADSPAplug {
protected:
// sndobjs
SndObj *m_inobj;
SndObj *m_procobj;
// controls
int m_controls;
float *m_value;
char **m_message;
LADSPA_Data **m_parameter;
// data ports
LADSPA_Data *m_insig;
LADSPA_Data *m_outsig;
// SndObj vectorsize etc...
int m_sndobj_vecsize;
float m_sr;
int m_pos;
public:
LADSPAplug(SndObj *procobj, int controls, char **message,
int vecsize, float sr);
~LADSPAplug();
// these methods connect the audio IO ports
void ConnectInput(LADSPA_Data *p) { m_insig = p; }
void ConnectOutput(LADSPA_Data *p) { m_outsig = p; }
// this method connects the control ports (if there are any)
bool ConnectControl(LADSPA_Data *p, int control) {
if((control >= 0) && (control < m_controls)){
m_parameter[control] = p; return true;
}
else return false;
}
// this is the processing ("run") method
// It is overridable, so that it can be tailored
// to suit any arrangement of SndObjs
virtual void Process(unsigned long bsize);
};
#endif
|