Loading...
Searching...
No Matches

Detailed Description

Send MIDI Clock and TimeCode

Classes

union  storage
 

Public Types

using tick = halp::tick_flicks
 

Public Member Functions

 halp_meta (name, "Midi sync") halp_meta(author
 
ossia team halp_meta (c_name, "avnd_helpers_midisync") halp_meta(manual_url
 
ossia team aa7c1ae5 a079 e3f1a19861bb halp_meta (category, "Midi") halp_flag(process_exec)
 
template<typename... T>
requires (!(std::is_pointer_v<T> || ...))
void send_midi (T... bytes)
 
void send_midi (std::span< const uint8_t > bytes)
 
auto load_state () noexcept
 
void full_songpos_message (double quarters)
 
void full_mtc_message (storage::impl state)
 
void current_mtc_message (int &index, storage::impl state)
 
void start ()
 
void stop ()
 
void pause ()
 
void resume ()
 
void transport (auto time)
 
storage::impl make_state (double tempo, double total_seconds)
 
void prepare (halp::setup s)
 
void operator() (halp::tick_flicks tk)
 

Static Public Member Functions

static auto compute_time_between_ticks (storage::impl state) noexcept
 
static constexpr auto from_mtc_framerate (uint32_t frame_rate)
 

Public Attributes

ossia team https: halp_meta(uuid
 
ossia::exec_state_facade ossia_state
 
std::atomic< ossia::net::midi::midi_protocol * > midi_out {}
 
std::atomic< MidiStartStopEvent > next_event_midiclock {}
 
std::atomic< MidiStartStopEvent > next_event_mtc {}
 
std::atomic< double > current_song_pos {}
 
struct { 
 
   halp::enum_t< MidiClockMode, "MIDI Clock">   clock 
 
   halp::enum_t< MidiStartStopMode, "MIDI Start/Stop">   clock_startstop 
 
   halp::enum_t< MidiTimeCodeMode, "MIDI TimeCode">   mtc 
 
   halp::spinbox_i32<"MTC offset (s)", halp::irange{-128000, 128000, 0}>   offset 
 
struct range 
 
      rate 
 
inputs 
 
struct { 
 
   ossia::net::node_base *   ossia_node {} 
 
      midi 
 
outputs 
 
std::thread clock_thread
 
std::thread mtc_thread
 
std::atomic_bool clock_thread_running = true
 
std::atomic_bool mtc_thread_running = true
 
std::atomic< uint64_t > current_state = 0
 
halp::setup setup
 

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