Zrythm
a highly automated and intuitive digital audio workstation
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Transport Struct Reference

The transport. More...

#include <dsp/transport.h>

Collaboration diagram for Transport:

Data Fields

int total_bars
 Total bars in the song.
 
Position playhead_pos
 Playhead position.
 
Position cue_pos
 Cue point position.
 
Position loop_start_pos
 Loop start position.
 
Position loop_end_pos
 Loop end position.
 
Position punch_in_pos
 Punch in position.
 
Position punch_out_pos
 Punch out position.
 
Position range_1
 Selected range.
 
Position range_2
 
int has_range
 Whether range should be displayed or not.
 
int ticks_per_beat
 
int ticks_per_bar
 
int sixteenths_per_beat
 
int sixteenths_per_bar
 
nframes_t position
 Transport position in frames.
 
bool loop
 Looping or not.
 
bool punch_mode
 Whether punch in/out mode is enabled.
 
bool recording
 Whether MIDI/audio recording is enabled (recording toggle in transport bar).
 
bool metronome_enabled
 Metronome enabled or not.
 
signed_frame_t preroll_frames_remaining
 Recording preroll frames remaining.
 
signed_frame_t countin_frames_remaining
 Metronome countin frames remaining.
 
bool start_playback_on_midi_input
 Whether to start playback on MIDI input.
 
TransportRecordingMode recording_mode
 
ZixSem paused
 This is set when record is toggled and is used to check if a new region should be created.
 
Position playhead_before_pause
 Position of the playhead before pausing.
 
Portroll
 Roll/play MIDI port.
 
Portstop
 Stop MIDI port.
 
Portbackward
 Backward MIDI port.
 
Portforward
 Forward MIDI port.
 
Portloop_toggle
 Loop toggle MIDI port.
 
Portrec_toggle
 Rec toggle MIDI port.
 
PlayState play_state
 Play state.
 
gint64 last_manual_playhead_change
 Last timestamp the playhead position was changed manually.
 
AudioEngineaudio_engine
 Pointer to owner audio engine, if any.
 

Detailed Description

The transport.

Definition at line 150 of file transport.h.

Field Documentation

◆ audio_engine

AudioEngine* Transport::audio_engine

Pointer to owner audio engine, if any.

Definition at line 280 of file transport.h.

◆ backward

Port* Transport::backward

Backward MIDI port.

Definition at line 261 of file transport.h.

◆ countin_frames_remaining

signed_frame_t Transport::countin_frames_remaining

Metronome countin frames remaining.

Definition at line 220 of file transport.h.

◆ cue_pos

Position Transport::cue_pos

Cue point position.

Definition at line 159 of file transport.h.

◆ forward

Port* Transport::forward

Forward MIDI port.

Definition at line 264 of file transport.h.

◆ has_range

int Transport::has_range

Whether range should be displayed or not.

Definition at line 187 of file transport.h.

◆ last_manual_playhead_change

gint64 Transport::last_manual_playhead_change

Last timestamp the playhead position was changed manually.

Definition at line 277 of file transport.h.

◆ loop

bool Transport::loop

Looping or not.

Definition at line 204 of file transport.h.

◆ loop_end_pos

Position Transport::loop_end_pos

Loop end position.

Definition at line 165 of file transport.h.

◆ loop_start_pos

Position Transport::loop_start_pos

Loop start position.

Definition at line 162 of file transport.h.

◆ loop_toggle

Port* Transport::loop_toggle

Loop toggle MIDI port.

Definition at line 267 of file transport.h.

◆ metronome_enabled

bool Transport::metronome_enabled

Metronome enabled or not.

Definition at line 214 of file transport.h.

◆ paused

ZixSem Transport::paused

This is set when record is toggled and is used to check if a new region should be created.

It should be set to off after the first cycle it is processed in the audio engine post process. Paused signal from process thread.

Definition at line 237 of file transport.h.

◆ play_state

PlayState Transport::play_state

Play state.

Definition at line 273 of file transport.h.

◆ playhead_before_pause

Position Transport::playhead_before_pause

Position of the playhead before pausing.

Used by UndoableAction.

Definition at line 244 of file transport.h.

◆ playhead_pos

Position Transport::playhead_pos

Playhead position.

Definition at line 156 of file transport.h.

◆ position

nframes_t Transport::position

Transport position in frames.

FIXME is this used?

Definition at line 201 of file transport.h.

◆ preroll_frames_remaining

signed_frame_t Transport::preroll_frames_remaining

Recording preroll frames remaining.

Definition at line 217 of file transport.h.

◆ punch_in_pos

Position Transport::punch_in_pos

Punch in position.

Definition at line 168 of file transport.h.

◆ punch_mode

bool Transport::punch_mode

Whether punch in/out mode is enabled.

Definition at line 207 of file transport.h.

◆ punch_out_pos

Position Transport::punch_out_pos

Punch out position.

Definition at line 171 of file transport.h.

◆ range_1

Position Transport::range_1

Selected range.

This is 2 points instead of start/end because the 2nd point can be dragged past the 1st point so the order gets swapped.

Should be compared each time to see which one is first.

Definition at line 183 of file transport.h.

◆ range_2

Position Transport::range_2

Definition at line 184 of file transport.h.

◆ rec_toggle

Port* Transport::rec_toggle

Rec toggle MIDI port.

Definition at line 270 of file transport.h.

◆ recording

bool Transport::recording

Whether MIDI/audio recording is enabled (recording toggle in transport bar).

Definition at line 211 of file transport.h.

◆ recording_mode

TransportRecordingMode Transport::recording_mode

Definition at line 225 of file transport.h.

◆ roll

Port* Transport::roll

Roll/play MIDI port.

Any event received on this port will request a roll.

Definition at line 251 of file transport.h.

◆ sixteenths_per_bar

int Transport::sixteenths_per_bar

Definition at line 195 of file transport.h.

◆ sixteenths_per_beat

int Transport::sixteenths_per_beat

Definition at line 194 of file transport.h.

◆ start_playback_on_midi_input

bool Transport::start_playback_on_midi_input

Whether to start playback on MIDI input.

Definition at line 223 of file transport.h.

◆ stop

Port* Transport::stop

Stop MIDI port.

Any event received on this port will request a stop/pause.

Definition at line 258 of file transport.h.

◆ ticks_per_bar

int Transport::ticks_per_bar

Definition at line 193 of file transport.h.

◆ ticks_per_beat

int Transport::ticks_per_beat

Definition at line 192 of file transport.h.

◆ total_bars

int Transport::total_bars

Total bars in the song.

Definition at line 153 of file transport.h.


The documentation for this struct was generated from the following file: