Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
midi_track.h
1// SPDX-FileCopyrightText: © 2019-2021 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __AUDIO_MIDI_TRACK_H__
5#define __AUDIO_MIDI_TRACK_H__
6
7typedef struct Position Position;
8typedef struct MidiEvents MidiEvents;
9typedef struct Track Track;
10
20void
22
23void
24midi_track_setup (Track * self);
25
48REALTIME
49void
51 Track * track,
52 const long g_start_frames,
53 const nframes_t local_start_frame,
54 nframes_t nframes,
55 MidiEvents * midi_events);
56
62void
64
69#endif // __AUDIO_MIDI_TRACK_H__
REALTIME void midi_track_fill_midi_events(Track *track, const long g_start_frames, const nframes_t local_start_frame, nframes_t nframes, MidiEvents *midi_events)
Fills MIDI event queue from track.
void midi_track_free(Track *track)
Frees the track.
void midi_track_init(Track *track)
Initializes an midi track.
uint32_t nframes_t
Frame count.
Definition types.h:39
Container for passing midi events through ports.
Definition midi_event.h:62
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:124
Track to be inserted into the Project's Tracklist.
Definition track.h:177