X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fau_pluginui.h;h=eafe82207824e974e677cdcb5d19932e2352061d;hb=1c704b875dd8f42baf0c52affcd03cb42ef2e75c;hp=bc7d9a521b040b60a21cc973a0868cedc252bb36;hpb=2cc7faab21df6d3732d35fa71607999d690ddf73;p=ardour.git diff --git a/gtk2_ardour/au_pluginui.h b/gtk2_ardour/au_pluginui.h index bc7d9a521b..eafe822078 100644 --- a/gtk2_ardour/au_pluginui.h +++ b/gtk2_ardour/au_pluginui.h @@ -14,7 +14,6 @@ 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. - */ #ifndef __gtk2_ardour_auplugin_ui_h__ @@ -23,6 +22,8 @@ #include #include +#include + #include #include #include @@ -60,7 +61,7 @@ class AUPluginUI; @interface NotificationObject : NSObject { @private AUPluginUI* plugin_ui; - NSWindow* cocoa_parent; + NSWindow* cocoa_parent; NSWindow* top_level_parent; } @end @@ -73,7 +74,7 @@ class AUPluginUI; class AUPluginUI : public PlugUIBase, public Gtk::VBox { - public: +public: AUPluginUI (boost::shared_ptr); ~AUPluginUI (); @@ -85,7 +86,7 @@ class AUPluginUI : public PlugUIBase, public Gtk::VBox void activate (); void deactivate (); - bool non_gtk_gui() const { return true; } + bool non_gtk_gui() const { return true; } void lower_box_realized (); bool lower_box_visibility_notify (GdkEventVisibility*); @@ -94,7 +95,6 @@ class AUPluginUI : public PlugUIBase, public Gtk::VBox void lower_box_unmap (); void lower_box_size_request (GtkRequisition*); void lower_box_size_allocate (Gtk::Allocation&); - gboolean lower_box_expose (GdkEventExpose*); void cocoa_view_resized (); void on_realize (); @@ -109,7 +109,7 @@ class AUPluginUI : public PlugUIBase, public Gtk::VBox void start_live_resize (); void end_live_resize (); - private: +private: WindowRef wr; boost::shared_ptr au; int prefheight; @@ -124,20 +124,15 @@ class AUPluginUI : public PlugUIBase, public Gtk::VBox static std::vector automation_mode_strings; - bool mapped; bool resizable; - int min_width; - int min_height; int req_width; int req_height; - int alo_width; - int alo_height; /* Cocoa */ NSWindow* cocoa_window; NSView* au_view; - NSRect last_au_frame; + NSRect last_au_frame; bool in_live_resize; uint32_t plugin_requested_resize; @@ -167,6 +162,21 @@ class AUPluginUI : public PlugUIBase, public Gtk::VBox void update_view_size (); bool plugin_class_valid (Class pluginClass); + + friend void au_cf_timer_callback (CFRunLoopTimerRef timer, void* info); + static CFRunLoopTimerRef cf_timer; + static void cf_timer_callback (); + static int64_t last_timer; + static bool timer_needed; + static uint64_t timer_callbacks; + static uint64_t timer_out_of_range; + + static bool timer_callback (); + static sigc::connection timer_connection; + +public: + static void start_cf_timer (); + static void stop_cf_timer (); }; #endif /* __gtk2_ardour_auplugin_ui_h__ */