RNBO: common/RNBO_Types.h File Reference
Various type aliases used throughout RNBO. More...
#include "RNBO_CompilerMacros.h"
#include "RNBO_Std.h"
Go to the source code of this file.
Data Structures | |
struct | RNBO::ParameterInfo |
struct | RNBO::MessageInfo |
Macros | |
#define | RNBO_NO_DENORM_TEST |
#define | CALL_MEMBER_FN(ptrToObject, ptrToMember) ((*ptrToObject).*(ptrToMember)) |
#define | RNBO_Q(x) #x |
#define | RNBO_QUOTE(x) RNBO_Q(x) |
Typedefs | |
using | RNBO::number = double |
RNBO treats all numbers as double-precision floating point values. | |
using | RNBO::SampleValue = double |
RNBO sample values are represented as double-precision floating points. | |
using | RNBO::signal = SampleValue * |
a RNBO signal is an array of SampleValues | |
using | RNBO::generic = number |
using | RNBO::ParameterValue = number |
the value of a RNBO parameter | |
using | RNBO::Sample = SampleValue |
an audio sample value | |
template<size_t L> | |
using | RNBO::SampleArray = Sample *[L] |
a modifiable array of samples More... | |
template<size_t L> | |
using | RNBO::ConstSampleArray = const Sample *[L] |
a read-only array of samples More... | |
using | RNBO::MillisecondTime = number |
working with time is usually done in milliseconds | |
using | RNBO::Tempo = number |
tempo (BPM) is represented as a floating point | |
using | RNBO::BeatTime = number |
time in terms of quarter notes More... | |
using | RNBO::Index = size_t |
an index into an array | |
using | RNBO::Int = intptr_t |
the integer type for RNBO | |
using | RNBO::UInt = uint64_t |
using | RNBO::ParameterIndex = Index |
a parameter identifier | |
using | RNBO::MessageIndex = Index |
a message identifier | |
using | RNBO::OutletIndex = Index |
an outlet identifier | |
using | RNBO::SignalIndex = Index |
an signal identifier | |
using | RNBO::SampleIndex = Int |
a sample array index | |
using | RNBO::SampleOffset = Int |
used to represent an index offset from some origin | |
using | RNBO::ClockId = Int |
a clock identifier | |
using | RNBO::ParameterInterfaceId = const void * |
an identifier for a ParameterInterface | |
using | RNBO::DataRefIndex = Int |
an index into an external data reference More... | |
using | RNBO::ProbingIndex = Int |
an index into the array of signal probes More... | |
using | RNBO::ConstCharPointer = const char * |
const pointer to char | |
using | RNBO::ConstByteArray = const uint8_t * |
an alias to aid type annotation | |
using | RNBO::BinOpInt = int32_t |
a signed integer for bitwise operations | |
using | RNBO::UBinOpInt = uint32_t |
an unsigned integer for bitwise operations | |
using | RNBO::MessageTag = uint32_t |
a unique identifier for a tag More... | |
using | RNBO::MessageTagInfo = const char * |
the human-readable name of an inport or outport | |
Enumerations | |
enum | TransportState { STOPPED, RUNNING } |
enum | RNBO::ParameterType { RNBO::ParameterTypeNumber = 0, RNBO::ParameterTypeBang, RNBO::ParameterTypeList, RNBO::ParameterTypeSignal, ParameterTypeCount } |
enum | RNBO::IOType { RNBO::IOTypeInput, RNBO::IOTypeOutput, RNBO::IOTypeUndefined } |
enum | LogLevel { Info, Warning, Error } |
enum | RNBO::MessagePortType { RNBO::Inport, RNBO::Outport, RNBO::Undefined } |
Functions | |
template<typename T > | |
T * | RNBO::addressOf (T &object) |
constexpr MessageTag | RNBO::TAG (const char *str, MessageTag hash=0) |
Generate a MessageTag from a message name via SDBM hashing. More... | |
constexpr MessageTag | RNBO::ID (const char *str) |
Variables | |
const Index | RNBO::INVALID_INDEX = SIZE_MAX |
Detailed Description
Various type aliases used throughout RNBO.
Macro Definition Documentation
◆ RNBO_Q
#define RNBO_Q | ( | x | ) | #x |
Adds quotes within preprocessor macros
Typedef Documentation
◆ BeatTime
typedef RNBO::number RNBO::BeatTime |
time in terms of quarter notes
Beat time is commonly used in conjunction with Ableton Link.
◆ ConstSampleArray
typedef const RNBO::Sample * RNBO::ConstSampleArray |
a read-only array of samples
Note: templating allows JS code-generation to specify the array size
◆ DataRefIndex
typedef RNBO::Int RNBO::DataRefIndex |
an index into an external data reference
In order to encode additional information (such as the absence of a DataRef), negative values are allowed.
◆ MessageTag
uint32_t RNBO::MessageTag |
a unique identifier for a tag
Generated via hashing the message name
◆ ProbingIndex
typedef RNBO::Int RNBO::ProbingIndex |
an index into the array of signal probes
Internal use.
In order to encode additional information, negative values are allowed.
◆ SampleArray
typedef RNBO::Sample * RNBO::SampleArray |
a modifiable array of samples
Note: templating allows JS code-generation to specify the array size
Enumeration Type Documentation
◆ IOType
enum RNBO::IOType |
◆ MessagePortType
◆ ParameterType
enum RNBO::ParameterType |
Function Documentation
◆ addressOf()
T* RNBO::addressOf | ( | T & | object | ) |
Get the address of an object
◆ TAG()
|
constexpr |
Generate a MessageTag from a message name via SDBM hashing.
- Parameters
-
str the message name hash an initial hash value
- Returns
- a MessageTag