|
|
| halp_meta (name, "Looper (MIDI)") halp_meta(c_name |
| |
|
midi_looper | halp_meta (category, "Midi/Sequencers") halp_meta(author |
| |
|
midi_looper ossia score | halp_meta (manual_url, "https://ossia.io/score-docs/processes/midi-looper.html") halp_meta(description |
| |
|
midi_looper ossia score Loop notes and controllers in and turn the loop into a MIDI clip of the timeline | halp_meta (uuid, "0c0b7d3e-5a52-4b8f-9d1f-6e3a2b8c4f71") |
| |
|
| halp_meta (recommended_height, 200) |
| |
|
| halp_flag (process_exec) |
| |
|
void | process_message (const Looper::erase_request &r) |
| | From the view: applied at the start of the next tick.
|
| |
|
void | prepare (halp::setup s) |
| |
| void | stop () |
| |
| | ~Node () |
| |
|
int64_t | looper_run (int64_t start, int64_t length) |
| |
|
void | looper_trim_recording (int64_t frames) |
| |
|
void | operator() (const tick &tk) |
| |
|
void | loop_arrived () noexcept |
| | A value came in on Mode.
|
| |
|
void | looper_close_take (const ossia::token_request &tk, LoopMode mode, bool ended_by_postaction) |
| |
| int64_t | looper_trim_extension (int64_t max_frames) |
| |
| void | looper_rephase (const ossia::token_request &tk) |
| |
|
int64_t | looper_frames_to_end () const noexcept |
| | An extending overdub grows the loop at its end instead of reaching it.
|
| |
| Looper::loop_period | looper_period (const ossia::token_request &tk) const noexcept |
| |
|
void | looper_point () |
| |
|
int | looper_passes () const noexcept |
| |
|
int | looper_pass_of (uint32_t id) const noexcept |
| |
|
bool | looper_muted (int pass) const noexcept |
| |
|
void | looper_set_muted (int pass, bool muted) |
| |
|
void | looper_mute (int pass, int muted=-1) |
| |
|
void | looper_erase (int pass) |
| |
|
void | looper_begin_actions () noexcept |
| |
|
void | looper_end_actions () noexcept |
| |
|
| bool | pass_pending () const noexcept |
| |
|
bool | pass_open () const noexcept |
| | A pass is open in the stack.
|
| |
| bool | may_redo () const noexcept |
| |
|
Looper::undo_mark | undo_mark () const noexcept |
| | Where the passes and the actions undo goes back through are.
|
| |
| void | material_arriving () |
| |
|
void | pass_advanced (double frames, bool backwards) |
| | The pass being taken in went over frames more frames of the loop.
|
| |
|
double | pass_progress () const noexcept |
| | The frames the pass being taken in went over.
|
| |
|
void | passes_changing () |
| | The passes, or what is heard of them, are about to change.
|
| |
|
Node & | self () noexcept |
| |
|
const Node & | self () const noexcept |
| |
|
auto & | stack () noexcept |
| |
|
const auto & | stack () const noexcept |
| |
|
void | view_request (const Looper::erase_request &r) noexcept |
| | From the view: applied at the start of the next tick.
|
| |
|
void | run_tick (const tick &tk) |
| |
|
void | apply_buttons () |
| |
|
void | follow_merges () |
| |
| void | clear_loop () |
| |
| void | drop_taken_pass () |
| |
| void | undo_pass () |
| |
|
void | drop_top_pass () |
| | The newest pass goes, as undo hides it, and redo does not bring it back.
|
| |
| void | erase_pass (int pass) |
| |
|
void | mute_pass (int pass, int muted=-1) |
| | Mutes a pass, or lets it be heard: muted says which, or it toggles.
|
| |
| int | make_room () |
| |
| void | begin_pass (int64_t start) |
| |
|
void | begin_pass_now (int64_t start) |
| |
| void | close_pass (bool cycle=false) |
| |
|
void | merge_extra_pass () |
| |
| void | capture (const tick &tk) |
| |
| void | capture_layer (const tick &tk, int64_t now, int64_t end) |
| |
| void | stop_score () |
| |
| double | rounds_since_made (const ossia::token_request &tk) const noexcept |
| |
| void | run_export () |
| |
|
void | take_written (int slot, int number, bool ok, bool alone) |
| |
|
bool | last_take_whole () const noexcept |
| | The last take has the mix and every pass as they are now.
|
| |
| void | prepare_stop_notice (Looper::stop_take_notice &n, double date) |
| |
|
int | claim_take_slot () noexcept |
| |
|
bool | view_due (int64_t frames) noexcept |
| | Whether the view is due a message: some 30 a second.
|
| |
| void | fill_view (Looper::view_message &v) const noexcept |
| |
| bool | placeable_take () const noexcept |
| |
|
static constexpr bool | lazy_passes () noexcept |
| |
|
static uint64_t | next_looper_id () noexcept |
| |
|
double | m_rate {48000.} |
| |
|
double | m_tempo {120.} |
| |
|
ossia::time_signature | m_signature {4, 4} |
| |
|
LoopMode | m_mode {LoopMode::Stop} |
| | The mode asked for, as the transport takes it up.
|
| |
|
Looper::loop_input | m_loop |
| | What came in on Mode, and what it shows.
|
| |
|
Looper::switches | m_switches |
| |
|
double | m_speed {1.} |
| | The playhead goes at m_speed, backwards when m_reverse is set.
|
| |
|
bool | m_reverse {} |
| |
| Looper::transport::timeline_point | m_origin {} |
| |
|
double | m_loop_tempo {120.} |
| | Tempo the loop was recorded at: the loop keeps its own speed.
|
| |
| int64_t | m_extend_unit {} |
| |
|
bool | m_extended {} |
| |
| bool | m_cycle_pending {} |
| |
|
bool | m_export_pending {} |
| |
|
bool | m_writing {} |
| |
|
double | m_export_date {} |
| |
| double | m_job_date {} |
| |
|
double | m_export_tempo {120.} |
| |
|
ossia::time_signature | m_export_signature {4, 4} |
| |
|
int | m_export_item {} |
| |
|
int | m_export_layers {} |
| |
|
bool | m_export_mix {} |
| |
|
int | m_export_number {} |
| |
|
int | m_export_slot {} |
| |
| halp::clip_stretch | m_job_stretch {} |
| |
|
halp::clip_stretch | m_stop_stretch {} |
| |
|
int | m_takes_written {} |
| |
| int | m_take_request {} |
| |
|
int | m_job_request {} |
| |
| Looper::erase_request | m_part_request {.pass = -1, .layers = -1} |
| |
|
bool | m_job_part {} |
| |
|
int | m_export_first {} |
| |
| int | m_version {} |
| |
|
int | m_job_version {} |
| |
| bool | m_pass_pending {} |
| |
|
int64_t | m_pending_start {} |
| |
|
int64_t | m_pending_length {} |
| |
|
double | m_pending_progress {} |
| |
|
bool | m_pending_backwards {} |
| |
|
int | m_next_take_slot {} |
| |
|
int64_t | m_view_countdown {} |
| |
|
uint64_t | m_id {next_looper_id()} |
| | Tells this looper's messages from another's, and counts its stops.
|
| |
|
int | m_stops {} |
| |
|
Looper::view_message | m_view {} |
| |
|
std::array< Looper::erase_request, 16 > | m_erase_requests {} |
| | The m and x the view sent since the last tick.
|
| |
|
int | m_erase_count {} |
| |