Ardour
9.0-pre0-582-g084a23a80d
|
#include <contourdesign.h>
Classes | |
struct | State |
Public Types | |
enum | DeviceType { None = 0 , ShuttlePRO , ShuttlePRO_v2 , ShuttleXpress } |
Public Types inherited from PBD::EventLoop | |
enum | RequestType { range_guarantee = ~0 } |
Public Member Functions | |
ContourDesignControlProtocol (ARDOUR::Session &) | |
virtual | ~ContourDesignControlProtocol () |
DeviceType | device_type () const |
int | set_active (bool yn) |
XMLNode & | get_state () const |
int | set_state (const XMLNode &, int version) |
void | stripable_selection_changed () |
void | handle_event () |
void | prev_marker_keep_rolling () |
void | next_marker_keep_rolling () |
void | jump_forward (JumpDistance dist) |
void | jump_backward (JumpDistance dist) |
std::shared_ptr< ButtonBase > | make_button_action (std::string action_string) |
int | usb_errorcode () const |
bool | keep_rolling () const |
void | set_keep_rolling (bool kr) |
bool | test_mode () const |
void | set_test_mode (bool tm) |
int | get_button_count () const |
const std::shared_ptr< ButtonBase > | get_button_action (unsigned int index) const |
void | set_button_action (unsigned int index, const std::shared_ptr< ButtonBase > btn_act) |
JumpDistance | jog_distance () const |
void | set_jog_distance (JumpDistance jd) |
void | set_shuttle_speed (unsigned int index, double speed) |
double | shuttle_speed (unsigned int index) const |
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 int | set_feedback (bool) |
virtual bool | get_feedback () 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 () |
virtual void | add_rid_to_selection (int rid) |
virtual void | set_rid_selection (int rid) |
virtual void | toggle_rid_selection (int rid) |
virtual void | remove_rid_from_selection (int rid) |
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) |
virtual std::list< std::shared_ptr< ARDOUR::Bundle > > | bundles () |
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< ContourDesignControlUIRequest > | |
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 |
Static Public Member Functions | |
static bool | available () |
static bool | match_usb (uint16_t, uint16_t) |
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) |
Public Attributes | |
PBD::Signal< void(unsigned short)> | ButtonPress |
PBD::Signal< void(unsigned short)> | ButtonRelease |
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< ContourDesignControlUIRequest > | |
Glib::Threads::RWLock | request_buffer_map_lock |
Public Attributes inherited from PBD::EventLoop | |
std::list< InvalidationRecord * > | trash |
Static Public Attributes | |
static const int | num_shuttle_speeds = 7 |
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 |
Private Member Functions | |
void | do_request (ContourDesignControlUIRequest *) |
void | start () |
void | stop () |
bool | has_editor () const |
void * | get_gui () const |
void | tear_down_gui () |
void | thread_init () |
int | acquire_device () |
void | release_device () |
void | setup_default_button_actions () |
void | handle_button_press (unsigned short btn) |
void | handle_button_release (unsigned short btn) |
void | jog_event_backward () |
void | jog_event_forward () |
void | shuttle_event (int position) |
bool | wait_for_event () |
void | build_gui () |
Private Attributes | |
GSource * | _io_source |
libusb_device_handle * | _dev_handle |
libusb_transfer * | _usb_transfer |
bool | _supposed_to_quit |
unsigned char | _buf [5] |
DeviceType | _device_type |
bool | _shuttle_was_zero |
bool | _was_rolling_before_shuttle |
State | _state |
bool | _test_mode |
bool | _keep_rolling |
std::vector< double > | _shuttle_speeds |
JumpDistance | _jog_distance |
std::vector< std::shared_ptr< ButtonBase > > | _button_actions |
ContourDesignGUI * | _gui |
int | _error |
bool | _needs_reattach |
Additional Inherited Members | |
Protected Types inherited from AbstractUI< ContourDesignControlUIRequest > | |
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< ContourDesignControlUIRequest > | |
ContourDesignControlUIRequest * | get_request (RequestType) |
void | handle_ui_requests () |
void | send_request (ContourDesignControlUIRequest *) |
virtual void | do_request (ContourDesignControlUIRequest *)=0 |
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< ContourDesignControlUIRequest > | |
RequestBufferMap | request_buffers |
std::list< ContourDesignControlUIRequest * > | 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 70 of file contourdesign.h.
Enumerator | |
---|---|
None | |
ShuttlePRO | |
ShuttlePRO_v2 | |
ShuttleXpress |
Definition at line 78 of file contourdesign.h.
ArdourSurface::ContourDesignControlProtocol::ContourDesignControlProtocol | ( | ARDOUR::Session & | ) |
|
virtual |
|
private |
|
static |
|
private |
ArdourSurface::ContourDesignControlProtocol::CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL | ( | ) |
|
inline |
Definition at line 85 of file contourdesign.h.
|
private |
const std::shared_ptr<ButtonBase> ArdourSurface::ContourDesignControlProtocol::get_button_action | ( | unsigned int | index | ) | const |
|
inline |
Definition at line 117 of file contourdesign.h.
|
privatevirtual |
Reimplemented from ARDOUR::ControlProtocol.
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
private |
|
private |
void ArdourSurface::ContourDesignControlProtocol::handle_event | ( | ) |
|
inlineprivatevirtual |
Reimplemented from ARDOUR::ControlProtocol.
Definition at line 139 of file contourdesign.h.
|
inline |
Definition at line 121 of file contourdesign.h.
|
private |
|
private |
void ArdourSurface::ContourDesignControlProtocol::jump_backward | ( | JumpDistance | dist | ) |
void ArdourSurface::ContourDesignControlProtocol::jump_forward | ( | JumpDistance | dist | ) |
|
inline |
Definition at line 111 of file contourdesign.h.
std::shared_ptr<ButtonBase> ArdourSurface::ContourDesignControlProtocol::make_button_action | ( | std::string | action_string | ) |
|
static |
void ArdourSurface::ContourDesignControlProtocol::next_marker_keep_rolling | ( | ) |
void ArdourSurface::ContourDesignControlProtocol::prev_marker_keep_rolling | ( | ) |
|
private |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
void ArdourSurface::ContourDesignControlProtocol::set_button_action | ( | unsigned int | index, |
const std::shared_ptr< ButtonBase > | btn_act | ||
) |
|
inline |
Definition at line 122 of file contourdesign.h.
|
inline |
Definition at line 112 of file contourdesign.h.
void ArdourSurface::ContourDesignControlProtocol::set_shuttle_speed | ( | unsigned int | index, |
double | speed | ||
) |
|
virtual |
Reimplemented from ARDOUR::ControlProtocol.
|
inline |
Definition at line 115 of file contourdesign.h.
|
private |
|
private |
|
inline |
Definition at line 125 of file contourdesign.h.
|
private |
|
private |
|
inlinevirtual |
Implements ARDOUR::ControlProtocol.
Definition at line 95 of file contourdesign.h.
|
privatevirtual |
Reimplemented from ARDOUR::ControlProtocol.
|
inline |
Definition at line 114 of file contourdesign.h.
|
privatevirtual |
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 109 of file contourdesign.h.
|
private |
|
private |
Definition at line 163 of file contourdesign.h.
|
private |
Definition at line 184 of file contourdesign.h.
|
private |
Definition at line 159 of file contourdesign.h.
|
private |
Definition at line 165 of file contourdesign.h.
|
private |
Definition at line 189 of file contourdesign.h.
|
mutableprivate |
Definition at line 186 of file contourdesign.h.
|
private |
Definition at line 158 of file contourdesign.h.
|
private |
Definition at line 182 of file contourdesign.h.
|
private |
Definition at line 180 of file contourdesign.h.
|
private |
Definition at line 190 of file contourdesign.h.
|
private |
Definition at line 181 of file contourdesign.h.
|
private |
Definition at line 167 of file contourdesign.h.
|
private |
Definition at line 174 of file contourdesign.h.
|
private |
Definition at line 161 of file contourdesign.h.
|
private |
Definition at line 176 of file contourdesign.h.
|
private |
Definition at line 160 of file contourdesign.h.
|
private |
Definition at line 167 of file contourdesign.h.
PBD::Signal<void(unsigned short)> ArdourSurface::ContourDesignControlProtocol::ButtonPress |
Definition at line 129 of file contourdesign.h.
PBD::Signal<void(unsigned short)> ArdourSurface::ContourDesignControlProtocol::ButtonRelease |
Definition at line 130 of file contourdesign.h.
|
static |
Definition at line 99 of file contourdesign.h.