summaryrefslogtreecommitdiff
path: root/deadbeef.h
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-11-21 19:49:34 +0100
committerGravatar waker <wakeroid@gmail.com>2010-11-21 19:49:45 +0100
commita540df0dcbd66f9e178603db1081cef64d1f7db1 (patch)
treeb35a8572bf53d9011f970c6c8ef96f3c20406856 /deadbeef.h
parent05a3f0a6fc4c3ca2776d55e36b38c8c07e0d3184 (diff)
changed DSP plugin API
Diffstat (limited to 'deadbeef.h')
-rw-r--r--deadbeef.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/deadbeef.h b/deadbeef.h
index 4296a7e7..ce77478c 100644
--- a/deadbeef.h
+++ b/deadbeef.h
@@ -740,15 +740,22 @@ typedef struct DB_output_s {
} DB_output_t;
// dsp plugin
+
+typedef struct DB_dsp_instance_s {
+ struct DB_dsp_instance_s *next;
+ unsigned enabled : 1;
+} DB_dsp_instance_t;
+
typedef struct DB_dsp_s {
DB_plugin_t plugin;
+
+ DB_dsp_instance_t (*open) (void);
+ void (*close) (DB_dsp_instance_t *inst);
+
// process gets called before SRC
// stereo samples are stored in interleaved format
// stereo sample is counted as 1 sample
- int (*process) (char * restrict samples, ddb_waveformat_t * restrict fmt);
- void (*reset) (void);
- void (*enable) (int e);
- int (*enabled) (void);
+ int (*process) (DB_dsp_instance_t *inst, float *samples, int frames, int channels);
} DB_dsp_t;
// misc plugin