#define GWMODSTR(a) m_str GWMODSTR_NAME() { return #a; }
#define GWMODINI(a) ANN2(1) void* GWMODINI_NAME(const Gwion gwion, const Vector args)
#define GWMODEND(a) ANN void GWMODEND_NAME(const Gwion gwion, void* self)
-#define GWDRIVER(a) ANN void GWDRIVER_NAME(Driver* d)
+#define GWDRIVER(a) ANN void GWDRIVER_NAME(DriverData* d)
ANN void plug_ini(const Gwion gwion, const Vector);
ANN Vector split_args(const m_str str);
};
struct VM_;
-struct Driver_;
-typedef void (*f_bbqset)(struct Driver_*);
+struct DriverData_;
+typedef void (*f_bbqset)(struct DriverData_*);
typedef void (*f_bbqrun)(const struct VM_*);
struct BBQ_ {
uint64_t pos;
m_float* in;
m_float* out;
- volatile uint is_running;// : 1; // => shreduler
+ volatile uint is_running;
struct SoundInfo_ *si;
f_bbqset func;
f_bbqrun run;
#endif
ANN static struct BBQ_ * new_driverinfo(void) {
- struct BBQ_ * di = (struct BBQ*)xcalloc(1, sizeof(struct BBQ_));
+ struct BBQ_ * di = (struct BBQ_*)xcalloc(1, sizeof(struct BBQ_));
di->func = dummy_driver;
di->run = vm_run;
di->driver = (DriverData*)xcalloc(1, sizeof(DriverData));
#include "gwion.h"
#include "plug.h"
-static void dummy_run(VM* vm, DriverInfo* di) {
+static void dummy_run(VM* vm, struct BBQ_* di) {
while(vm->bbq->is_running) {
di->run(vm);
++vm->bbq->pos;
}
}
-static m_bool dummy_ini(VM* vm __attribute__((unused)), DriverInfo* di __attribute__((unused))) {
+static m_bool dummy_ini(VM* vm __attribute__((unused)), struct BBQ_* di __attribute__((unused))) {
return GW_OK;
}
GWMODSTR(dummy2);
-GWDRIVER(Driver* d) {
+GWDRIVER(dummy2) {
d->ini = dummy_ini;
d->run = dummy_run;
}