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_scale_t;
39 typedef void * jack_mixer_threshold_t;
43 const char * jack_client_name_ptr);
58 get_last_midi_channel(
64 const char * channel_name,
69 jack_mixer_channel_t channel);
71 /* returned values are in dBFS */
73 channel_stereo_meter_read(
74 jack_mixer_channel_t channel,
78 /* returned value is in dBFS */
80 channel_mono_meter_read(
81 jack_mixer_channel_t channel,
86 jack_mixer_channel_t channel);
89 channel_set_midi_change_callback(
90 jack_mixer_channel_t channel,
91 void (*midi_change_callback) (void*),
94 /* volume is in dBFS */
97 jack_mixer_channel_t channel,
102 jack_mixer_channel_t channel);
104 /* balance is from -1.0 (full left) to +1.0 (full right) */
106 channel_balance_write(
107 jack_mixer_channel_t channel,
111 channel_balance_read(
112 jack_mixer_channel_t channel);
115 channel_get_balance_midi_cc(
116 jack_mixer_channel_t channel);
119 channel_set_balance_midi_cc(
120 jack_mixer_channel_t channel,
121 unsigned int new_cc);
124 channel_get_volume_midi_cc(
125 jack_mixer_channel_t channel);
128 channel_set_volume_midi_cc(
129 jack_mixer_channel_t channel,
130 unsigned int new_cc);
134 jack_mixer_channel_t channel);
136 /* returned value is in dBFS */
138 channel_abspeak_read(
139 jack_mixer_channel_t channel);
142 channel_abspeak_reset(
143 jack_mixer_channel_t channel);
147 jack_mixer_channel_t channel);
151 jack_mixer_channel_t channel);
155 jack_mixer_channel_t channel);
159 jack_mixer_channel_t channel);
163 jack_mixer_channel_t channel);
167 jack_mixer_channel_t channel);
171 jack_mixer_channel_t channel,
175 channel_set_midi_scale(
176 jack_mixer_channel_t channel,
177 jack_mixer_scale_t scale);
184 jack_mixer_scale_t scale,
189 scale_calculate_coefficients(
190 jack_mixer_scale_t scale);
194 jack_mixer_scale_t scale,
199 jack_mixer_scale_t scale,
204 jack_mixer_scale_t scale);
206 #endif /* #ifndef JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED */