|
Zrythm v2.0.0-alpha.0+26.6dd8d70b0368
a highly automated and intuitive digital audio workstation
|
A Fader is a processor that is used for volume controls and pan. More...
#include <src/structure/tracks/fader.h>


Public Types | |
| enum class | MidiFaderMode : basic_enum_base_type_t { MIDI_FADER_MODE_VEL_MULTIPLIER , MIDI_FADER_MODE_CC_VOLUME } |
| using | ShouldBeMutedCallback = std::function<bool (bool fader_solo_status)> |
| A callback to check if the fader should be muted based on various external factors (such as solo status of other tracks). | |
| using | MuteGainCallback = std::function<float ()> |
| Callback to get the gain that should be used if the fader is effectively muted. | |
| using | PreProcessAudioCallback |
| Callback to pre-process the incoming audio before applying gain, pan, etc. | |
Public Member Functions | |
| Fader (dsp::ProcessorBase::ProcessorBaseDependencies dependencies, dsp::PortType signal_type, bool hard_limit_output, bool make_params_automatable, std::optional< std::function< utils::Utf8String()> > owner_name_provider, ShouldBeMutedCallback should_be_muted_cb, QObject *parent=nullptr) | |
| Creates a new fader. | |
| MidiFaderMode | midiMode () const |
| void | setMidiMode (MidiFaderMode mode) |
| Q_SIGNAL void | midiModeChanged (MidiFaderMode mode) |
| zrythm::dsp::ProcessorParameter * | gain () const |
| zrythm::dsp::ProcessorParameter * | balance () const |
| zrythm::dsp::ProcessorParameter * | mute () const |
| zrythm::dsp::ProcessorParameter * | solo () const |
| zrythm::dsp::ProcessorParameter * | listen () const |
| zrythm::dsp::ProcessorParameter * | monoToggle () const |
| zrythm::dsp::ProcessorParameter * | swapPhaseToggle () const |
| bool | currently_muted () const |
| Returns if the fader is muted. | |
| bool | currently_soloed () const |
| Returns if the track is soloed. | |
| bool | currently_listened () const |
| Returns whether the fader is listened. | |
| float | get_current_amp () const |
| Gets the fader amplitude (not db) | |
| std::string | db_string_getter () const |
| void | set_mute_gain_callback (MuteGainCallback cb) |
| void | set_preprocess_audio_callback (PreProcessAudioCallback cb) |
| void | custom_prepare_for_processing (sample_rate_t sample_rate, nframes_t max_block_length) override |
| void | custom_release_resources () override |
| void | custom_process_block (EngineProcessTimeInfo time_nfo) noexcept override |
| Custom processor logic after processing all owned parameters. | |
| bool | is_audio () const |
| bool | is_midi () const |
| bool | hard_limiting_enabled () const |
| dsp::ProcessorParameter & | get_amp_param () const |
| dsp::ProcessorParameter & | get_balance_param () const |
| dsp::ProcessorParameter & | get_mute_param () const |
| dsp::ProcessorParameter & | get_solo_param () const |
| dsp::ProcessorParameter & | get_listen_param () const |
| dsp::ProcessorParameter & | get_mono_compat_enabled_param () const |
| dsp::ProcessorParameter & | get_swap_phase_param () const |
| dsp::AudioPort & | get_stereo_in_port () const |
| dsp::AudioPort & | get_stereo_out_port () const |
| dsp::MidiPort & | get_midi_in_port () const |
| dsp::MidiPort & | get_midi_out_port () const |
| Public Member Functions inherited from zrythm::dsp::ProcessorBase | |
| ProcessorBase (ProcessorBaseDependencies dependencies, utils::Utf8String name={ u8"ProcessorBase" }) | |
| void | set_name (const utils::Utf8String &name) |
| Set a custom name to be used in the DSP graph. | |
| void | add_input_port (const dsp::PortUuidReference &uuid) |
| void | add_output_port (const dsp::PortUuidReference &uuid) |
| void | add_parameter (const dsp::ProcessorParameterUuidReference &uuid) |
| auto & | get_input_ports () const |
| auto & | get_output_ports () const |
| auto & | get_parameters () const |
| utils::Utf8String | get_node_name () const final |
| Returns a human friendly name of the node. | |
| void | process_block (EngineProcessTimeInfo time_nfo) noexcept final |
| Calls custom_process_block() internally after processing all the parameters. | |
| void | prepare_for_processing (sample_rate_t sample_rate, nframes_t max_block_length) final |
| Called to allocate resources required for processing. | |
| void | release_resources () final |
| Called to release resources allocated by prepare_for_processing(). | |
| Public Member Functions inherited from zrythm::dsp::graph::IProcessable | |
| virtual nframes_t | get_single_playback_latency () const |
| Returns the latency of only the given processable, without adding the previous/next latencies. | |
Friends | |
| void | init_from (Fader &obj, const Fader &other, utils::ObjectCloneType clone_type) |
| void | to_json (nlohmann::json &j, const Fader &fader) |
| void | from_json (const nlohmann::json &j, Fader &fader) |
Additional Inherited Members | |
| Protected Member Functions inherited from zrythm::dsp::ProcessorBase | |
| auto | dependencies () const |
A Fader is a processor that is used for volume controls and pan.
| using zrythm::structure::tracks::Fader::MuteGainCallback = std::function<float ()> |
Callback to pre-process the incoming audio before applying gain, pan, etc.
Mainly for use by the monitor fader.
| using zrythm::structure::tracks::Fader::ShouldBeMutedCallback = std::function<bool (bool fader_solo_status)> |
A callback to check if the fader should be muted based on various external factors (such as solo status of other tracks).
| current_solo_status | The fader's own solo status. |
|
strong |
| zrythm::structure::tracks::Fader::Fader | ( | dsp::ProcessorBase::ProcessorBaseDependencies | dependencies, |
| dsp::PortType | signal_type, | ||
| bool | hard_limit_output, | ||
| bool | make_params_automatable, | ||
| std::optional< std::function< utils::Utf8String()> > | owner_name_provider, | ||
| ShouldBeMutedCallback | should_be_muted_cb, | ||
| QObject * | parent = nullptr ) |
Creates a new fader.
| hard_limit_output | Whether the output should be hard-limited (only applies to audio faders). This should be true for the master track fader, the monitor fader and the sample processor (deprecated?) fader. |
| make_params_automatable | Whether to make (a subset of) the parameters automatable. If false, no parameter will be automatable. |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Reimplemented from zrythm::dsp::ProcessorBase.
|
overridevirtualnoexcept |
Custom processor logic after processing all owned parameters.
By default, this does passthrough to same-type ports.
Reimplemented from zrythm::dsp::ProcessorBase.
|
overridevirtual |
Reimplemented from zrythm::dsp::ProcessorBase.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
read |
|
read |
|
read |
|
readwrite |
|
read |
|
read |
|
read |
|
read |