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=6053614a0cabce634501a30ac91857652093f8d4;hpb=d00ab0221ad6e257fe9868890b54324454b6462b;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 6053614a0c..43ebcfa9e7 100644 --- a/libs/surfaces/control_protocol/control_protocol/basic_ui.h +++ b/libs/surfaces/control_protocol/control_protocol/basic_ui.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2006 Paul Davis + Copyright (C) 2006 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser @@ -27,6 +27,7 @@ #include "pbd/signals.h" #include "ardour/types.h" +#include "ardour/presentation_info.h" #include "timecode/time.h" @@ -35,14 +36,19 @@ namespace ARDOUR { class Session; class SessionEvent; + class Stripable; } class LIBCONTROLCP_API BasicUI { public: BasicUI (ARDOUR::Session&); 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); @@ -52,15 +58,19 @@ class LIBCONTROLCP_API BasicUI { void loop_location (framepos_t start, framepos_t end); void access_action ( std::string action_path ); static PBD::Signal2 AccessAction; + void goto_zero (); void goto_start (); void goto_end (); 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 (); @@ -73,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&);