|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Interface for transport. More...
#include <src/dsp/itransport.h>

Public Types | |
| enum class | PlayState : std::uint8_t { RollRequested , Rolling , PauseRequested , Paused } |
Public Member Functions | |
| virtual std::pair< units::sample_t, units::sample_t > | get_loop_range_positions () const noexcept=0 |
| Returns the loop range positions in samples. | |
| virtual std::pair< units::sample_t, units::sample_t > | get_punch_range_positions () const noexcept=0 |
| Returns the punch recording range positions in samples. | |
| virtual PlayState | get_play_state () const noexcept=0 |
| virtual units::sample_t | get_playhead_position_in_audio_thread () const noexcept=0 |
| Get the playhead position. | |
| units::sample_t | get_playhead_position_after_adding_frames_in_audio_thread (const units::sample_t current_playhead_position, const units::sample_t frames_to_add) const noexcept |
| Gets the playhead position, similarly to get_playhead_position(), except that it adjusts the new position if the loop end point was crossed. | |
| virtual bool | loop_enabled () const noexcept=0 |
| virtual bool | punch_enabled () const noexcept=0 |
| virtual bool | recording_enabled () const noexcept=0 |
| Returns whether recording is enabled. | |
| virtual units::sample_t | recording_preroll_frames_remaining () const noexcept=0 |
| Frames remaining to preroll (playing back some time earlier before actually recording/rolling). | |
| bool | has_recording_preroll_frames_remaining () const noexcept |
| virtual units::sample_t | metronome_countin_frames_remaining () const noexcept=0 |
| Frames remaining for metronome countin. | |
| units::sample_t | is_loop_point_met_in_audio_thread (units::sample_t g_start_frames, units::sample_t nframes) const noexcept |
| Returns the number of processable frames until and excluding the loop end point as a positive number (>= 1) if the loop point was met between g_start_frames and (g_start_frames + nframes), otherwise returns 0;. | |
Interface for transport.
Definition at line 16 of file itransport.h.
|
strong |
Definition at line 19 of file itransport.h.
|
pure virtualnoexcept |
Returns the loop range positions in samples.
Implemented in zrythm::dsp::Transport, and zrythm::dsp::Transport::TransportSnapshot.
|
inlinenoexcept |
Gets the playhead position, similarly to get_playhead_position(), except that it adjusts the new position if the loop end point was crossed.
Definition at line 59 of file itransport.h.
|
pure virtualnoexcept |
Get the playhead position.
Implemented in zrythm::dsp::Transport, and zrythm::dsp::Transport::TransportSnapshot.
|
pure virtualnoexcept |
Returns the punch recording range positions in samples.
Implemented in zrythm::dsp::Transport, and zrythm::dsp::Transport::TransportSnapshot.
|
inlinenoexcept |
Definition at line 102 of file itransport.h.
|
inlinenoexcept |
Returns the number of processable frames until and excluding the loop end point as a positive number (>= 1) if the loop point was met between g_start_frames and (g_start_frames + nframes), otherwise returns 0;.
Definition at line 120 of file itransport.h.
|
pure virtualnoexcept |
Frames remaining for metronome countin.
Implemented in zrythm::dsp::Transport, and zrythm::dsp::Transport::TransportSnapshot.
|
pure virtualnoexcept |
Returns whether recording is enabled.
Implemented in zrythm::dsp::Transport, and zrythm::dsp::Transport::TransportSnapshot.
|
pure virtualnoexcept |
Frames remaining to preroll (playing back some time earlier before actually recording/rolling).
Preroll is a number of frames earlier to start at before the punch in position during recording.
Implemented in zrythm::dsp::Transport, and zrythm::dsp::Transport::TransportSnapshot.