summaryrefslogtreecommitdiff
path: root/src/audiooutputengine.h
diff options
context:
space:
mode:
authordeva <deva>2011-07-15 13:02:33 +0000
committerdeva <deva>2011-07-15 13:02:33 +0000
commitcd0e36773992e26985bdec1f7a5341f83fa3e521 (patch)
tree4710fb3f2465f4b464f5f6176261a67cfde2e46e /src/audiooutputengine.h
parente190d38057892b69246391841b234a368bc2b4ad (diff)
New input/output plugin architecture. New LV2 plugin.
Diffstat (limited to 'src/audiooutputengine.h')
-rw-r--r--src/audiooutputengine.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/audiooutputengine.h b/src/audiooutputengine.h
index 09dcbd7..864ecc5 100644
--- a/src/audiooutputengine.h
+++ b/src/audiooutputengine.h
@@ -28,24 +28,23 @@
#define __DRUMGIZMO_AUDIOOUTPUTENGINE_H__
#include <string>
+#include <stdlib.h>
+#include <audiotypes.h>
#include "channel.h"
-class DrumGizmo;
-
class AudioOutputEngine {
public:
- AudioOutputEngine() {}
- virtual ~AudioOutputEngine() {}
+ virtual bool init(Channels channels) = 0;
- virtual bool init(Channels *channels) = 0;
+ virtual void setParm(std::string parm, std::string value) = 0;
- virtual void run(DrumGizmo *drumgizmo) = 0;
+ virtual bool start() = 0;
+ virtual void stop() = 0;
-protected:
- Channels *channels;
+ virtual void pre(size_t nsamples) = 0;
+ virtual void run(int ch, sample_t *samples, size_t nsamples) = 0;
+ virtual void post(size_t nsamples) = 0;
};
-AudioOutputEngine *createAudioOutputEngine(std::string engine);
-
#endif/*__DRUMGIZMO_AUDIOOUTPUTENGINE_H__*/