4 # cython: language_level=3
7 from libcpp cimport bool
9 cdef extern from "jack_mixer.h":
11 ctypedef void * jack_mixer_scale_t;
13 cdef jack_mixer_scale_t scale_create()
15 cdef bool scale_add_threshold(jack_mixer_scale_t scale, float db, float scale_value)
16 cdef void scale_remove_thresholds(jack_mixer_scale_t scale)
17 cdef void scale_calculate_coefficients(jack_mixer_scale_t scale)
18 cdef double scale_db_to_scale(jack_mixer_scale_t scale, double db)
19 cdef double scale_scale_to_db(jack_mixer_scale_t scale, double scale_value)
20 cdef void scale_destroy(jack_mixer_scale_t scale)
23 ctypedef void * jack_mixer_t
24 ctypedef void * jack_mixer_channel_t
25 ctypedef void * jack_mixer_output_channel_t
26 ctypedef void * jack_mixer_threshold_t
28 ctypedef void (*midi_change_callback)(void *)
30 cdef enum midi_behavior_mode:
34 cdef jack_mixer_t mixer_create "create" (const char * jack_client_name_ptr, bool stereo)
35 cdef void mixer_destroy "destroy" (jack_mixer_t mixer)
36 cdef unsigned int mixer_get_channels_count "get_channels_count" (jack_mixer_t mixer)
37 cdef const char * mixer_get_client_name "get_client_name" (jack_mixer_t mixer)
38 cdef int mixer_get_last_midi_cc "get_last_midi_cc" (jack_mixer_t mixer)
39 cdef unsigned int mixer_set_last_midi_cc "set_last_midi_cc" (
42 cdef int mixer_get_midi_behavior_mode "get_midi_behavior_mode" (jack_mixer_t mixer)
43 cdef unsigned int mixer_set_midi_behavior_mode "set_midi_behavior_mode" (
45 midi_behavior_mode mode)
46 cdef jack_mixer_channel_t mixer_add_channel "add_channel" (
48 const char * channel_name,
50 cdef jack_mixer_output_channel_t mixer_add_output_channel "add_output_channel" (
52 const char * channel_name,
57 #cdef void channels_volumes_read(jack_mixer_t mixer)
58 #cdef void remove_channels(jack_mixer_t mixer)
61 cdef const char * channel_get_name(jack_mixer_channel_t channel)
62 cdef void channel_rename(jack_mixer_channel_t channel, const char * name)
64 cdef double channel_abspeak_read(jack_mixer_channel_t channel)
65 cdef void channel_abspeak_reset(jack_mixer_channel_t channel)
67 cdef void channel_mono_meter_read(jack_mixer_channel_t channel, double * mono_ptr)
68 cdef void channel_stereo_meter_read(
69 jack_mixer_channel_t channel,
73 cdef void channel_mono_kmeter_read(
74 jack_mixer_channel_t channel,
76 double * left_rms_ptr)
77 cdef void channel_stereo_kmeter_read(
78 jack_mixer_channel_t channel,
81 double * left_rms_ptr,
82 double * right_rms_ptr)
84 cdef void channel_volume_write(jack_mixer_channel_t channel, double volume)
85 cdef double channel_volume_read(jack_mixer_channel_t channel)
87 cdef double channel_balance_read(jack_mixer_channel_t channel)
88 cdef void channel_balance_write(jack_mixer_channel_t channel, double balance)
90 cdef bool channel_is_out_muted(jack_mixer_channel_t channel)
91 cdef void channel_out_mute(jack_mixer_channel_t channel)
92 cdef void channel_out_unmute(jack_mixer_channel_t channel)
94 cdef bool channel_is_soloed(jack_mixer_channel_t channel)
95 cdef void channel_solo(jack_mixer_channel_t channel)
96 cdef void channel_unsolo(jack_mixer_channel_t channel)
98 cdef bool channel_is_stereo(jack_mixer_channel_t channel)
100 cdef void channel_set_midi_change_callback(
101 jack_mixer_channel_t channel,
102 midi_change_callback callback,
104 cdef bool channel_get_midi_in_got_events(jack_mixer_channel_t channel)
106 cdef void channel_autoset_balance_midi_cc(jack_mixer_channel_t channel)
107 cdef void channel_autoset_mute_midi_cc(jack_mixer_channel_t channel)
108 cdef void channel_autoset_solo_midi_cc(jack_mixer_channel_t channel)
109 cdef void channel_autoset_volume_midi_cc(jack_mixer_channel_t channel)
111 cdef int channel_get_balance_midi_cc(jack_mixer_channel_t channel)
112 cdef int channel_get_mute_midi_cc(jack_mixer_channel_t channel)
113 cdef int channel_get_solo_midi_cc(jack_mixer_channel_t channel)
114 cdef int channel_get_volume_midi_cc(jack_mixer_channel_t channel)
115 cdef unsigned int channel_set_balance_midi_cc(jack_mixer_channel_t channel, int new_cc)
116 cdef unsigned int channel_set_mute_midi_cc(jack_mixer_channel_t channel, int new_cc)
117 cdef unsigned int channel_set_solo_midi_cc(jack_mixer_channel_t channel, int new_cc)
118 cdef unsigned int channel_set_volume_midi_cc(jack_mixer_channel_t channel, int new_cc)
120 cdef void channel_set_midi_scale(jack_mixer_channel_t channel, jack_mixer_scale_t scale)
122 cdef void channel_set_midi_cc_balance_picked_up(jack_mixer_channel_t channel, bool status)
123 cdef void channel_set_midi_cc_volume_picked_up(jack_mixer_channel_t channel, bool status)
125 cdef void remove_channel(jack_mixer_channel_t channel)
128 cdef bool output_channel_is_muted(
129 jack_mixer_output_channel_t output_channel,
130 jack_mixer_channel_t channel)
131 cdef void output_channel_set_muted(
132 jack_mixer_output_channel_t output_channel,
133 jack_mixer_channel_t channel,
135 cdef bool output_channel_is_prefader(
136 jack_mixer_output_channel_t output_channel)
137 cdef void output_channel_set_prefader(
138 jack_mixer_output_channel_t output_channel,
140 cdef bool output_channel_is_in_prefader(
141 jack_mixer_output_channel_t output_channel,
142 jack_mixer_channel_t input_channel)
143 cdef void output_channel_set_in_prefader(
144 jack_mixer_output_channel_t output_channel,
145 jack_mixer_channel_t input_channel,
147 cdef bool output_channel_is_solo(
148 jack_mixer_output_channel_t output_channel,
149 jack_mixer_channel_t channel)
150 cdef void output_channel_set_solo(
151 jack_mixer_output_channel_t output_channel,
152 jack_mixer_channel_t channel,
154 cdef void remove_output_channel(jack_mixer_output_channel_t output_channel)