Open Broadcaster Software
Free, open source software for live streaming and recording
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
obs-audio-controls.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2014 by Leonhard Oelke <leonhard@in-verted.de>
3 
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #pragma once
19 
20 #include "obs.h"
21 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
69 };
70 
81 
89 
96 EXPORT bool obs_fader_set_db(obs_fader_t *fader, const float db);
97 
103 EXPORT float obs_fader_get_db(obs_fader_t *fader);
104 
117 EXPORT bool obs_fader_set_deflection(obs_fader_t *fader, const float def);
118 
125 
131 EXPORT bool obs_fader_set_mul(obs_fader_t *fader, const float mul);
132 
138 EXPORT float obs_fader_get_mul(obs_fader_t *fader);
139 
150 
156 
157 typedef void (*obs_fader_changed_t)(void *param, float db);
158 
160  obs_fader_changed_t callback, void *param);
162  obs_fader_changed_t callback, void *param);
163 
175 
183 
195  obs_source_t *source);
196 
202 
222  const unsigned int ms);
223 
230 
236 
237 typedef void (*obs_volmeter_updated_t)(void *param,
238  const float magnitude[MAX_AUDIO_CHANNELS],
239  const float peak[MAX_AUDIO_CHANNELS],
240  const float input_peak[MAX_AUDIO_CHANNELS]);
241 
243  obs_volmeter_updated_t callback, void *param);
245  obs_volmeter_updated_t callback, void *param);
246 
247 #ifdef __cplusplus
248 }
249 #endif
EXPORT bool obs_fader_set_db(obs_fader_t *fader, const float db)
Set the fader dB value.
EXPORT bool obs_fader_set_mul(obs_fader_t *fader, const float mul)
Set the fader value from multiplier.
EXPORT bool obs_volmeter_attach_source(obs_volmeter_t *volmeter, obs_source_t *source)
Attach the volume meter to a source.
A simple cubic fader for controlling audio levels.
Definition: obs-audio-controls.h:44
EXPORT obs_volmeter_t * obs_volmeter_create(enum obs_fader_type type)
Create a volume meter.
obs_fader_type
Fader types.
Definition: obs-audio-controls.h:36
EXPORT bool obs_fader_attach_source(obs_fader_t *fader, obs_source_t *source)
Attach the fader to a source.
EXPORT void obs_volmeter_remove_callback(obs_volmeter_t *volmeter, obs_volmeter_updated_t callback, void *param)
#define MAX_AUDIO_CHANNELS
Definition: audio-io.h:29
Definition: obs-internal.h:531
EXPORT float obs_fader_get_db(obs_fader_t *fader)
Get the current fader dB value.
EXPORT obs_fader_t * obs_fader_create(enum obs_fader_type type)
Create a fader.
EXPORT void obs_volmeter_add_callback(obs_volmeter_t *volmeter, obs_volmeter_updated_t callback, void *param)
EXPORT void obs_volmeter_set_update_interval(obs_volmeter_t *volmeter, const unsigned int ms)
Set the update interval for the volume meter.
EXPORT void obs_volmeter_destroy(obs_volmeter_t *volmeter)
Destroy a volume meter.
EXPORT void obs_fader_destroy(obs_fader_t *fader)
Destroy a fader.
EXPORT void obs_fader_detach_source(obs_fader_t *fader)
Detach the fader from the currently attached source.
#define EXPORT
Definition: c99defs.h:49
void(* obs_fader_changed_t)(void *param, float db)
Definition: obs-audio-controls.h:157
struct obs_volmeter obs_volmeter_t
Definition: obs.h:64
struct obs_fader obs_fader_t
Definition: obs.h:63
EXPORT float obs_fader_get_deflection(obs_fader_t *fader)
Get the current fader deflection.
EXPORT float obs_fader_get_mul(obs_fader_t *fader)
Get the current fader multiplier value.
void(* obs_volmeter_updated_t)(void *param, const float magnitude[MAX_AUDIO_CHANNELS], const float peak[MAX_AUDIO_CHANNELS], const float input_peak[MAX_AUDIO_CHANNELS])
Definition: obs-audio-controls.h:237
A fader compliant to IEC 60-268-18.
Definition: obs-audio-controls.h:64
EXPORT bool obs_fader_set_deflection(obs_fader_t *fader, const float def)
Set the fader value from deflection.
Logarithmic fader.
Definition: obs-audio-controls.h:68
EXPORT void obs_fader_add_callback(obs_fader_t *fader, obs_fader_changed_t callback, void *param)
EXPORT void obs_fader_remove_callback(obs_fader_t *fader, obs_fader_changed_t callback, void *param)
Main libobs header used by applications.
EXPORT void obs_volmeter_detach_source(obs_volmeter_t *volmeter)
Detach the volume meter from the currently attached source.
EXPORT unsigned int obs_volmeter_get_update_interval(obs_volmeter_t *volmeter)
Get the update interval currently used for the volume meter.
EXPORT int obs_volmeter_get_nr_channels(obs_volmeter_t *volmeter)
Get the number of channels which are configured for this source.