#ifndef JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
#define JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED
-#ifdef SWIG
-%module jack_mixer_c
-%include "typemaps.i"
-%apply double *OUTPUT { double * left_ptr, double * right_ptr, double * mono_ptr };
-%{
#include <stdbool.h>
-#include "jack_mixer.h"
-%}
-#endif
+#include <jack/jack.h>
#include "scale.h"
typedef void * jack_mixer_t;
+typedef void * jack_mixer_kmeter_t;
typedef void * jack_mixer_channel_t;
typedef void * jack_mixer_output_channel_t;
typedef void * jack_mixer_threshold_t;
jack_mixer_t mixer,
int new_channel);
-
int
get_midi_behavior_mode(
jack_mixer_t mixer);
const char * channel_name,
bool stereo);
+void kmeter_init(jack_mixer_kmeter_t km,
+ int sr,
+ int fsize,
+ float hold,
+ float fall);
+
+void kmeter_process(
+ jack_mixer_kmeter_t km,
+ jack_default_audio_sample_t *p,
+ int start,
+ int end);
+
const char *
channel_get_name(
jack_mixer_channel_t channel);
jack_mixer_channel_t channel,
double * mono_ptr);
+
+/* returned values are in dBFS */
+void
+channel_stereo_kmeter_read(
+ jack_mixer_channel_t channel,
+ double * left_ptr,
+ double * right_ptr,
+ double * left_rms_ptr,
+ double * right_rms_ptr);
+
+/* returned value is in dBFS */
+void
+channel_mono_kmeter_read(
+ jack_mixer_channel_t channel,
+ double * mono_ptr,
+ double * mono_rms_ptr);
+
+
+
bool
channel_is_stereo(
jack_mixer_channel_t channel);
output_channel_is_prefader(
jack_mixer_output_channel_t output_channel);
+void output_channel_set_in_prefader(jack_mixer_output_channel_t output_channel,
+ jack_mixer_channel_t input_channel,
+ bool prefader_value);
+
+bool
+output_channel_is_in_prefader(
+ jack_mixer_output_channel_t output_channel,
+ jack_mixer_channel_t channel);
+
#endif /* #ifndef JACK_MIXER_H__DAEB51D8_5861_40F2_92E4_24CA495A384D__INCLUDED */