display timecode from BWF etc in SF browser; accels for windows now work (misspelling...
[ardour.git] / gtk2_ardour / plugin_ui.h
index dc1e61887b2f3c76fcd9401bbc08b83e459a4e5d..c1d538b3d13e56ae9a4f6cd8015f4103a0a33589 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2000 Paul Davis 
+    Copyright (C) 2000-2006 Paul Davis 
 
     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
@@ -45,7 +45,6 @@
 #include <ardour/types.h>
 
 namespace ARDOUR {
-       class AudioEngine;
        class PluginInsert;
        class Plugin;
        class VSTPlugin;
@@ -90,7 +89,7 @@ class PlugUIBase : public virtual sigc::trackable
 class LadspaPluginUI : public PlugUIBase, public Gtk::VBox 
 {
   public:
-       LadspaPluginUI (ARDOUR::AudioEngine &, boost::shared_ptr<ARDOUR::PluginInsert> plug, bool scrollable=false);
+       LadspaPluginUI (boost::shared_ptr<ARDOUR::PluginInsert> plug, bool scrollable=false);
        ~LadspaPluginUI ();
        
        gint get_preferred_height () { return prefheight; }
@@ -99,7 +98,6 @@ class LadspaPluginUI : public PlugUIBase, public Gtk::VBox
        bool stop_updating(GdkEventAny*);
 
   private:
-       ARDOUR::AudioEngine &engine;
        Gtk::HBox settings_box;
        Gtk::HBox hpacker;
        
@@ -174,8 +172,8 @@ class LadspaPluginUI : public PlugUIBase, public Gtk::VBox
        sigc::connection screen_update_connection;
        void output_update();
        
-       void build (ARDOUR::AudioEngine &);
-       ControlUI* build_control_ui (ARDOUR::AudioEngine &, guint32 port_index, PBD::Controllable *);
+       void build ();
+       ControlUI* build_control_ui (guint32 port_index, PBD::Controllable *);
        std::vector<string> setup_scale_values(guint32 port_index, ControlUI* cui);
        void control_adjustment_changed (ControlUI* cui);
        void parameter_changed (uint32_t, float, ControlUI* cui);
@@ -197,19 +195,21 @@ class LadspaPluginUI : public PlugUIBase, public Gtk::VBox
 class PluginUIWindow : public ArdourDialog
 {
   public:
-       PluginUIWindow (ARDOUR::AudioEngine &, boost::shared_ptr<ARDOUR::PluginInsert> insert, bool scrollable=false);
+       PluginUIWindow (boost::shared_ptr<ARDOUR::PluginInsert> insert, bool scrollable=false);
        ~PluginUIWindow ();
 
        PlugUIBase& pluginui() { return *_pluginui; }
 
        void resize_preferred();
+
+       virtual bool on_key_press_event (GdkEventKey*);
+       virtual bool on_key_release_event (GdkEventKey*);
        
   private:
        PlugUIBase* _pluginui;
-       void plugin_going_away (ARDOUR::Redirect*);
+       void plugin_going_away ();
 };
 
-
 #ifdef VST_SUPPORT
 class VSTPluginUI : public PlugUIBase, public Gtk::VBox
 {
@@ -234,20 +234,4 @@ class VSTPluginUI : public PlugUIBase, public Gtk::VBox
 };
 #endif // VST_SUPPORT
 
-#ifdef HAVE_COREAUDIO
-class AUPluginUI : public PlugUIBase
-{
-  public:
-       AUPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::AUPlugin>);
-       ~AUPluginUI ();
-       
-       gint get_preferred_height ();
-       bool start_updating(GdkEventAny*) {return false;}
-       bool stop_updating(GdkEventAny*) {return false;}
-
-  private:
-       boost::shared_ptr<ARDOUR::AUPlugin> au;
-};
-#endif // HAVE_COREAUDIO
-
 #endif /* __ardour_plugin_ui_h__ */