Do not try to restore Route solo state after clearing all solo state
[ardour.git] / gtk2_ardour / video_monitor.h
index 3f391d01f6984b4c93c1396ad65ab9f92b45b9f9..d2ab91b3a7b93296f2901d5d5bdd7c8a17731754 100644 (file)
@@ -17,8 +17,6 @@
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 */
-#ifdef WITH_VIDEOTIMELINE
-
 #ifndef __ardour_video_monitor_h__
 #define __ardour_video_monitor_h__
 
@@ -28,7 +26,7 @@
 #include "ardour/types.h"
 #include "ardour/session.h"
 #include "ardour/session_handle.h"
-#include "system_exec.h"
+#include "ardour/system_exec.h"
 
 namespace ARDOUR {
        class Session;
@@ -62,18 +60,22 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
        void open (std::string);
 
        void set_session (ARDOUR::Session *s);
-       void clear_session_state ();
+       void save_session ();
+       void query_full_state (bool);
        bool set_custom_setting (const std::string, const std::string);
        const std::string get_custom_setting (const std::string);
        void restore_settings_mask (int i)  { _restore_settings_mask = i;}
-       const int restore_settings_mask () { return _restore_settings_mask;}
+       int restore_settings_mask () const { return _restore_settings_mask;}
 
        void set_offset (ARDOUR::frameoffset_t);
        void manual_seek (ARDOUR::framepos_t, bool, ARDOUR::frameoffset_t);
        void srsupdate ();
+       void querystate ();
        bool synced_by_manual_seeks() { return sync_by_manual_seek; }
 
        sigc::signal<void> Terminated;
+       PBD::Signal1<void,std::string> UiState;
+       void send_cmd (int what, int param);
 
 #if 1
        void set_debug (bool onoff) { debug_enable = onoff; }
@@ -81,12 +83,12 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
 
        protected:
        PublicEditor *editor;
-       SystemExec *process;
+       ARDOUR::SystemExec *process;
        float fps;
        void parse_output (std::string d, size_t s);
        void terminated ();
+       void forward_keyevent (unsigned int);
 
-       void save_session ();
        void parameter_changed (std::string const & p);
 
        typedef std::map<std::string,std::string> XJSettings;
@@ -97,13 +99,19 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
 
        void xjadeo_sync_setup ();
        ARDOUR::framepos_t manually_seeked_frame;
+       ARDOUR::frameoffset_t video_offset;
        bool sync_by_manual_seek;
        sigc::connection clock_connection;
+       sigc::connection state_connection;
+       int state_clk_divide;
+       int starting;
+       int knownstate;
+       int osdmode;
+
+       PBD::Signal1<void, unsigned int> XJKeyEvent;
 #if 1
        bool debug_enable;
 #endif
 };
 
 #endif /* __ardour_video_monitor_h__ */
-
-#endif /* WITH_VIDEOTIMELINE */