10#ifndef __AUDIO_CONTROL_PORT_H__
11#define __AUDIO_CONTROL_PORT_H__
71 const Port *
const self,
72 float normalized_val);
89#define control_port_is_val_toggled(val) (val > 0.001f)
94#define control_port_is_toggled(self) \
95 (control_port_is_val_toggled (self->control))
NONNULL PURE float control_port_normalized_val_to_real(const Port *const self, float normalized_val)
Converts normalized value (0.0 to 1.0) to real value (eg.
PURE float control_port_get_normalized_val(Port *self)
Get the current normalized value of the control.
PURE float control_port_get_unsnapped_val(Port *self)
Get the current real unsnapped value of the control.
PURE float control_port_get_val(Port *self)
Get the current real value of the control.
int control_port_get_int(Port *self)
Gets the control value for an integer port.
void control_port_set_real_val(Port *self, float val)
Get the default real value of the control.
PURE float control_port_get_default_val(Port *self)
Get the default real value of the control.
void control_port_set_toggled(Port *self, bool toggled, bool forward_events)
Wrapper over port_set_control_value() for toggles.
float control_port_get_snapped_val(Port *self)
Returns the snapped value (eg, if toggle, returns 0.f or 1.f).
HOT NONNULL void control_port_set_val_from_normalized(Port *self, float val, bool automating)
Updates the actual value.
void control_port_set_real_val_w_events(Port *self, float val)
Get the default real value of the control and sends UI events.
float control_port_get_snapped_val_from_val(Port *self, float val)
Returns the snapped value (eg, if toggle, returns 0.f or 1.f).
NONNULL PURE float control_port_real_val_to_normalized(const Port *const self, float real_val)
Converts real value (eg.
PURE int control_port_get_int_from_val(float val)
Gets the control value for an integer port.
Used for queueing changes to be applied during processing.
float real_val
Real (not normalized) value to set.
PortFlags flag1
Flag to identify the port the change is for.
PortFlags2 flag2
Flag to identify the port the change is for.
Must ONLY be created via port_new()
Object to hold information for the Tempo track.