audio/fader.h file

Contents

Backend for faders or other volume/gain controls.

Classes

struct Fader
A Fader is a processor that is used for volume controls and pan.

Enums

enum FaderType { FADER_TYPE_NONE, FADER_TYPE_MONITOR, FADER_TYPE_AUDIO_CHANNEL, FADER_TYPE_MIDI_CHANNEL, FADER_TYPE_GENERIC }

Typedefs

using Fader = struct Fader
A Fader is a processor that is used for volume controls and pan.

Functions

void fader_init_loaded(Fader* self, bool is_project)
Inits fader after a project is loaded.
auto fader_new(FaderType type, Channel* ch, bool passthrough) -> Fader*
Creates a new fader.
void fader_set_amp(void* self, float amp)
Sets the amplitude of the fader.
void fader_add_amp(void* self, float amp)
Adds (or subtracts if negative) to the amplitude of the fader (clamped at 0.0 to 2.0).
void fader_set_muted(Fader* self, bool mute, bool trigger_undo, bool fire_events)
Sets track muted and optionally adds the action to the undo stack.
auto fader_get_muted(Fader* self) -> bool
Returns if the fader is muted.
auto fader_get_soloed(Fader* self) -> bool
Returns if the track is soloed.
auto fader_get_implied_soloed(Fader* self) -> bool
Returns whether the fader is not soloed on its own but its direct out (or its direct out's direct out, etc.) is soloed.
void fader_set_soloed(Fader* self, bool solo, bool trigger_undo, bool fire_events)
Sets track soloed and optionally adds the action to the undo stack.
auto fader_get_amp(void* self) -> float
Gets the fader amplitude (not db) FIXME is void * necessary? do it in the caller.
auto fader_get_mono_compat_enabled(Fader* self) -> bool
Gets whether mono compatibility is enabled.
void fader_set_mono_compat_enabled(Fader* self, bool enabled, bool fire_events)
Sets whether mono compatibility is enabled.
void fader_clear_buffers(Fader* self)
Clears all buffers.
void fader_set_fader_val(Fader* self, float fader_val)
Sets the fader levels from a normalized value 0.0-1.0 (such as in widgets).
void fader_disconnect_all(Fader* self)
Disconnects all ports connected to the fader.
void fader_copy_values(Fader* src, Fader* dest)
Copy the fader values from source to dest.
void fader_process(Fader* self, nframes_t local_offset, const nframes_t nframes)
Process the Fader.
void fader_update_track_pos(Fader* self, int pos)
Updates the track pos of the fader.
void fader_free(Fader* self)
Frees the fader members.