#include <ardour_dialog.h>
#include <ardour/types.h>
+#include "latency_gui.h"
+
namespace ARDOUR {
class PluginInsert;
class Plugin;
class VSTPlugin;
- class Redirect;
+ class IOProcessor;
class AUPlugin;
}
class PlugUIBase : public virtual sigc::trackable
{
public:
- PlugUIBase (boost::shared_ptr<ARDOUR::PluginInsert>);
+ PlugUIBase (boost::shared_ptr<ARDOUR::PluginInsert>, nframes64_t sample_rate, nframes64_t period_size);
virtual ~PlugUIBase() {}
virtual gint get_preferred_height () = 0;
Gtk::ComboBoxText combo;
Gtk::Button save_button;
Gtk::ToggleButton bypass_button;
+ LatencyGUI latency_gui;
void setting_selected();
void save_plugin_setting (void);
class LadspaPluginUI : public PlugUIBase, public Gtk::VBox
{
public:
- LadspaPluginUI (boost::shared_ptr<ARDOUR::PluginInsert> plug, bool scrollable=false);
+ LadspaPluginUI (boost::shared_ptr<ARDOUR::PluginInsert> plug, nframes64_t sample_rate, nframes64_t period_size, bool scrollable = false);
~LadspaPluginUI ();
gint get_preferred_height () { return prefheight; }
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;
void control_port_toggled (ControlUI* cui);
void control_combo_changed (ControlUI* cui);
- void insert_active_changed (boost::weak_ptr<ARDOUR::Insert>);
+ void processor_active_changed (boost::weak_ptr<ARDOUR::Processor>);
void astate_clicked (ControlUI*, uint32_t parameter);
void automation_state_changed (ControlUI*);
class PluginUIWindow : public ArdourDialog
{
public:
- PluginUIWindow (boost::shared_ptr<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; }
class VSTPluginUI : public PlugUIBase, public Gtk::VBox
{
public:
- VSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<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 ();