Ardour
9.0-pre0-582-g084a23a80d
|
#include <generic_midi_control_protocol.h>
Classes | |
struct | MapInfo |
struct | MIDIPendingControllable |
Public Member Functions | |
GenericMidiControlProtocol (ARDOUR::Session &) | |
virtual | ~GenericMidiControlProtocol () |
void | do_request (GenericMIDIRequest *) |
int | stop () |
void | thread_init () |
int | set_active (bool yn) |
void | stripable_selection_changed () |
std::list< std::shared_ptr< ARDOUR::Bundle > > | bundles () |
std::shared_ptr< ARDOUR::Port > | input_port () const |
std::shared_ptr< ARDOUR::Port > | output_port () const |
void | set_feedback_interval (PBD::microseconds_t) |
int | set_feedback (bool yn) |
bool | get_feedback () const |
std::shared_ptr< PBD::Controllable > | lookup_controllable (std::string const &, MIDIControllable &) const |
void | maybe_start_touch (std::shared_ptr< PBD::Controllable >) |
XMLNode & | get_state () const |
int | set_state (const XMLNode &, int version) |
bool | has_editor () const |
void * | get_gui () const |
void | tear_down_gui () |
int | load_bindings (const std::string &) |
void | drop_bindings () |
void | drop_all () |
void | check_used_event (int, int) |
std::string | current_binding () const |
void | reload_maps () |
void | set_current_bank (uint32_t) |
void | next_bank () |
void | prev_bank () |
void | set_motorised (bool) |
bool | motorised () const |
void | set_threshold (int) |
int | threshold () const |
void | add_rid_to_selection (int rid) |
void | set_rid_selection (int rid) |
void | toggle_rid_selection (int rid) |
void | remove_rid_from_selection (int rid) |
CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL () | |
Public Member Functions inherited from ARDOUR::ControlProtocol | |
ControlProtocol (Session &, std::string name) | |
virtual | ~ControlProtocol () |
virtual std::string | name () const |
virtual bool | active () const |
virtual void | midi_connectivity_established (bool) |
void | add_stripable_to_selection (std::shared_ptr< ARDOUR::Stripable >) |
void | set_stripable_selection (std::shared_ptr< ARDOUR::Stripable >) |
void | toggle_stripable_selection (std::shared_ptr< ARDOUR::Stripable >) |
void | remove_stripable_from_selection (std::shared_ptr< ARDOUR::Stripable >) |
void | clear_stripable_selection () |
std::shared_ptr< ARDOUR::Stripable > | first_selected_stripable () const |
void | set_route_table_size (uint32_t size) |
void | set_route_table (uint32_t table_index, std::shared_ptr< ARDOUR::Route >) |
bool | set_route_table (uint32_t table_index, uint32_t remote_control_id) |
void | route_set_rec_enable (uint32_t table_index, bool yn) |
bool | route_get_rec_enable (uint32_t table_index) |
float | route_get_gain (uint32_t table_index) |
void | route_set_gain (uint32_t table_index, float) |
float | route_get_effective_gain (uint32_t table_index) |
float | route_get_peak_input_power (uint32_t table_index, uint32_t which_input) |
bool | route_get_muted (uint32_t table_index) |
void | route_set_muted (uint32_t table_index, bool) |
bool | route_get_soloed (uint32_t table_index) |
void | route_set_soloed (uint32_t table_index, bool) |
std::string | route_get_name (uint32_t table_index) |
Public Member Functions inherited from PBD::Stateful | |
Stateful () | |
virtual | ~Stateful () |
virtual bool | apply_change (PropertyBase const &) |
PropertyChange | apply_changes (PropertyList const &) |
const OwnedPropertyList & | properties () const |
void | add_property (PropertyBase &s) |
void | add_extra_xml (XMLNode &) |
XMLNode * | extra_xml (const std::string &str, bool add_if_missing=false) |
void | save_extra_xml (const XMLNode &) |
const PBD::ID & | id () const |
bool | set_id (const XMLNode &) |
void | set_id (const std::string &) |
void | reset_id () |
void | clear_changes () |
virtual void | clear_owned_changes () |
PropertyList * | get_changes_as_properties (PBD::Command *) const |
virtual void | rdiff (std::vector< PBD::Command * > &) const |
bool | changed () const |
virtual PropertyList * | property_factory (const XMLNode &) const |
virtual void | suspend_property_changes () |
virtual void | resume_property_changes () |
bool | property_changes_suspended () const |
Public Member Functions inherited from PBD::ScopedConnectionList | |
ScopedConnectionList () | |
ScopedConnectionList (const ScopedConnectionList &)=delete | |
ScopedConnectionList & | operator= (const ScopedConnectionList &)=delete |
virtual | ~ScopedConnectionList () |
void | add_connection (const UnscopedConnection &c) |
void | drop_connections () |
Public Member Functions inherited from BasicUI | |
BasicUI (ARDOUR::Session &) | |
virtual | ~BasicUI () |
void | add_marker (const std::string &=std::string()) |
void | remove_marker_at_playhead () |
void | register_thread (std::string name) |
void | loop_toggle () |
void | loop_location (Temporal::timepos_t const &start, Temporal::timepos_t const &end) |
void | access_action (std::string action_path) |
void | goto_zero () |
void | goto_start (bool and_roll=false) |
void | goto_end () |
void | button_varispeed (bool fwd) |
void | rewind () |
void | ffwd () |
void | transport_stop () |
void | transport_play (bool jump_back=false) |
void | set_transport_speed (double speed) |
double | get_transport_speed () const |
double | transport_rolling () const |
void | jump_by_seconds (double sec, ARDOUR::LocateTransportDisposition ltd=ARDOUR::RollIfAppropriate) |
void | jump_by_bars (int bars, ARDOUR::LocateTransportDisposition ltd=ARDOUR::RollIfAppropriate) |
void | jump_by_beats (int beats, ARDOUR::LocateTransportDisposition ltd=ARDOUR::RollIfAppropriate) |
ARDOUR::samplepos_t | transport_sample () |
void | locate (ARDOUR::samplepos_t sample, ARDOUR::LocateTransportDisposition ltd) |
void | locate (ARDOUR::samplepos_t sample, bool) |
bool | locating () |
bool | locked () |
void | save_state () |
void | prev_marker () |
void | next_marker () |
void | undo () |
void | redo () |
void | toggle_punch_in () |
void | toggle_punch_out () |
void | mark_in () |
void | mark_out () |
void | toggle_click () |
void | midi_panic () |
void | trigger_cue_row (int cue) |
void | trigger_stop_all (bool stop_now=false) |
void | trigger_stop_col (int col, bool immediately=false) |
void | store_mixer_scene (int scn) |
void | apply_mixer_scene (int scn) |
void | toggle_monitor_mute () |
void | toggle_monitor_dim () |
void | toggle_monitor_mono () |
void | cancel_all_solo () |
void | quick_snapshot_stay () |
void | quick_snapshot_switch () |
void | toggle_roll (bool with_abort, bool roll_out_of_bounded_mode) |
void | stop_forget () |
void | set_punch_range () |
void | set_loop_range () |
void | set_session_range () |
void | set_record_enable (bool yn) |
bool | get_record_enabled () |
void | fit_1_track () |
void | fit_2_tracks () |
void | fit_4_tracks () |
void | fit_8_tracks () |
void | fit_16_tracks () |
void | fit_32_tracks () |
void | fit_all_tracks () |
void | zoom_10_ms () |
void | zoom_100_ms () |
void | zoom_1_sec () |
void | zoom_10_sec () |
void | zoom_1_min () |
void | zoom_5_min () |
void | zoom_10_min () |
void | zoom_to_session () |
void | temporal_zoom_in () |
void | temporal_zoom_out () |
void | scroll_up_1_track () |
void | scroll_dn_1_track () |
void | scroll_up_1_page () |
void | scroll_dn_1_page () |
void | rec_enable_toggle () |
void | toggle_all_rec_enables () |
void | all_tracks_rec_in () |
void | all_tracks_rec_out () |
void | goto_nth_marker (int n) |
ARDOUR::samplecnt_t | timecode_frames_per_hour () |
void | timecode_time (samplepos_t where, Timecode::Time &) |
void | timecode_to_sample (Timecode::Time &timecode, samplepos_t &sample, bool use_offset, bool use_subframes) const |
void | sample_to_timecode (samplepos_t sample, Timecode::Time &timecode, bool use_offset, bool use_subframes) const |
bool | stop_button_onoff () const |
bool | play_button_onoff () const |
bool | ffwd_button_onoff () const |
bool | rewind_button_onoff () const |
bool | loop_button_onoff () const |
void | tbank_set_size (int route_width, int row_height) |
void | tbank_step_routes (int step_size) |
void | tbank_step_rows (int step_size) |
float | trigger_progress_at (int x) |
TriggerDisplay | trigger_display_at (int x, int y) |
void | bang_trigger_at (int x, int y) |
void | unbang_trigger_at (int x, int y) |
std::shared_ptr< ARDOUR::Trigger > | find_trigger (int x, int y) |
Public Member Functions inherited from AbstractUI< GenericMIDIRequest > | |
AbstractUI (const std::string &name) | |
virtual | ~AbstractUI () |
void | register_thread (pthread_t, std::string, uint32_t num_requests) |
bool | call_slot (EventLoop::InvalidationRecord *, const std::function< void()> &) |
Glib::Threads::RWLock & | slot_invalidation_rwlock () |
Public Member Functions inherited from BaseUI | |
BaseUI (const std::string &name) | |
virtual | ~BaseUI () |
BaseUI * | base_instance () |
Glib::RefPtr< Glib::MainLoop > | main_loop () const |
bool | caller_is_self () const |
bool | ok () const |
void | run () |
void | quit () |
Public Member Functions inherited from PBD::EventLoop | |
EventLoop (std::string const &) | |
virtual | ~EventLoop () |
virtual bool | call_slot (InvalidationRecord *, const std::function< void()> &)=0 |
std::string | event_loop_name () const |
Public Attributes | |
std::list< MapInfo > | map_info |
PBD::Signal< void()> | ConnectionChange |
Public Attributes inherited from ARDOUR::ControlProtocol | |
PBD::Signal< void()> | ActiveChanged |
Public Attributes inherited from PBD::Stateful | |
PBD::Signal< void(const PropertyChange &)> | PropertyChanged |
Public Attributes inherited from AbstractUI< GenericMIDIRequest > | |
Glib::Threads::RWLock | request_buffer_map_lock |
Public Attributes inherited from PBD::EventLoop | |
std::list< InvalidationRecord * > | trash |
Private Types | |
enum | ConnectionState { InputConnected = 0x1 , OutputConnected = 0x2 } |
typedef std::list< MIDIControllable * > | MIDIControllables |
typedef std::list< MIDIFunction * > | MIDIFunctions |
typedef std::list< MIDIAction * > | MIDIActions |
typedef std::list< MIDIPendingControllable * > | MIDIPendingControllables |
Private Member Functions | |
void | _send_feedback () |
void | send_feedback () |
bool | start_learning (std::weak_ptr< PBD::Controllable >) |
void | stop_learning (std::weak_ptr< PBD::Controllable >) |
void | learning_stopped (MIDIControllable *) |
MIDIControllable * | create_binding (const XMLNode &) |
MIDIFunction * | create_function (const XMLNode &) |
MIDIAction * | create_action (const XMLNode &) |
void | reset_controllables () |
bool | connection_handler (std::weak_ptr< ARDOUR::Port >, std::string name1, std::weak_ptr< ARDOUR::Port >, std::string name2, bool yn) |
void | build_gui () |
bool | midi_input_handler (Glib::IOCondition ioc, std::weak_ptr< ARDOUR::AsyncMIDIPort > port) |
void | start_midi_handling () |
void | stop_midi_handling () |
Private Attributes | |
std::shared_ptr< ARDOUR::Bundle > | _input_bundle |
std::shared_ptr< ARDOUR::Bundle > | _output_bundle |
std::shared_ptr< ARDOUR::AsyncMIDIPort > | _input_port |
std::shared_ptr< ARDOUR::AsyncMIDIPort > | _output_port |
PBD::microseconds_t | _feedback_interval |
PBD::microseconds_t | last_feedback_time |
bool | do_feedback |
MIDIControllables | controllables |
MIDIFunctions | functions |
MIDIActions | actions |
MIDIPendingControllables | pending_controllables |
Glib::Threads::Mutex | controllables_lock |
Glib::Threads::Mutex | pending_lock |
int | connection_state |
PBD::ScopedConnection | _port_connection |
std::string | _current_binding |
uint32_t | _bank_size |
uint32_t | _current_bank |
bool | _motorised |
int | _threshold |
void * | gui |
PBD::ScopedConnectionList | midi_connections |
Additional Inherited Members | |
Public Types inherited from PBD::EventLoop | |
enum | RequestType { range_guarantee = ~0 } |
Static Public Member Functions inherited from ARDOUR::ControlProtocol | |
static StripableNotificationList const & | last_selected () |
static void | notify_stripable_selection_changed (StripableNotificationListPtr) |
Static Public Member Functions inherited from BaseUI | |
static RequestType | new_request_type () |
static void | set_thread_priority (int p) |
Static Public Member Functions inherited from PBD::EventLoop | |
static void * | invalidate_request (void *data) |
static EventLoop * | get_event_loop_for_thread () |
static void | set_event_loop_for_thread (EventLoop *ui) |
static std::vector< ThreadBufferMapping > | get_request_buffers_for_target_thread (const std::string &) |
static void | pre_register (const std::string &emitting_thread_name, uint32_t num_requests) |
static void | remove_request_buffer_from_map (pthread_t) |
static InvalidationRecord * | __invalidator (sigc::trackable &trackable, const char *, int) |
Static Public Attributes inherited from ARDOUR::ControlProtocol | |
static PBD::Signal< void()> | ZoomToSession |
static PBD::Signal< void()> | ZoomIn |
static PBD::Signal< void()> | ZoomOut |
static PBD::Signal< void()> | Enter |
static PBD::Signal< void()> | Undo |
static PBD::Signal< void()> | Redo |
static PBD::Signal< void(float)> | ScrollTimeline |
static PBD::Signal< void(uint32_t)> | GotoView |
static PBD::Signal< void()> | CloseDialog |
static PBD::Signal< void()> | VerticalZoomInAll |
static PBD::Signal< void()> | VerticalZoomOutAll |
static PBD::Signal< void()> | VerticalZoomInSelected |
static PBD::Signal< void()> | VerticalZoomOutSelected |
static PBD::Signal< void()> | StepTracksDown |
static PBD::Signal< void()> | StepTracksUp |
static PBD::Signal< void(std::weak_ptr< ARDOUR::PluginInsert >)> | PluginSelected |
static const std::string | state_node_name |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version |
static int | loading_state_version |
Static Public Attributes inherited from BasicUI | |
static PBD::Signal< void(std::string, std::string)> | AccessAction |
Static Public Attributes inherited from BaseUI | |
static RequestType | CallSlot |
static RequestType | Quit |
Protected Types inherited from AbstractUI< GenericMIDIRequest > | |
typedef RequestBuffer::rw_vector | RequestBufferVector |
typedef std::map< pthread_t, RequestBuffer * >::iterator | RequestBufferMapIterator |
typedef std::map< pthread_t, RequestBuffer * > | RequestBufferMap |
Protected Member Functions inherited from ARDOUR::ControlProtocol | |
void | next_track (uint32_t initial_id) |
void | prev_track (uint32_t initial_id) |
virtual void | event_loop_precall () |
void | install_precall_handler (Glib::RefPtr< Glib::MainContext >) |
Protected Member Functions inherited from PBD::Stateful | |
void | add_instant_xml (XMLNode &, const std::string &directory_path) |
XMLNode * | instant_xml (const std::string &str, const std::string &directory_path) |
void | add_properties (XMLNode &) const |
PropertyChange | set_values (XMLNode const &) |
virtual void | post_set (const PropertyChange &) |
virtual void | send_change (const PropertyChange &) |
virtual void | mid_thaw (const PropertyChange &) |
bool | regenerate_xml_or_string_ids () const |
Protected Member Functions inherited from BasicUI | |
BasicUI () | |
Protected Member Functions inherited from AbstractUI< GenericMIDIRequest > | |
GenericMIDIRequest * | get_request (RequestType) |
void | handle_ui_requests () |
void | send_request (GenericMIDIRequest *) |
RequestBuffer * | get_per_thread_request_buffer () |
Protected Member Functions inherited from BaseUI | |
bool | signal_running () |
int | set_thread_priority () const |
bool | request_handler (Glib::IOCondition) |
void | signal_new_request () |
void | attach_request_source () |
virtual void | maybe_install_precall_handler (Glib::RefPtr< Glib::MainContext >) |
Protected Attributes inherited from ARDOUR::ControlProtocol | |
std::vector< std::shared_ptr< ARDOUR::Route > > | route_table |
std::string | _name |
GlibEventLoopCallback | glib_event_callback |
Protected Attributes inherited from PBD::Stateful | |
XMLNode * | _extra_xml |
XMLNode * | _instant_xml |
PBD::PropertyChange | _pending_changed |
Glib::Threads::Mutex | _lock |
std::string | _xml_node_name |
name of node to use for this object in XML More... | |
OwnedPropertyList * | _properties |
Protected Attributes inherited from BasicUI | |
ARDOUR::Session * | session |
int | _tbank_route_width |
int | _tbank_row_height |
int | _tbank_start_route |
int | _tbank_start_row |
Protected Attributes inherited from AbstractUI< GenericMIDIRequest > | |
RequestBufferMap | request_buffers |
std::list< GenericMIDIRequest * > | request_list |
PBD::ScopedConnection | new_thread_connection |
Protected Attributes inherited from BaseUI | |
bool | _ok |
Glib::RefPtr< Glib::MainLoop > | _main_loop |
Glib::RefPtr< Glib::MainContext > | m_context |
PBD::Thread * | _run_loop_thread |
Glib::Threads::Mutex | _run_lock |
Glib::Threads::Cond | _running |
Definition at line 61 of file generic_midi_control_protocol.h.
|
private |
Definition at line 156 of file generic_midi_control_protocol.h.
|
private |
Definition at line 150 of file generic_midi_control_protocol.h.
|
private |
Definition at line 153 of file generic_midi_control_protocol.h.
|
private |
Definition at line 169 of file generic_midi_control_protocol.h.
|
private |
Enumerator | |
---|---|
InputConnected | |
OutputConnected |
Definition at line 185 of file generic_midi_control_protocol.h.
GenericMidiControlProtocol::GenericMidiControlProtocol | ( | ARDOUR::Session & | ) |
|
virtual |
|
private |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
private |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
void GenericMidiControlProtocol::check_used_event | ( | int | , |
int | |||
) |
|
private |
GenericMidiControlProtocol::CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL | ( | ) |
|
private |
|
private |
|
private |
|
inline |
Definition at line 102 of file generic_midi_control_protocol.h.
|
virtual |
Implements AbstractUI< GenericMIDIRequest >.
void GenericMidiControlProtocol::drop_all | ( | ) |
void GenericMidiControlProtocol::drop_bindings | ( | ) |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
inlinevirtual |
Reimplemented from ARDOUR::ControlProtocol.
Definition at line 92 of file generic_midi_control_protocol.h.
std::shared_ptr<ARDOUR::Port> GenericMidiControlProtocol::input_port | ( | ) | const |
|
private |
int GenericMidiControlProtocol::load_bindings | ( | const std::string & | ) |
std::shared_ptr<PBD::Controllable> GenericMidiControlProtocol::lookup_controllable | ( | std::string const & | , |
MIDIControllable & | |||
) | const |
void GenericMidiControlProtocol::maybe_start_touch | ( | std::shared_ptr< PBD::Controllable > | ) |
|
private |
|
inline |
Definition at line 118 of file generic_midi_control_protocol.h.
void GenericMidiControlProtocol::next_bank | ( | ) |
std::shared_ptr<ARDOUR::Port> GenericMidiControlProtocol::output_port | ( | ) | const |
void GenericMidiControlProtocol::prev_bank | ( | ) |
void GenericMidiControlProtocol::reload_maps | ( | ) |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
private |
|
private |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
void GenericMidiControlProtocol::set_current_bank | ( | uint32_t | ) |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
void GenericMidiControlProtocol::set_feedback_interval | ( | PBD::microseconds_t | ) |
void GenericMidiControlProtocol::set_motorised | ( | bool | ) |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
void GenericMidiControlProtocol::set_threshold | ( | int | ) |
|
private |
|
private |
int GenericMidiControlProtocol::stop | ( | ) |
|
private |
|
private |
|
inlinevirtual |
Implements ARDOUR::ControlProtocol.
Definition at line 73 of file generic_midi_control_protocol.h.
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
virtual |
Derived UI objects can implement thread_init() which will be called by the event loop thread immediately before it enters the event loop.
Reimplemented from BaseUI.
|
inline |
Definition at line 124 of file generic_midi_control_protocol.h.
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
private |
Definition at line 195 of file generic_midi_control_protocol.h.
|
private |
Definition at line 196 of file generic_midi_control_protocol.h.
|
private |
Definition at line 194 of file generic_midi_control_protocol.h.
|
private |
Definition at line 143 of file generic_midi_control_protocol.h.
|
private |
Definition at line 138 of file generic_midi_control_protocol.h.
|
private |
Definition at line 140 of file generic_midi_control_protocol.h.
|
private |
true if this surface is motorised. If it is, we assume that the surface's controls are never out of sync with Ardour's state, so we don't have to take steps to avoid values jumping around when things are not in sync.
Definition at line 202 of file generic_midi_control_protocol.h.
|
private |
Definition at line 139 of file generic_midi_control_protocol.h.
|
private |
Definition at line 141 of file generic_midi_control_protocol.h.
|
private |
Definition at line 192 of file generic_midi_control_protocol.h.
|
private |
Definition at line 203 of file generic_midi_control_protocol.h.
|
private |
Definition at line 157 of file generic_midi_control_protocol.h.
|
private |
Definition at line 190 of file generic_midi_control_protocol.h.
PBD::Signal<void()> GenericMidiControlProtocol::ConnectionChange |
Definition at line 133 of file generic_midi_control_protocol.h.
|
private |
Definition at line 151 of file generic_midi_control_protocol.h.
|
mutableprivate |
Definition at line 171 of file generic_midi_control_protocol.h.
|
private |
Definition at line 146 of file generic_midi_control_protocol.h.
|
private |
Definition at line 154 of file generic_midi_control_protocol.h.
|
mutableprivate |
Definition at line 205 of file generic_midi_control_protocol.h.
|
private |
Definition at line 144 of file generic_midi_control_protocol.h.
std::list<MapInfo> GenericMidiControlProtocol::map_info |
Definition at line 109 of file generic_midi_control_protocol.h.
|
private |
Definition at line 208 of file generic_midi_control_protocol.h.
|
private |
Definition at line 170 of file generic_midi_control_protocol.h.
|
private |
Definition at line 172 of file generic_midi_control_protocol.h.