diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 20 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 3 | ||||
-rw-r--r-- | gtk2_ardour/engine_dialog.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/generic_pluginui.cc | 33 | ||||
-rw-r--r-- | gtk2_ardour/main.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/plugin_ui.h | 1 |
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 |