|
| bool | read_numeric_atom (const LV2_Atom *atom, const lv2_adapter::Lv2TimeUrids &urids, double &out) noexcept |
| | Read a numeric atom body as a double, whatever integer or float type the host chose for it.
|
| bool | decode_time_position (const LV2_Atom_Object *obj, const lv2_adapter::Lv2TimeUrids &urids, lv2_adapter::Lv2TimePosition &out) noexcept |
| | Decode a time:Position object into out, overwriting only the properties the host actually sent.
|
| void | advance_time_position (lv2_adapter::Lv2TimePosition &pos, uint32_t n_samples, double sample_rate) noexcept |
| | Advance a latched transport by one block of n_samples while it is rolling, so the position keeps moving between the Positions a host chooses to send.
|
| boundary::HostTransport | to_host_transport (const lv2_adapter::Lv2TimePosition &pos) noexcept |
| | Project a decoded time:Position onto the neutral transport every adapter hands the shared ProcessContext mapper.
|
| LV2_Handle | instantiate (const LV2_Descriptor *, double sample_rate, const char *, const LV2_Feature *const *features) |
| void | connect_port (LV2_Handle handle, uint32_t port, void *data) |
| void | activate (LV2_Handle) |
| void | write_midi_out_to_sequence (LV2_Atom_Sequence *out_seq, LV2_URID urid_atom_sequence, LV2_URID urid_midi_event, const midi::MidiBuffer &midi_out) |
| void | run (LV2_Handle handle, uint32_t n_samples) |
| void | deactivate (LV2_Handle) |
| LV2_State_Status | save_state (LV2_Handle instance, LV2_State_Store_Function store, LV2_State_Handle handle, uint32_t, const LV2_Feature *const *) |
| LV2_State_Status | restore_state (LV2_Handle instance, LV2_State_Retrieve_Function retrieve, LV2_State_Handle handle, uint32_t, const LV2_Feature *const *) |
| const void * | extension_data (const char *uri) |
| void | cleanup (LV2_Handle handle) |
| int | write_bundle_ttl (const char *bundle_dir, const char *binary_name) noexcept |
Project a decoded time:Position onto the neutral transport every adapter hands the shared ProcessContext mapper.
Unit note: LV2 counts time:beat in beats of time:beatUnit, while ProcessContext counts quarter notes, so a 6/8 host's beats are scaled by 4 / beatUnit. Fields LV2's time extension does not model stay invalid: there is no record-arm, no cycle range, and no host clock. framesPerSecond is the audio sample rate, NOT an SMPTE rate, so frame_rate stays unknown.