projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed typo
[ardour.git]
/
gtk2_ardour
/
plugin_ui.h
diff --git
a/gtk2_ardour/plugin_ui.h
b/gtk2_ardour/plugin_ui.h
index 351ab0dc2bfa8cfea14d8b1f1bc618a3e5d9cef4..ef899af6e7b3d30fcb74accafb3c38c7db64c864 100644
(file)
--- a/
gtk2_ardour/plugin_ui.h
+++ b/
gtk2_ardour/plugin_ui.h
@@
-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
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
@@
-15,7
+15,6
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id$
*/
#ifndef __ardour_plugin_ui_h__
*/
#ifndef __ardour_plugin_ui_h__
@@
-44,12
+43,14
@@
#include <ardour_dialog.h>
#include <ardour/types.h>
#include <ardour_dialog.h>
#include <ardour/types.h>
+#include "latency_gui.h"
+
namespace ARDOUR {
namespace ARDOUR {
- class AudioEngine;
class PluginInsert;
class Plugin;
class VSTPlugin;
class PluginInsert;
class Plugin;
class VSTPlugin;
- class Redirect;
+ class IOProcessor;
+ class AUPlugin;
}
namespace PBD {
}
namespace PBD {
@@
-67,7
+68,7
@@
namespace Gtkmm2ext {
class PlugUIBase : public virtual sigc::trackable
{
public:
class PlugUIBase : public virtual sigc::trackable
{
public:
- PlugUIBase (
ARDOUR::PluginInsert&
);
+ PlugUIBase (
boost::shared_ptr<ARDOUR::PluginInsert>, nframes64_t sample_rate, nframes64_t period_size
);
virtual ~PlugUIBase() {}
virtual gint get_preferred_height () = 0;
virtual ~PlugUIBase() {}
virtual gint get_preferred_height () = 0;
@@
-75,22
+76,23
@@
class PlugUIBase : public virtual sigc::trackable
virtual bool stop_updating(GdkEventAny*) = 0;
protected:
virtual bool stop_updating(GdkEventAny*) = 0;
protected:
-
ARDOUR::PluginInsert&
insert;
-
ARDOUR::Plugin&
plugin;
+
boost::shared_ptr<ARDOUR::PluginInsert>
insert;
+
boost::shared_ptr<ARDOUR::Plugin>
plugin;
Gtk::ComboBoxText combo;
Gtk::Button save_button;
Gtk::ToggleButton bypass_button;
Gtk::ComboBoxText combo;
Gtk::Button save_button;
Gtk::ToggleButton bypass_button;
+ LatencyGUI latency_gui;
void setting_selected();
void save_plugin_setting (void);
void bypass_toggled();
};
void setting_selected();
void save_plugin_setting (void);
void bypass_toggled();
};
-class PluginUI : public PlugUIBase, public Gtk::VBox
+class
Ladspa
PluginUI : public PlugUIBase, public Gtk::VBox
{
public:
{
public:
-
PluginUI (ARDOUR::AudioEngine &, ARDOUR::PluginInsert& plug, bool scrollable=
false);
- ~PluginUI ();
+
LadspaPluginUI (boost::shared_ptr<ARDOUR::PluginInsert> plug, nframes64_t sample_rate, nframes64_t period_size, bool scrollable =
false);
+ ~
Ladspa
PluginUI ();
gint get_preferred_height () { return prefheight; }
gint get_preferred_height () { return prefheight; }
@@
-98,7
+100,6
@@
class PluginUI : public PlugUIBase, public Gtk::VBox
bool stop_updating(GdkEventAny*);
private:
bool stop_updating(GdkEventAny*);
private:
- ARDOUR::AudioEngine &engine;
Gtk::HBox settings_box;
Gtk::HBox hpacker;
Gtk::HBox settings_box;
Gtk::HBox hpacker;
@@
-138,6
+139,10
@@
class PluginUI : public PlugUIBase, public Gtk::VBox
static const int32_t initial_output_rows = 1;
static const int32_t initial_output_cols = 4;
static const int32_t initial_output_rows = 1;
static const int32_t initial_output_cols = 4;
+ /* TODO: pull this out of PluginUI and make it generic.
+ * Sticking this in the track controls of an automation track would
+ * make a handy touch controller for anything.
+ */
struct ControlUI : public Gtk::HBox {
uint32_t port_index;
struct ControlUI : public Gtk::HBox {
uint32_t port_index;
@@
-173,8
+178,8
@@
class PluginUI : public PlugUIBase, public Gtk::VBox
sigc::connection screen_update_connection;
void output_update();
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);
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);
@@
-182,7
+187,7
@@
class PluginUI : public PlugUIBase, public Gtk::VBox
void control_port_toggled (ControlUI* cui);
void control_combo_changed (ControlUI* cui);
void control_port_toggled (ControlUI* cui);
void control_combo_changed (ControlUI* cui);
- void
redirect_active_changed (ARDOUR::Redirect*, void*
);
+ void
processor_active_changed (boost::weak_ptr<ARDOUR::Processor>
);
void astate_clicked (ControlUI*, uint32_t parameter);
void automation_state_changed (ControlUI*);
void astate_clicked (ControlUI*, uint32_t parameter);
void automation_state_changed (ControlUI*);
@@
-196,24
+201,26
@@
class PluginUI : public PlugUIBase, public Gtk::VBox
class PluginUIWindow : public ArdourDialog
{
public:
class PluginUIWindow : public ArdourDialog
{
public:
- PluginUIWindow (
ARDOUR::AudioEngine &, ARDOUR::PluginInsert& insert, bool scrollable=
false);
+ PluginUIWindow (
boost::shared_ptr<ARDOUR::PluginInsert> insert, nframes64_t sample_rate, nframes64_t period_size, bool scrollable =
false);
~PluginUIWindow ();
PlugUIBase& pluginui() { return *_pluginui; }
void resize_preferred();
~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;
private:
PlugUIBase* _pluginui;
- void plugin_going_away (
ARDOUR::Redirect*
);
+ void plugin_going_away ();
};
};
-
#ifdef VST_SUPPORT
class VSTPluginUI : public PlugUIBase, public Gtk::VBox
{
public:
#ifdef VST_SUPPORT
class VSTPluginUI : public PlugUIBase, public Gtk::VBox
{
public:
- VSTPluginUI (
ARDOUR::PluginInsert&, ARDOUR::VSTPlugin&
);
+ VSTPluginUI (
boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::VSTPlugin>, nframes64_t sample_rate, nframes64_t period_size
);
~VSTPluginUI ();
gint get_preferred_height ();
~VSTPluginUI ();
gint get_preferred_height ();
@@
-223,7
+230,7
@@
class VSTPluginUI : public PlugUIBase, public Gtk::VBox
int package (Gtk::Window&);
private:
int package (Gtk::Window&);
private:
-
ARDOUR::VSTPlugin&
vst;
+
boost::shared_ptr<ARDOUR::VSTPlugin>
vst;
Gtk::Socket socket;
Gtk::HBox preset_box;
Gtk::VBox vpacker;
Gtk::Socket socket;
Gtk::HBox preset_box;
Gtk::VBox vpacker;
@@
-231,6
+238,6
@@
class VSTPluginUI : public PlugUIBase, public Gtk::VBox
bool configure_handler (GdkEventConfigure*, Gtk::Socket*);
void save_plugin_setting ();
};
bool configure_handler (GdkEventConfigure*, Gtk::Socket*);
void save_plugin_setting ();
};
-#endif
+#endif
// VST_SUPPORT
#endif /* __ardour_plugin_ui_h__ */
#endif /* __ardour_plugin_ui_h__ */