Fix DSP load sorting with inactive plugins
[ardour.git] / gtk2_ardour / video_monitor.h
index 59b90f5e46fa95ee09e211ce5122024e8bb4cb33..a122e2cacf2556837eceb1d7cfd03ea53042a0f1 100644 (file)
@@ -1,22 +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.
-
-*/
+ * 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__
 
@@ -26,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;
@@ -61,15 +59,14 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
 
        void set_session (ARDOUR::Session *s);
        void save_session ();
-       void clear_session_state ();
        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,10 +81,11 @@ 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 parameter_changed (std::string const & p);
 
@@ -98,7 +96,8 @@ 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;
@@ -106,6 +105,8 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
        int starting;
        int knownstate;
        int osdmode;
+
+       PBD::Signal1<void, unsigned int> XJKeyEvent;
 #if 1
        bool debug_enable;
 #endif