10#ifndef __UTILS_TYPES_H__
11#define __UTILS_TYPES_H__
25#define TYPEDEF_STRUCT(s) typedef struct s s;
27#define TYPEDEF_STRUCT_UNDERSCORED(s) typedef struct _##s s;
29#define TYPEDEF_ENUM(s) typedef enum s s;
52typedef double curviness_t;
57#define SIGNED_FRAME_FORMAT PRId64
62#define UNSIGNED_FRAME_FORMAT PRIu64
83typedef const char * (*GenericStringGetter) (
void * object);
160 "Global start frame: %" PRIuFAST64
" (with offset %" PRIuFAST64
161 ") | local offset: %" PRIu32
" | num frames: %" PRIu32,
166typedef enum CacheTypes
168 CACHE_TYPE_TRACK_NAME_HASHES = 1 << 0,
169 CACHE_TYPE_PLUGIN_PORTS = 1 << 1,
170 CACHE_TYPE_PLAYBACK_SNAPSHOTS = 1 << 2,
171 CACHE_TYPE_AUTOMATION_LANE_RECORD_MODES = 1 << 3,
172 CACHE_TYPE_AUTOMATION_LANE_PORTS = 1 << 4,
175#define CACHE_TYPE_ALL \
176 (CACHE_TYPE_TRACK_NAME_HASHES | CACHE_TYPE_PLUGIN_PORTS \
177 | CACHE_TYPE_PLAYBACK_SNAPSHOTS | CACHE_TYPE_AUTOMATION_LANE_RECORD_MODES \
178 | CACHE_TYPE_AUTOMATION_LANE_PORTS)
void(* GenericStringSetter)(void *object, const char *val)
Setter prototype for float values.
uint_fast64_t unsigned_frame_t
Unsigned type for frame index.
uint32_t sample_rate_t
Sample rate.
void(* GenericStringCopyGetter)(void *object, char *buf)
Getter prototype for strings to be saved in the given buffer.
bool(* GenericPredicateFunc)(const void *object, const void *user_data)
Predicate function prototype.
float(* GenericFloatGetter)(void *object)
Getter prototype for float values.
signed_frame_t signed_sec_t
Signed second index.
int_fast64_t signed_frame_t
Signed type for frame index.
signed_frame_t signed_ms_t
Signed millisecond index.
uint32_t nframes_t
Frame count.
void(* GenericCallback)(void *object)
Generic callback.
void(* GenericFloatSetter)(void *object, float val)
Setter prototype for float values.
uint32_t midi_time_t
MIDI time in global frames.
uint8_t midi_byte_t
MIDI byte.
void(* ObjectFreeFunc)(void *)
Function to call to free objects.
float sample_t
The sample type.
int(* GenericCmpFunc)(const void *a, const void *b)
Generic comparator.
unsigned int channels_t
Number of channels.
@ AUDIO_VALUE_FADER
0 to 1, suitable for drawing.
@ AUDIO_VALUE_AMPLITUDE
0 to 2, amplitude.
Common struct to pass around during processing to avoid repeating the data in function arguments.
unsigned_frame_t g_start_frame
Global position at the start of the processing cycle (no offset added).
unsigned_frame_t g_start_frame_w_offset
Global position with EngineProcessTimeInfo.local_offset added, for convenience.
nframes_t nframes
Number of frames to process in this call, starting from the offset.
nframes_t local_offset
Offset in the current processing cycle, between 0 and the number of frames in AudioEngine....