Open Broadcaster Software
Free, open source software for live streaming and recording
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 
209  obs_volmeter_t *volmeter);
210 
230  const unsigned int ms);
231 
238 
245  const unsigned int ms);
246 
252 EXPORT unsigned int obs_volmeter_get_peak_hold(obs_volmeter_t *volmeter);
253 
254 typedef void (*obs_volmeter_updated_t)(void *param, float level,
255  float magnitude, float peak, float muted);
256 
258  obs_volmeter_updated_t callback, void *param);
260  obs_volmeter_updated_t callback, void *param);
261 
262 #ifdef __cplusplus
263 }
264 #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
void(* obs_volmeter_updated_t)(void *param, float level, float magnitude, float peak, float muted)
Definition: obs-audio-controls.h:254
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)
Definition: obs-internal.h:519
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 signal_handler_t * obs_volmeter_get_signal_handler(obs_volmeter_t *volmeter)
Get signal handler for the volume meter object.
EXPORT void obs_volmeter_add_callback(obs_volmeter_t *volmeter, obs_volmeter_updated_t callback, void *param)
EXPORT void obs_volmeter_set_peak_hold(obs_volmeter_t *volmeter, const unsigned int ms)
Set the peak hold time for the volume meter.
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 unsigned int obs_volmeter_get_peak_hold(obs_volmeter_t *volmeter)
Get the peak hold time for the 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
struct signal_handler signal_handler_t
Definition: signal.h:35
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.
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.