summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-06-28 19:35:48 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-06-28 19:35:48 +0000
commitf95aa76f4a16a3f2bfd427b1e454023c3b886e5f (patch)
treef595f3b5b0fcae6a52e6268d1c714d4d5674d6b5 /gtk2_ardour
parent39f5c0ad562349404bf3f6c4ddae94fef17f1295 (diff)
add basic support for the griffin powermate (a control surface) (from ben loftis)
git-svn-id: svn://localhost/ardour2/trunk@2078 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ladspa_pluginui.cc10
-rw-r--r--gtk2_ardour/latency_gui.h5
-rw-r--r--gtk2_ardour/plugin_ui.cc11
-rw-r--r--gtk2_ardour/plugin_ui.h11
-rw-r--r--gtk2_ardour/processor_box.cc4
-rw-r--r--gtk2_ardour/route_params_ui.cc2
6 files changed, 28 insertions, 15 deletions
diff --git a/gtk2_ardour/ladspa_pluginui.cc b/gtk2_ardour/ladspa_pluginui.cc
index 3d516d3056..721e50753a 100644
--- a/gtk2_ardour/ladspa_pluginui.cc
+++ b/gtk2_ardour/ladspa_pluginui.cc
@@ -56,8 +56,8 @@ using namespace Gtkmm2ext;
using namespace Gtk;
using namespace sigc;
-LadspaPluginUI::LadspaPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrollable)
- : PlugUIBase (pi),
+LadspaPluginUI::LadspaPluginUI (boost::shared_ptr<PluginInsert> pi, nframes64_t sample_rate, nframes64_t period_size, bool scrollable)
+ : PlugUIBase (pi, sample_rate, period_size),
button_table (initial_button_rows, initial_button_cols),
output_table (initial_output_rows, initial_output_cols),
hAdjustment(0.0, 0.0, 0.0),
@@ -77,7 +77,11 @@ LadspaPluginUI::LadspaPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrolla
Label* combo_label = manage (new Label (_("<span size=\"large\">Presets</span>")));
combo_label->set_use_markup (true);
- smaller_hbox->pack_start (*combo_label, false, false, 10);
+ Label* latency_label = manage (new Label (_("<span size=\"large\">Latency</span>")));
+ latency_label->set_use_markup (true);
+
+ smaller_hbox->pack_start (*latency_label, false, false, 10);
+ smaller_hbox->pack_start (latency_gui, false, false, 10);
smaller_hbox->pack_start (combo, false, false);
smaller_hbox->pack_start (save_button, false, false);
diff --git a/gtk2_ardour/latency_gui.h b/gtk2_ardour/latency_gui.h
index 49f22fa266..0be7fdbf4c 100644
--- a/gtk2_ardour/latency_gui.h
+++ b/gtk2_ardour/latency_gui.h
@@ -1,3 +1,6 @@
+#ifndef __gtk2_ardour_latency_gui_h__
+#define __gtk2_ardour_latency_gui_h__
+
#include <vector>
#include <string>
@@ -59,3 +62,5 @@ class LatencyDialog : public ArdourDialog
private:
LatencyGUI lwidget;
};
+
+#endif /* __gtk2_ardour_latency_gui_h__ */
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index 80bd9ba6f3..935fc6000d 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -61,7 +61,7 @@ using namespace Gtkmm2ext;
using namespace Gtk;
using namespace sigc;
-PluginUIWindow::PluginUIWindow (boost::shared_ptr<PluginInsert> insert, bool scrollable)
+PluginUIWindow::PluginUIWindow (boost::shared_ptr<PluginInsert> insert, nframes64_t sr, nframes64_t period, bool scrollable)
: ArdourDialog ("plugin ui")
{
if (insert->plugin()->has_editor()) {
@@ -73,7 +73,7 @@ PluginUIWindow::PluginUIWindow (boost::shared_ptr<PluginInsert> insert, bool scr
if ((vp = boost::dynamic_pointer_cast<VSTPlugin> (insert->plugin())) != 0) {
- VSTPluginUI* vpu = new VSTPluginUI (insert, vp);
+ VSTPluginUI* vpu = new VSTPluginUI (insert, vp, session.frame_rate(), session.engine().frames_per_cycle());
_pluginui = vpu;
get_vbox()->add (*vpu);
@@ -90,7 +90,7 @@ PluginUIWindow::PluginUIWindow (boost::shared_ptr<PluginInsert> insert, bool scr
} else {
- LadspaPluginUI* pu = new LadspaPluginUI (insert, scrollable);
+ LadspaPluginUI* pu = new LadspaPluginUI (insert, sr, period, scrollable);
_pluginui = pu;
get_vbox()->add (*pu);
@@ -145,11 +145,12 @@ PluginUIWindow::plugin_going_away ()
delete_when_idle (this);
}
-PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi)
+PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi, nframes64_t sr, nframes64_t period)
: insert (pi),
plugin (insert->plugin()),
save_button(_("Add")),
- bypass_button (_("Bypass"))
+ bypass_button (_("Bypass")),
+ latency_gui (*pi, sr, period)
{
//combo.set_use_arrows_always(true);
set_popdown_strings (combo, plugin->get_presets());
diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h
index 83fdf05444..ef899af6e7 100644
--- a/gtk2_ardour/plugin_ui.h
+++ b/gtk2_ardour/plugin_ui.h
@@ -43,6 +43,8 @@
#include <ardour_dialog.h>
#include <ardour/types.h>
+#include "latency_gui.h"
+
namespace ARDOUR {
class PluginInsert;
class Plugin;
@@ -66,7 +68,7 @@ namespace Gtkmm2ext {
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;
@@ -79,6 +81,7 @@ class PlugUIBase : public virtual sigc::trackable
Gtk::ComboBoxText combo;
Gtk::Button save_button;
Gtk::ToggleButton bypass_button;
+ LatencyGUI latency_gui;
void setting_selected();
void save_plugin_setting (void);
@@ -88,7 +91,7 @@ class PlugUIBase : public virtual sigc::trackable
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; }
@@ -198,7 +201,7 @@ class LadspaPluginUI : public PlugUIBase, public Gtk::VBox
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; }
@@ -217,7 +220,7 @@ class PluginUIWindow : public ArdourDialog
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 ();
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index d9b0dbd845..51257e18c0 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -1088,7 +1088,7 @@ ProcessorBox::edit_processor (boost::shared_ptr<Processor> processor)
if (plugin_processor->get_gui() == 0) {
- plugin_ui = new PluginUIWindow (plugin_processor);
+ plugin_ui = new PluginUIWindow (plugin_processor, _session.frame_rate(), _session.engine().frames_per_cycle());
if (_owner_is_mixer) {
ARDOUR_UI::instance()->the_mixer()->ensure_float (*plugin_ui);
@@ -1190,7 +1190,7 @@ ProcessorBox::register_actions ()
/* new stuff */
ActionManager::register_action (popup_act_grp, X_("newplugin"), _("New Plugin ..."), sigc::ptr_fun (ProcessorBox::rb_choose_plugin));
- act = ActionManager::register_action (popup_act_grp, X_("newprocessor"), _("New Insert"), sigc::ptr_fun (ProcessorBox::rb_choose_processor));
+ act = ActionManager::register_action (popup_act_grp, X_("newinsert"), _("New Insert"), sigc::ptr_fun (ProcessorBox::rb_choose_processor));
ActionManager::jack_sensitive_actions.push_back (act);
act = ActionManager::register_action (popup_act_grp, X_("newsend"), _("New Send ..."), sigc::ptr_fun (ProcessorBox::rb_choose_send));
ActionManager::jack_sensitive_actions.push_back (act);
diff --git a/gtk2_ardour/route_params_ui.cc b/gtk2_ardour/route_params_ui.cc
index 7807cd4a84..fb63ae8bd6 100644
--- a/gtk2_ardour/route_params_ui.cc
+++ b/gtk2_ardour/route_params_ui.cc
@@ -581,7 +581,7 @@ RouteParams_UI::redirect_selected (boost::shared_ptr<ARDOUR::Processor> insert,
}
} else if ((plugin_insert = boost::dynamic_pointer_cast<PluginInsert> (insert)) != 0) {
- LadspaPluginUI *plugin_ui = new LadspaPluginUI (plugin_insert, true);
+ LadspaPluginUI *plugin_ui = new LadspaPluginUI (plugin_insert, session->frame_rate(), session->engine().frames_per_cycle(), true);
if (place == PreFader) {
cleanup_pre_view();