|
Ardour
9.0-pre0-1950-g391fe97693
|
#include <async_midi_port.h>
Public Member Functions | |
| AsyncMIDIPort (std::string const &, PortFlags) | |
| ~AsyncMIDIPort () | |
| bool | flush_at_cycle_start () const |
| void | set_flush_at_cycle_start (bool en) |
| void | cycle_start (pframes_t nframes) |
| void | cycle_end (pframes_t nframes) |
| void | parse (samplecnt_t timestamp) |
| int | write (const MIDI::byte *msg, size_t msglen, MIDI::timestamp_t timestamp) |
| int | read (MIDI::byte *buf, size_t bufsize) |
| void | drain (int check_interval_usecs, int total_usecs_to_wait) |
| void | clear () |
| CrossThreadChannel & | xthread () |
| int | selectable () const |
| void | set_timer (std::function< samplecnt_t(void)> &) |
Public Member Functions inherited from ARDOUR::MidiPort | |
| ~MidiPort () | |
| DataType | type () const |
| void | cycle_start (pframes_t nframes) |
| void | cycle_end (pframes_t nframes) |
| void | cycle_split () |
| void | flush_buffers (pframes_t nframes) |
| void | transport_stopped () |
| void | realtime_locate (bool) |
| void | reset () |
| void | require_resolve () |
| bool | input_active () const |
| void | set_input_active (bool yn) |
| Buffer & | get_buffer (pframes_t nframes) |
| MidiBuffer & | get_midi_buffer (pframes_t nframes) |
| void | set_trace (std::weak_ptr< MIDI::Parser > trace_parser) |
| std::shared_ptr< MIDI::Parser > | trace_parser () const |
| void | set_inbound_filter (MidiFilter) |
| int | add_shadow_port (std::string const &, MidiFilter) |
| std::shared_ptr< MidiPort > | shadow_port () const |
| void | read_and_parse_entire_midi_buffer_with_no_speed_adjustment (pframes_t nframes, MIDI::Parser &parser, samplepos_t now) |
Public Member Functions inherited from ARDOUR::Port | |
| Port (const Port &)=delete | |
| Port & | operator= (const Port &)=delete |
| virtual | ~Port () |
| std::string | name () const |
| std::string | pretty_name (bool fallback_to_name=false) const |
| bool | set_pretty_name (const std::string &) |
| int | set_name (std::string const &) |
| PortFlags | flags () const |
| bool | receives_input () const |
| bool | sends_output () const |
| bool | connected () const |
| int | disconnect_all () |
| int | get_connections (std::vector< std::string > &) const |
| bool | connected_to (std::string const &) const |
| int | connect (std::string const &) |
| int | disconnect (std::string const &) |
| bool | connected_to (Port *) const |
| virtual int | connect (Port *) |
| int | disconnect (Port *) |
| void | request_input_monitoring (bool) |
| void | ensure_input_monitoring (bool) |
| bool | monitoring_input () const |
| int | reestablish () |
| int | reconnect () |
| bool | last_monitor () const |
| void | set_last_monitor (bool yn) |
| PortEngine::PortHandle | port_handle () |
| void | get_connected_latency_range (LatencyRange &range, bool playback) const |
| void | collect_latency_from_backend (LatencyRange &range, bool playback) const |
| void | set_private_latency_range (LatencyRange &range, bool playback) |
| const LatencyRange & | private_latency_range (bool playback) const |
| void | set_public_latency_range (LatencyRange const &range, bool playback) const |
| LatencyRange | public_latency_range (bool playback) const |
| virtual void | reinit (bool) |
| virtual void | set_buffer_size (pframes_t) |
| bool | has_ext_connection () const |
| bool | physically_connected () const |
| bool | in_cycle () const |
| uint32_t | externally_connected () const |
| uint32_t | internally_connected () const |
| void | rename_connected_port (std::string const &, std::string const &) |
| void | increment_external_connections () |
| void | decrement_external_connections () |
| void | increment_internal_connections () |
| void | decrement_internal_connections () |
| virtual XMLNode & | get_state () const |
| virtual int | set_state (const XMLNode &, int version) |
Public Member Functions inherited from MIDI::Port | |
| Port (std::string const &, Flags) | |
| Port (const XMLNode &) | |
| virtual | ~Port () |
| virtual XMLNode & | get_state () const |
| virtual void | set_state (const XMLNode &) |
| int | midimsg (byte *msg, size_t len, timestamp_t timestamp) |
| bool | clock (timestamp_t timestamp) |
| Channel * | channel (channel_t chn) |
| Parser * | parser () |
| const char * | name () const |
| bool | ok () const |
| virtual bool | centrally_parsed () const |
| void | set_centrally_parsed (bool yn) |
| bool | receives_input () const |
| bool | sends_output () const |
Static Public Member Functions | |
| static void | set_process_thread (pthread_t) |
| static pthread_t | get_process_thread () |
| static bool | is_process_thread () |
Static Public Member Functions inherited from ARDOUR::Port | |
| static void | set_connecting_blocked (bool yn) |
| static bool | connecting_blocked () |
| static void | set_varispeed_ratio (double s) |
| static bool | set_engine_ratio (double session, double engine) |
| static void | set_cycle_samplecnt (pframes_t n) |
| static samplecnt_t | port_offset () |
| static void | set_global_port_buffer_offset (pframes_t off) |
| static void | increment_global_port_buffer_offset (pframes_t n) |
| static pframes_t | cycle_nframes () |
| static double | speed_ratio () |
| static double | engine_ratio () |
| static double | resample_ratio () |
| static uint32_t | resampler_quality () |
| static uint32_t | resampler_latency () |
| static bool | can_varispeed () |
| static bool | setup_resampler (uint32_t q=17) |
Private Member Functions | |
| int | create_port () |
| void | jack_halted () |
| void | make_connections () |
| void | init (std::string const &, Flags) |
| void | flush_output_fifo (pframes_t) |
Private Attributes | |
| bool | _currently_in_cycle |
| MIDI::timestamp_t | _last_write_timestamp |
| bool | _flush_at_cycle_start |
| bool | have_timer |
| std::function< samplecnt_t(void)> | timer |
| PBD::RingBuffer< Evoral::Event< double > > | output_fifo |
| EventRingBuffer< MIDI::timestamp_t > | input_fifo |
| Glib::Threads::Mutex | output_fifo_lock |
| CrossThreadChannel | _xthread |
| std::string | _connections |
| PBD::ScopedConnection | connect_connection |
| PBD::ScopedConnection | halt_connection |
Static Private Attributes | |
| static pthread_t | _process_thread |
Additional Inherited Members | |
Public Types inherited from ARDOUR::MidiPort | |
| typedef std::function< bool(MidiBuffer &, MidiBuffer &)> | MidiFilter |
Public Types inherited from MIDI::Port | |
| enum | Flags { IsInput = 0x1 , IsOutput = 0x2 } |
Public Attributes inherited from ARDOUR::Port | |
| PBD::Signal< void(bool)> | MonitorInputChanged |
| PBD::Signal< void(std::shared_ptr< Port >, std::shared_ptr< Port >, bool)> | ConnectedOrDisconnected |
Static Public Attributes inherited from ARDOUR::Port | |
| static PBD::Signal< void()> | PortDrop |
| static PBD::Signal< void()> | PortSignalDrop |
| static PBD::Signal< void()> | ResamplerQualityChanged |
| static std::string | state_node_name |
Static Public Attributes inherited from MIDI::Port | |
| static std::string | state_node_name |
Protected Member Functions inherited from ARDOUR::MidiPort | |
| MidiPort (const std::string &name, PortFlags) | |
Protected Member Functions inherited from ARDOUR::Port | |
| Port (std::string const &, DataType, PortFlags) | |
Protected Member Functions inherited from MIDI::Port | |
| void | init (std::string const &, Flags) |
Protected Attributes inherited from ARDOUR::Port | |
| PortEngine::PortPtr | _port_handle |
| LatencyRange | _private_playback_latency |
| LatencyRange | _private_capture_latency |
Protected Attributes inherited from MIDI::Port | |
| bool | _ok |
| std::string | _tagname |
| Channel * | _channel [16] |
| Parser * | _parser |
| Flags | _flags |
| bool | _centrally_parsed |
Static Protected Attributes inherited from ARDOUR::Port | |
| static bool | _connecting_blocked |
| static pframes_t | _cycle_nframes |
| static pframes_t | _global_port_buffer_offset |
| static double | _speed_ratio |
| static double | _engine_ratio |
| static double | _resample_ratio |
Definition at line 43 of file async_midi_port.h.
| ARDOUR::AsyncMIDIPort::AsyncMIDIPort | ( | std::string const & | , |
| PortFlags | |||
| ) |
| ARDOUR::AsyncMIDIPort::~AsyncMIDIPort | ( | ) |
|
inline |
Definition at line 64 of file async_midi_port.h.
|
private |
|
virtual |
Reimplemented from ARDOUR::Port.
|
virtual |
Reimplemented from ARDOUR::Port.
|
virtual |
block until the output FIFO used by non-process threads is empty, checking every check_interval_usecs usecs for current status. Not to be called by a thread that executes any part of a JACK process callback (will simply return immediately in that situation).
Reimplemented from MIDI::Port.
|
inline |
Definition at line 49 of file async_midi_port.h.
|
private |
|
inlinestatic |
Definition at line 77 of file async_midi_port.h.
|
private |
|
static |
|
private |
|
private |
|
virtual |
Implements MIDI::Port.
|
virtual |
Read raw bytes from a port.
| buf | memory to store read data in |
| bufsize | size of buf |
Implements MIDI::Port.
|
inlinevirtual |
Get the file descriptor for port.
Implements MIDI::Port.
Definition at line 73 of file async_midi_port.h.
|
inline |
Definition at line 50 of file async_midi_port.h.
|
static |
| void ARDOUR::AsyncMIDIPort::set_timer | ( | std::function< samplecnt_t(void)> & | ) |
|
virtual |
Write a message to port.
| msg | Raw MIDI message to send |
| msglen | Size of msg |
| timestamp | Time stamp in samples of this message (relative to cycle start) |
Implements MIDI::Port.
|
inline |
Definition at line 68 of file async_midi_port.h.
|
private |
Channel used to signal to the MidiControlUI that input has arrived
Definition at line 95 of file async_midi_port.h.
|
private |
Definition at line 81 of file async_midi_port.h.
|
private |
Definition at line 83 of file async_midi_port.h.
|
private |
Definition at line 82 of file async_midi_port.h.
|
staticprivate |
Definition at line 104 of file async_midi_port.h.
|
private |
Definition at line 89 of file async_midi_port.h.
|
private |
Definition at line 96 of file async_midi_port.h.
|
private |
Definition at line 97 of file async_midi_port.h.
|
private |
Definition at line 84 of file async_midi_port.h.
|
private |
Definition at line 87 of file async_midi_port.h.
|
private |
Definition at line 86 of file async_midi_port.h.
|
private |
Definition at line 88 of file async_midi_port.h.
|
private |
Definition at line 85 of file async_midi_port.h.