Expose voice detune parameter of the lv2 plugin
[zyn.git] / filter_sv.h
blob793835034edcd423a8b35abd2bf15b636ff9045d
1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*****************************************************************************
4 * Copyright (C) 2007,2008,2009 Nedko Arnaudov <nedko@arnaudov.name>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *****************************************************************************/
21 #ifndef FILTER_SV_H__9B6BCECA_4958_4B6E_A4F6_D73B442FA1B6__INCLUDED
22 #define FILTER_SV_H__9B6BCECA_4958_4B6E_A4F6_D73B442FA1B6__INCLUDED
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 #if 0
28 } /* Adjust editor indent */
29 #endif
31 typedef struct _zyn_filter_sv_handle { int unused; } * zyn_filter_sv_handle;
33 bool
34 zyn_filter_sv_create(
35 float sample_rate,
36 float frequency,
37 float q_factor,
38 zyn_filter_sv_handle * handle_ptr);
40 int
41 zyn_filter_sv_get_type(
42 zyn_filter_sv_handle filter_handle);
44 void
45 zyn_filter_sv_set_type(
46 zyn_filter_sv_handle filter_handle,
47 int type);
49 float
50 zyn_filter_sv_get_frequency(
51 zyn_filter_sv_handle filter_handle);
53 void
54 zyn_filter_sv_set_frequency(
55 zyn_filter_sv_handle filter_handle,
56 float frequency);
58 float
59 zyn_filter_sv_get_q_factor(
60 zyn_filter_sv_handle filter_handle);
62 void
63 zyn_filter_sv_set_q_factor(
64 zyn_filter_sv_handle filter_handle,
65 float q_factor);
67 float
68 zyn_filter_sv_get_frequency_tracking(
69 zyn_filter_sv_handle filter_handle);
71 void
72 zyn_filter_sv_set_frequency_tracking(
73 zyn_filter_sv_handle filter_handle,
74 float frequency_tracking);
76 float
77 zyn_filter_sv_get_gain(
78 zyn_filter_sv_handle filter_handle);
80 void
81 zyn_filter_sv_set_gain(
82 zyn_filter_sv_handle filter_handle,
83 float gain);
85 int
86 zyn_filter_sv_get_stages(
87 zyn_filter_sv_handle filter_handle);
89 void
90 zyn_filter_sv_set_stages(
91 zyn_filter_sv_handle filter_handle,
92 int stages);
94 void
95 zyn_filter_sv_destroy(
96 zyn_filter_sv_handle handle);
98 bool
99 zyn_filter_sv_processor_create(
100 zyn_filter_sv_handle filter_handle,
101 zyn_filter_processor_handle * processor_handle_ptr);
103 void
104 zyn_filter_sv_processor_destroy(
105 zyn_filter_processor_handle processor_handle);
107 void
108 zyn_filter_sv_processor_init(
109 zyn_filter_processor_handle processor_handle,
110 float note_base_frequency,
111 float velocity_adjust);
113 void
114 zyn_filter_sv_process(
115 zyn_filter_processor_handle processor_handle,
116 float frequency_adjust, /* lfo/envelope adjust */
117 zyn_sample_type *samples);
119 #if 0
120 { /* Adjust editor indent */
121 #endif
122 #ifdef __cplusplus
123 } /* extern "C" */
124 #endif
126 #endif /* #ifndef FILTER_SV_H__9B6BCECA_4958_4B6E_A4F6_D73B442FA1B6__INCLUDED */