11#ifndef __AUDIO_RECORDING_EVENTS_H__
12#define __AUDIO_RECORDING_EVENTS_H__
24#define recording_event_queue_push_back_event(q, x) \
25 mpmc_queue_push_back (q, (void *) x)
27#define recording_event_queue_dequeue_event(q, x) \
28 mpmc_queue_dequeue (q, (void **) x)
33#define RECORDING_EVENTS_PUSH_AUDIO(et, _arg) \
34 if (RECORDING_MANAGER->event_queue) \
36 RecordingEvent * ev = (RecordingEvent *) object_pool_get ( \
37 RECORDING_MANAGER->event_obj_pool); \
39 ev->arg = (void *) _arg; \
40 event_queue_push_back_event (RECORDING_MANAGER->event_queue, _ev); \
33#define RECORDING_EVENTS_PUSH_AUDIO(et, _arg) \ …
45 RECORDING_EVENT_TYPE_START_TRACK_RECORDING,
46 RECORDING_EVENT_TYPE_START_AUTOMATION_RECORDING,
50 RECORDING_EVENT_TYPE_AUDIO,
51 RECORDING_EVENT_TYPE_AUTOMATION,
61 RECORDING_EVENT_TYPE_PAUSE_AUTOMATION_RECORDING,
63 RECORDING_EVENT_TYPE_STOP_TRACK_RECORDING,
64 RECORDING_EVENT_TYPE_STOP_AUTOMATION_RECORDING,
123#define recording_event_init(re) \
124 re->type = ENUM_INT_TO_VALUE (RecordingEventType, 0); \
125 re->track_name_hash = 0; \
126 re->region_name[0] = '\0'; \
127 re->g_start_frame_w_offset = 0; \
128 re->local_offset = 0; \
129 re->has_midi_event = 0; \
130 memset (&re->midi_event, 0, sizeof (MidiEvent)); \
131 re->automation_track_idx = 0; \
133 re->file = __FILE__; \
134 re->func = __func__; \
135 re->lineno = __LINE__
123#define recording_event_init(re) \ …
138recording_event_new (
void);
@ RECORDING_EVENT_TYPE_MIDI
These events are for processing any range.
@ RECORDING_EVENT_TYPE_PAUSE_TRACK_RECORDING
These events are for temporarily stopping recording (eg, when outside the punch range or when looping...
uint_fast64_t unsigned_frame_t
Unsigned type for frame index.
uint32_t nframes_t
Frame count.
unsigned_frame_t g_start_frame_w_offset
Global start frames of the event (including offset).
float lbuf[9000]
The actual data (if audio).
char region_name[200]
Region name, if applicable.
unsigned int track_name_hash
The name of the track this event is for.
MidiEvent midi_event
MidiEvent, if midi.
int automation_track_idx
Index of automation track, if automation.
nframes_t nframes
Automation value, if automation.
nframes_t local_offset
Offset in current cycle that this event starts from.