]> git.0d.be Git - jack_mixer.git/blob - jack_mixer.h
Move code to separate dirctory - dont intermix it with website stuff
[jack_mixer.git] / jack_mixer.h
1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*****************************************************************************
3  *
4  *   This file is part of jack_mixer
5  *    
6  *   Copyright (C) 2006 Nedko Arnaudov <nedko@arnaudov.name>
7  *    
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
11  *
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.
16  *
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.
20  *
21  *****************************************************************************/
22
23 #ifndef JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
24 #define JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
25
26 #ifdef SWIG
27 %module jack_mixer_c
28 %include "typemaps.i"
29 %apply double *OUTPUT { double * left_ptr, double * right_ptr, double * mono_ptr };
30 %{
31 #include "jack_mixer.h"
32 %}
33 #endif
34
35 int init(const char * jack_client_name_ptr);
36
37 int get_channels_count();
38
39 void * add_channel(const char * channel_name, int stereo);
40
41 const char * channel_get_name(void * channel);
42
43 /* returned values are in dBFS */
44 void channel_stereo_meter_read(void * channel, double * left_ptr, double * right_ptr);
45
46 /* returned value is in dBFS */
47 void channel_mono_meter_read(void * channel, double * mono_ptr);
48
49 int channel_is_stereo(void * channel);
50
51 /* volume is in dBFS */
52 void channel_volume_write(void * channel, double volume);
53
54 /* balance is from -1.0 (full left) to +1.0 (full right) */
55 void channel_balance_write(void * channel, double balance);
56
57 void remove_channel(void * channel);
58
59 void * get_main_mix_channel();
60
61 /* returned value is in dBFS */
62 double channel_abspeak_read(void * channel);
63
64 void channel_abspeak_reset(void * channel);
65
66 void channel_mute(void * channel);
67
68 void channel_unmute(void * channel);
69
70 void channel_solo(void * channel);
71
72 void channel_unsolo(void * channel);
73
74 int channel_is_muted(void * channel);
75
76 int channel_is_soloed(void * channel);
77
78 void channel_rename(void * channel, const char * name);
79
80 void uninit();
81
82 #endif /* #ifndef JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED */