1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*****************************************************************************
4 * This file is part of jack_mixer
6 * Copyright (C) 2006 Nedko Arnaudov <nedko@arnaudov.name>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; version 2 of the License
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21 *****************************************************************************/
23 #ifndef JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
24 #define JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
29 %apply
double *OUTPUT
{ double * left_ptr
, double * right_ptr
, double * mono_ptr
};
32 #include "jack_mixer.h"
36 typedef void * jack_mixer_t
;
37 typedef void * jack_mixer_channel_t
;
38 typedef void * jack_mixer_output_channel_t
;
39 typedef void * jack_mixer_scale_t
;
40 typedef void * jack_mixer_threshold_t
;
44 const char * jack_client_name_ptr
);
59 get_last_midi_channel(
65 const char * channel_name
,
70 jack_mixer_channel_t channel
);
72 /* returned values are in dBFS */
74 channel_stereo_meter_read(
75 jack_mixer_channel_t channel
,
79 /* returned value is in dBFS */
81 channel_mono_meter_read(
82 jack_mixer_channel_t channel
,
87 jack_mixer_channel_t channel
);
90 channel_set_midi_change_callback(
91 jack_mixer_channel_t channel
,
92 void (*midi_change_callback
) (void*),
95 /* volume is in dBFS */
98 jack_mixer_channel_t channel
,
103 jack_mixer_channel_t channel
);
105 /* balance is from -1.0 (full left) to +1.0 (full right) */
107 channel_balance_write(
108 jack_mixer_channel_t channel
,
112 channel_balance_read(
113 jack_mixer_channel_t channel
);
116 channel_get_balance_midi_cc(
117 jack_mixer_channel_t channel
);
120 channel_set_balance_midi_cc(
121 jack_mixer_channel_t channel
,
122 unsigned int new_cc
);
125 channel_get_volume_midi_cc(
126 jack_mixer_channel_t channel
);
129 channel_set_volume_midi_cc(
130 jack_mixer_channel_t channel
,
131 unsigned int new_cc
);
134 channel_autoset_midi_cc(
135 jack_mixer_channel_t channel
);
139 jack_mixer_channel_t channel
);
141 /* returned value is in dBFS */
143 channel_abspeak_read(
144 jack_mixer_channel_t channel
);
147 channel_abspeak_reset(
148 jack_mixer_channel_t channel
);
152 jack_mixer_channel_t channel
);
156 jack_mixer_channel_t channel
);
160 jack_mixer_channel_t channel
);
164 jack_mixer_channel_t channel
);
168 jack_mixer_channel_t channel
);
172 jack_mixer_channel_t channel
);
176 jack_mixer_channel_t channel
,
180 channel_set_midi_scale(
181 jack_mixer_channel_t channel
,
182 jack_mixer_scale_t scale
);
189 jack_mixer_scale_t scale
,
194 scale_calculate_coefficients(
195 jack_mixer_scale_t scale
);
199 jack_mixer_scale_t scale
,
204 jack_mixer_scale_t scale
,
209 jack_mixer_scale_t scale
);
211 jack_mixer_output_channel_t
214 const char * channel_name
,
219 remove_output_channel(
220 jack_mixer_output_channel_t output_channel
);
223 output_channel_set_solo(
224 jack_mixer_output_channel_t output_channel
,
225 jack_mixer_channel_t channel
,
229 output_channel_set_muted(
230 jack_mixer_output_channel_t output_channel
,
231 jack_mixer_channel_t channel
,
234 #endif /* #ifndef JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED */