summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_ui.cc20
-rw-r--r--gtk2_ardour/ardour_ui.h3
-rw-r--r--gtk2_ardour/engine_dialog.cc4
-rw-r--r--gtk2_ardour/generic_pluginui.cc33
-rw-r--r--gtk2_ardour/main.cc2
-rw-r--r--gtk2_ardour/plugin_ui.h1
6 files changed, 45 insertions, 18 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 3ee2c95689..e3c446ecc2 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -101,6 +101,7 @@ typedef uint64_t microseconds_t;
#include "missing_plugin_dialog.h"
#include "mixer_ui.h"
#include "mouse_cursors.h"
+#include "nsm.h"
#include "opts.h"
#include "pingback.h"
#include "processor_box.h"
@@ -828,13 +829,6 @@ ARDOUR_UI::starting ()
}
void
-ARDOUR_UI::no_memory_warning ()
-{
- XMLNode node (X_("no-memory-warning"));
- Config->add_instant_xml (node);
-}
-
-void
ARDOUR_UI::check_memory_locking ()
{
#ifdef __APPLE__
@@ -890,9 +884,6 @@ ARDOUR_UI::check_memory_locking ()
VBox* vbox = msg.get_vbox();
HBox hbox;
CheckButton cb (_("Do not show this window again"));
-
- cb.signal_toggled().connect (sigc::mem_fun (*this, &ARDOUR_UI::no_memory_warning));
-
hbox.pack_start (cb, true, false);
vbox->pack_start (hbox);
cb.show();
@@ -903,6 +894,11 @@ ARDOUR_UI::check_memory_locking ()
editor->ensure_float (msg);
msg.run ();
+
+ if (cb.get_active()) {
+ XMLNode node (X_("no-memory-warning"));
+ Config->add_instant_xml (node);
+ }
}
}
}
@@ -3737,8 +3733,8 @@ ARDOUR_UI::session_dialog (std::string msg)
int
ARDOUR_UI::pending_state_dialog ()
{
- HBox* hbox = new HBox();
- Image* image = new Image (Stock::DIALOG_QUESTION, ICON_SIZE_DIALOG);
+ HBox* hbox = manage (new HBox());
+ Image* image = manage (new Image (Stock::DIALOG_QUESTION, ICON_SIZE_DIALOG));
ArdourDialog dialog (_("Crash Recovery"), true);
Label message (string_compose (_("\
This session appears to have been in the\n\
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 0253c1ec0a..20edfe03eb 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -72,7 +72,6 @@
#include "ardour_window.h"
#include "editing.h"
#include "meterbridge.h"
-#include "nsm.h"
#include "ui_config.h"
#include "enums.h"
#include "visibility_group.h"
@@ -105,6 +104,7 @@ class SpeakerDialog;
class ThemeManager;
class TimeInfoBox;
class MidiTracer;
+class NSM_Client;
class LevelMeterHBox;
class GlobalPortMatrixWindow;
class GUIObjectState;
@@ -692,7 +692,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
bool first_idle ();
- void no_memory_warning ();
void check_memory_locking ();
bool check_audioengine();
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index b6306ae285..37c29f4187 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -822,7 +822,7 @@ EngineControl::EngineControl ()
set_popdown_strings (sample_rate_combo, s);
if (desired.empty()) {
- sample_rate_combo.set_active_text (s.front());
+ sample_rate_combo.set_active_text (rate_as_string (backend->default_sample_rate()));
} else {
sample_rate_combo.set_active_text (desired);
}
@@ -859,7 +859,7 @@ EngineControl::EngineControl ()
buffer_size_combo.set_sensitive (true);
set_popdown_strings (buffer_size_combo, s);
- buffer_size_combo.set_active_text (s.front());
+ buffer_size_combo.set_active_text (bufsize_as_string (backend->default_buffer_size()));
show_buffer_duration ();
} else {
buffer_size_combo.set_sensitive (false);
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index 4405d05c1c..032b4e054f 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -490,6 +490,32 @@ GenericPluginUI::integer_printer (char buf[32], Adjustment &adj, ControlUI* cui)
return true;
}
+bool
+GenericPluginUI::midinote_printer (char buf[32], Adjustment &adj, ControlUI* cui)
+{
+ float const v = adj.get_value ();
+
+ if (cui->scale_points) {
+ Plugin::ScalePoints::const_iterator i = cui->scale_points->begin ();
+ while (i != cui->scale_points->end() && i->second != v) {
+ ++i;
+ }
+
+ if (i != cui->scale_points->end ()) {
+ snprintf (buf, 32, "%s", i->first.c_str());
+ return true;
+ }
+ }
+ if (v >= 0 && v <= 127) {
+ int mn = rint(v);
+ const char notename[12][3] = { "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" };
+ snprintf (buf, 32, "%s %d", notename[mn%12], (mn/12)-2);
+ } else {
+ snprintf (buf, 32, "%.0f", v);
+ }
+ return true;
+}
+
void
GenericPluginUI::print_parameter (char *buf, uint32_t len, uint32_t param)
{
@@ -610,7 +636,12 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
if (desc.integer_step) {
control_ui->clickbox = new ClickBox (adj, "PluginUIClickBox");
Gtkmm2ext::set_size_request_to_display_given_text (*control_ui->clickbox, "g9999999", 2, 2);
- control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::integer_printer), control_ui));
+ if (desc.midinote) {
+ printf("MIDI NOTE\n");
+ control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::midinote_printer), control_ui));
+ } else {
+ control_ui->clickbox->set_printer (sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::integer_printer), control_ui));
+ }
} else {
//sigc::slot<void,char*,uint32_t> pslot = sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::print_parameter), (uint32_t) port_index);
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index 9407b05915..d01bca2a62 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -153,7 +153,7 @@ fixup_bundle_environment (int, char* [])
vector<string> lpath;
lpath.push_back (bundle_dir);
- lpath.push_back ("share");
+ lpath.push_back ("Resources");
lpath.push_back ("locale");
localedir = strdup (Glib::build_filename (lpath).c_str());
}
diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h
index cf86f3e1bb..fefa999618 100644
--- a/gtk2_ardour/plugin_ui.h
+++ b/gtk2_ardour/plugin_ui.h
@@ -277,6 +277,7 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox
/* XXX: remove */
void print_parameter (char *buf, uint32_t len, uint32_t param);
bool integer_printer (char* buf, Gtk::Adjustment &, ControlUI *);
+ bool midinote_printer(char* buf, Gtk::Adjustment &, ControlUI *);
};
class PluginUIWindow : public ArdourWindow