Fix DSP load sorting with inactive plugins
[ardour.git] / gtk2_ardour / video_monitor.h
index be3b76f9a47340741355275d356893c09c8e98e1..a122e2cacf2556837eceb1d7cfd03ea53042a0f1 100644 (file)
@@ -1,24 +1,20 @@
 /*
-    Copyright (C) 2010 Paul Davis
-    Author: Robin Gareus <robin@gareus.org>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-#ifdef WITH_VIDEOTIMELINE
-
+ * Copyright (C) 2013-2018 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 #ifndef __ardour_video_monitor_h__
 #define __ardour_video_monitor_h__
 
@@ -28,7 +24,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,14 +58,15 @@ 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;}
        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 set_offset (ARDOUR::sampleoffset_t);
+       void manual_seek (ARDOUR::samplepos_t, bool, ARDOUR::sampleoffset_t);
        void srsupdate ();
        void querystate ();
        bool synced_by_manual_seeks() { return sync_by_manual_seek; }
@@ -84,12 +81,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;
@@ -99,18 +96,20 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
        XJSettings xjadeo_settings;
 
        void xjadeo_sync_setup ();
-       ARDOUR::framepos_t manually_seeked_frame;
+       ARDOUR::samplepos_t manually_seeked_frame;
+       ARDOUR::sampleoffset_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 */