VCV Rack API v2
|
#include <Port.hpp>
Public Types | |
enum | Type { INPUT , OUTPUT } |
Public Member Functions | |
void | setVoltage (float voltage, uint8_t channel=0) |
Sets the voltage of the given channel. | |
float | getVoltage (uint8_t channel=0) |
Returns the voltage of the given channel. | |
float | getPolyVoltage (uint8_t channel) |
Returns the given channel's voltage if the port is polyphonic, otherwise returns the first voltage (channel 0). | |
float | getNormalVoltage (float normalVoltage, uint8_t channel=0) |
Returns the voltage if a cable is connected, otherwise returns the given normal voltage. | |
float | getNormalPolyVoltage (float normalVoltage, uint8_t channel) |
float * | getVoltages (uint8_t firstChannel=0) |
Returns a pointer to the array of voltages beginning with firstChannel. | |
void | readVoltages (float *v) |
Copies the port's voltages to an array of size at least channels . | |
void | writeVoltages (const float *v) |
Copies an array of size at least channels to the port's voltages. | |
void | clearVoltages () |
Sets all voltages to 0. | |
float | getVoltageSum () |
Returns the sum of all voltages. | |
float | getVoltageRMS () |
Returns the root-mean-square of all voltages. | |
template<typename T > | |
T | getVoltageSimd (uint8_t firstChannel) |
template<typename T > | |
T | getPolyVoltageSimd (uint8_t firstChannel) |
template<typename T > | |
T | getNormalVoltageSimd (T normalVoltage, uint8_t firstChannel) |
template<typename T > | |
T | getNormalPolyVoltageSimd (T normalVoltage, uint8_t firstChannel) |
template<typename T > | |
void | setVoltageSimd (T voltage, uint8_t firstChannel) |
void | setChannels (uint8_t channels) |
Sets the number of polyphony channels. | |
int | getChannels () |
Returns the number of channels. | |
bool | isConnected () |
Returns whether a cable is connected to the Port. | |
bool | isMonophonic () |
Returns whether the cable exists and has 1 channel. | |
bool | isPolyphonic () |
Returns whether the cable exists and has more than 1 channel. | |
DEPRECATED float | normalize (float normalVoltage) |
Use getNormalVoltage() instead. | |
Public Attributes | ||
union { | ||
float voltages [PORT_MAX_CHANNELS] = {} | ||
Unstable API. More... | ||
float value | ||
DEPRECATED. More... | ||
}; | ||
Voltage of the port. | ||
union { | ||
uint8_t channels = 0 | ||
Number of polyphonic channels. More... | ||
uint8_t active | ||
DEPRECATED. More... | ||
}; | ||
Light | plugLights [3] | |
For rendering plug lights on cables. | ||
|
inline |
Sets the voltage of the given channel.
|
inline |
Returns the voltage of the given channel.
Because of proper bookkeeping, all channels higher than the input port's number of channels should be 0V.
|
inline |
Returns the given channel's voltage if the port is polyphonic, otherwise returns the first voltage (channel 0).
|
inline |
Returns the voltage if a cable is connected, otherwise returns the given normal voltage.
|
inline |
|
inline |
Returns a pointer to the array of voltages beginning with firstChannel.
The pointer can be used for reading and writing.
|
inline |
Copies the port's voltages to an array of size at least channels
.
|
inline |
Copies an array of size at least channels
to the port's voltages.
Remember to set the number of channels before calling this method.
|
inline |
Sets all voltages to 0.
|
inline |
Returns the sum of all voltages.
|
inline |
Returns the root-mean-square of all voltages.
Uses sqrt() which is slow, so use a custom approximation if calling frequently.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets the number of polyphony channels.
Also clears voltages of higher channels. If disconnected, this does nothing (channels
remains 0). If 0 is given, channels
is set to 1 but all voltages are cleared.
|
inline |
Returns the number of channels.
If the port is disconnected, it has 0 channels.
|
inline |
Returns whether a cable is connected to the Port.
You can use this for skipping code that generates output voltages.
|
inline |
Returns whether the cable exists and has 1 channel.
|
inline |
Returns whether the cable exists and has more than 1 channel.
|
inline |
Use getNormalVoltage() instead.
"Normal" voltage is the correct term, not "normalized" voltage.
float rack::engine::Port::voltages[PORT_MAX_CHANNELS] = {} |
Unstable API.
Use getVoltage() and setVoltage() instead.
float rack::engine::Port::value |
DEPRECATED.
Unstable API. Use getVoltage() and setVoltage() instead.
union { ... } rack::engine::Port |
Voltage of the port.
uint8_t rack::engine::Port::channels = 0 |
Number of polyphonic channels.
DEPRECATED. Unstable API. Use set/getChannels() instead. May be 0 to PORT_MAX_CHANNELS. 0 channels means disconnected.
uint8_t rack::engine::Port::active |
DEPRECATED.
Unstable API. Use isConnected() instead.
union { ... } rack::engine::Port |
Light rack::engine::Port::plugLights[3] |
For rendering plug lights on cables.
Green for positive, red for negative, and blue for polyphonic.