|
|
bool | quantized () const noexcept |
| |
| double | loop_tempo (const ossia::token_request &tk, int64_t frames) const noexcept |
| |
|
timeline_point | timeline (const ossia::token_request &tk) const noexcept |
| |
|
void | taking (LoopMode m) noexcept |
| | Called by the looper whenever it records or overdubs.
|
| |
|
bool | is_taking () const noexcept |
| |
| LoopMode | end_of_recording (AfterRecord after) const noexcept |
| |
| void | end_recording (AfterRecord after) noexcept |
| |
| void | ask (LoopMode m, bool empty) noexcept |
| |
|
void | settle (bool empty) noexcept |
| | A loop emptied while Overdub is asked for, e.g. by Clear: it is recorded.
|
| |
| void | press (TransportAction a, bool empty, AfterRecord after_record, AfterOverdub after) noexcept |
| |
| void | restart_recording () noexcept |
| |
| void | request_point () noexcept |
| |
|
bool | queued () const noexcept |
| | Changes queued after the one waiting for the grid.
|
| |
|
bool | restart_pending () const noexcept |
| | What waits for the next grid point besides a change of mode.
|
| |
|
bool | new_pass_pending () const noexcept |
| |
| void | play_captured (int64_t position) noexcept |
| |
| void | stopped (bool empty) noexcept |
| |
|
void | reset () noexcept |
| |
|
template<typename Engine > |
| void | operator() (const ossia::token_request &tk, ossia::exec_state_facade st, const transport_settings &s, Engine &e) |
| |
|
| LoopMode | wanted {LoopMode::Stop} |
| |
|
LoopMode | quantizedPlayMode {LoopMode::Stop} |
| |
|
LoopMode | actualMode {LoopMode::Stop} |
| |
|
int64_t | playbackPos {} |
| |
|
ossia::quarter_note | recordStartBar {-1.} |
| |
|
ossia::quarter_note | recordEndBar {-1.} |
| |
|
halp::grid_value | quantif {} |
| | The grid of this tick; no_grid() when changes are taken up at once.
|
| |
|
std::optional< ossia::time_value > | this_buffer_quantif_time |
| |
|
int64_t | tickStartSample {} |
| |
|
int | postaction_bars {} |
| |
|
double | sampleRate {48000.} |
| |
| bool | endedByPostaction {false} |
| |
|
int64_t | frame {} |
| | Frames run since the transport was created, at the start of this tick.
|
| |
|
std::optional< int64_t > | lastPointFrame |
| | Where the last grid point fell, on the same count.
|
| |
|
ossia::time_value | recordStartDate {} |
| | Model date at which the current recording started.
|
| |
|
ossia::quarter_note | recordStartPosition {} |
| | Musical position at which the current recording started.
|
| |
◆ ask()
| void Nodes::Looper::transport::ask |
( |
LoopMode |
m, |
|
|
bool |
empty |
|
) |
| |
|
inlinenoexcept |
Mode set to m, from its port or by Play, Stop, Record or Overdub: what is asked for from now on, whatever was waiting for the grid. Overdubbing an empty loop records it, as Record does, and the recording then gives way to overdubbing. Recording over a loop overdubs it, as on a looper pedal: a new loop is recorded once the loop is cleared. empty: there is no loop and none is being recorded.
◆ end_of_recording()
| LoopMode Nodes::Looper::transport::end_of_recording |
( |
AfterRecord |
after | ) |
const |
|
inlinenoexcept |
What the recording going on, or about to start, gives way to when it ends by itself or by Rec / Play / Dub: overdubbing when it was asked for as an overdub of an empty loop, else After record.
◆ end_recording()
| void Nodes::Looper::transport::end_recording |
( |
AfterRecord |
after | ) |
|
|
inlinenoexcept |
A recording reaching the end of its buffer ends as if its bars had run out.
◆ loop_tempo()
| double Nodes::Looper::transport::loop_tempo |
( |
const ossia::token_request & |
tk, |
|
|
int64_t |
frames |
|
) |
| const |
|
inlinenoexcept |
The tempo of a recording that is closing: the quarters it went over for the frames it kept. A tempo change during the recording is accounted for; the tempo of the moment is used where there are no quarters.
◆ play_captured()
| void Nodes::Looper::transport::play_captured |
( |
int64_t |
position | ) |
|
|
inlinenoexcept |
The looper made a loop out of what it heard before, without recording: it plays it from position, and Play is what is asked for.
◆ press()
An action. Rec / Play / Dub and Play / Stop act on the mode the looper will be in once what waits for the grid is taken up: pressed again before the grid point, they queue their change after it, and each change is taken up on a grid point of its own. empty: there is no loop and none is being recorded.
◆ request_point()
| void Nodes::Looper::transport::request_point |
( |
| ) |
|
|
inlinenoexcept |
The looper has something to do on the next grid point: the transport calls its looper_point() there.
◆ restart_recording()
| void Nodes::Looper::transport::restart_recording |
( |
| ) |
|
|
inlinenoexcept |
Undo or Clear dropped the recording going on: it starts again on the next frame, with its bars, start and tempo counted from there.
◆ stopped()
| void Nodes::Looper::transport::stopped |
( |
bool |
empty | ) |
|
|
inlinenoexcept |
The score stopped: a recording or an overdub, going on or waiting for the grid, is over, and the next start plays the loop it left rather than taking in more over it. empty: there is no loop.
◆ endedByPostaction
| bool Nodes::Looper::transport::endedByPostaction {false} |
Whether its bars running out is what ended the recording, rather than the mode being changed by hand.
◆ wanted
| LoopMode Nodes::Looper::transport::wanted {LoopMode::Stop} |
The mode asked for: Mode, or what an action, a recording's end or a full buffer changed it to. The looper shows it in Mode, so that what Mode says is what the looper does.
The documentation for this struct was generated from the following file: