X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fcontrol_protocol%2Fcontrol_protocol%2Fbasic_ui.h;h=43ebcfa9e71977c0f4b7288141415cd1d5cb2190;hb=eed3ea5047ae50484542cacece0df1fd9db2e4d0;hp=d11fa3bdeb600ddc55b961d903786ba85145bac4;hpb=2e3721ecf4e5226347637cf611741f7b16cc4a48;p=ardour.git diff --git a/libs/surfaces/control_protocol/control_protocol/basic_ui.h b/libs/surfaces/control_protocol/control_protocol/basic_ui.h index d11fa3bdeb..43ebcfa9e7 100644 --- a/libs/surfaces/control_protocol/control_protocol/basic_ui.h +++ b/libs/surfaces/control_protocol/control_protocol/basic_ui.h @@ -27,6 +27,7 @@ #include "pbd/signals.h" #include "ardour/types.h" +#include "ardour/presentation_info.h" #include "timecode/time.h" @@ -35,6 +36,7 @@ namespace ARDOUR { class Session; class SessionEvent; + class Stripable; } class LIBCONTROLCP_API BasicUI { @@ -43,6 +45,10 @@ class LIBCONTROLCP_API BasicUI { virtual ~BasicUI (); void add_marker (const std::string& = std::string()); + void remove_marker_at_playhead (); + +// void mark_in(); +// void mark_out(); void register_thread (std::string name); @@ -58,10 +64,13 @@ class LIBCONTROLCP_API BasicUI { void rewind (); void ffwd (); void transport_stop (); - void transport_play (bool jump_back = true); + void transport_play (bool jump_back = false); void set_transport_speed (double speed); double get_transport_speed (); + void jump_by_seconds( double sec ); + void jump_by_bars(double bars); + ARDOUR::framepos_t transport_frame (); void locate (ARDOUR::framepos_t frame, bool play = false); bool locating (); @@ -74,13 +83,61 @@ class LIBCONTROLCP_API BasicUI { void redo (); void toggle_punch_in (); void toggle_punch_out (); + + void mark_in(); + void mark_out(); + + void toggle_click(); + void midi_panic(); + + void toggle_monitor_mute(); + void toggle_monitor_dim(); + void toggle_monitor_mono(); + + void quick_snapshot_stay (); + void quick_snapshot_switch (); + + void toggle_roll(); //this provides the same operation as the "spacebar", it's a lot smarter than "play". + + 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 (); + //editor visibility stuff (why do we have to make explicit numbers here? because "gui actions" don't accept args + 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 (); + ARDOUR::framecnt_t timecode_frames_per_hour (); void timecode_time (framepos_t where, Timecode::Time&);