remove a bunch of code that will no longer be used
[ardour.git] / libs / surfaces / control_protocol / control_protocol / basic_ui.h
index 52ff549af3eca2352643a2e4d698cfb5cfc2691b..43ebcfa9e71977c0f4b7288141415cd1d5cb2190 100644 (file)
@@ -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
 
 #include "pbd/signals.h"
 
-#include <jack/types.h>
+#include "ardour/types.h"
+#include "ardour/presentation_info.h"
 
-#include "control_protocol/timecode.h"
+#include "timecode/time.h"
+
+#include "control_protocol/visibility.h"
 
 namespace ARDOUR {
        class Session;
        class SessionEvent;
+       class Stripable;
 }
 
-class BasicUI {
+class LIBCONTROLCP_API BasicUI {
   public:
        BasicUI (ARDOUR::Session&);
        virtual ~BasicUI ();
-       
-       void add_marker ();
+
+       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);
 
        /* transport control */
 
        void loop_toggle ();
+       void loop_location (framepos_t start, framepos_t end);
        void access_action ( std::string action_path );
        static PBD::Signal2<void,std::string,std::string> 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 ();
 
-       jack_nframes_t transport_frame ();
-       void locate (jack_nframes_t frame, bool play = false);
+       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 ();
        bool locked ();
 
@@ -70,18 +83,66 @@ class 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 ();
 
-       jack_nframes_t timecode_frames_per_hour ();
+       void all_tracks_rec_in ();
+       void all_tracks_rec_out ();
+
+       ARDOUR::framecnt_t timecode_frames_per_hour ();
 
-       void timecode_time (jack_nframes_t where, Timecode::Time&);
-       void timecode_to_sample (Timecode::Time& timecode, int64_t& sample, bool use_subframes) const;
-       void sample_to_timecode (int64_t sample, Timecode::Time& timecode, bool use_subframes) const;
+       void timecode_time (framepos_t where, Timecode::Time&);
+       void timecode_to_sample (Timecode::Time& timecode, framepos_t & sample, bool use_offset, bool use_subframes) const;
+       void sample_to_timecode (framepos_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const;
 
   protected:
        BasicUI ();