summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-10-23 08:47:57 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-10-23 08:47:57 -0400
commitd135c4dc3a307d0be606f3afbbc8fd8c3ec56438 (patch)
treedbedf6ddfe1c1b6557a885ad3b87455ba2213a12 /gtk2_ardour
parentfb313fb1741a04f270fff3703967df572ac4fc45 (diff)
parent75271a17d8d4ed0003c4627e80a28feb68f5d9c9 (diff)
fix merge conflicts with master
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/editor_drag.cc2
-rw-r--r--gtk2_ardour/editor_group_tabs.cc6
-rw-r--r--gtk2_ardour/editor_group_tabs.h1
-rw-r--r--gtk2_ardour/editor_ops.cc4
-rw-r--r--gtk2_ardour/editor_routes.cc50
-rw-r--r--gtk2_ardour/editor_routes.h2
-rw-r--r--gtk2_ardour/editor_selection.cc8
-rw-r--r--gtk2_ardour/engine_dialog.cc4
-rw-r--r--gtk2_ardour/generic_pluginui.cc33
-rw-r--r--gtk2_ardour/group_tabs.cc22
-rw-r--r--gtk2_ardour/group_tabs.h1
-rw-r--r--gtk2_ardour/main.cc10
-rw-r--r--gtk2_ardour/meterbridge.cc8
-rw-r--r--gtk2_ardour/meterbridge.h4
-rw-r--r--gtk2_ardour/mixer_group_tabs.cc6
-rw-r--r--gtk2_ardour/mixer_group_tabs.h1
-rw-r--r--gtk2_ardour/mixer_ui.cc44
-rw-r--r--gtk2_ardour/mixer_ui.h4
-rw-r--r--gtk2_ardour/plugin_ui.h1
-rw-r--r--gtk2_ardour/port_group.cc2
-rw-r--r--gtk2_ardour/port_matrix.cc14
-rw-r--r--gtk2_ardour/port_matrix.h2
-rw-r--r--gtk2_ardour/rc_option_editor.cc9
-rw-r--r--gtk2_ardour/route_ui.cc7
26 files changed, 110 insertions, 158 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 788ad4af5f..7c7ec0bf95 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -105,6 +105,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"
@@ -832,13 +833,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 ()
{
#if defined(__APPLE__) || defined(WIN32)
@@ -894,9 +888,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();
@@ -907,6 +898,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);
+ }
}
}
}
@@ -3749,8 +3745,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 8f4432f8e2..eb9677d3a8 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/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index 9c65892ebd..a7060dd433 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -422,7 +422,7 @@ struct EditorOrderTimeAxisViewSorter {
RouteTimeAxisView* ra = dynamic_cast<RouteTimeAxisView*> (a);
RouteTimeAxisView* rb = dynamic_cast<RouteTimeAxisView*> (b);
assert (ra && rb);
- return ra->route()->order_key (EditorSort) < rb->route()->order_key (EditorSort);
+ return ra->route()->order_key () < rb->route()->order_key ();
}
};
diff --git a/gtk2_ardour/editor_group_tabs.cc b/gtk2_ardour/editor_group_tabs.cc
index 997a115b71..d02181c9b6 100644
--- a/gtk2_ardour/editor_group_tabs.cc
+++ b/gtk2_ardour/editor_group_tabs.cc
@@ -176,12 +176,6 @@ EditorGroupTabs::default_properties () const
return plist;
}
-RouteSortOrderKey
-EditorGroupTabs::order_key () const
-{
- return EditorSort;
-}
-
RouteList
EditorGroupTabs::selected_routes () const
{
diff --git a/gtk2_ardour/editor_group_tabs.h b/gtk2_ardour/editor_group_tabs.h
index a0021e4833..3d15ef73c3 100644
--- a/gtk2_ardour/editor_group_tabs.h
+++ b/gtk2_ardour/editor_group_tabs.h
@@ -37,7 +37,6 @@ private:
}
void add_menu_items (Gtk::Menu *, ARDOUR::RouteGroup *);
PBD::PropertyList default_properties () const;
- ARDOUR::RouteSortOrderKey order_key () const;
ARDOUR::RouteList selected_routes () const;
void sync_order_keys ();
};
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 6ada12220a..1a818f1c71 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -4712,7 +4712,7 @@ Editor::apply_midi_note_edit_op_to_region (MidiOperator& op, MidiRegionView& mrv
vector<Evoral::Sequence<Evoral::MusicalTime>::Notes> v;
v.push_back (selected);
- framepos_t pos_frames = mrv.midi_region()->position();
+ framepos_t pos_frames = mrv.midi_region()->position() - mrv.midi_region()->start();
double pos_beats = _session->tempo_map().framewalk_to_beats(0, pos_frames);
return op (mrv.midi_region()->model(), pos_beats, v);
@@ -5528,7 +5528,7 @@ Editor::split_region ()
struct EditorOrderRouteSorter {
bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
- return a->order_key (EditorSort) < b->order_key (EditorSort);
+ return a->order_key () < b->order_key ();
}
};
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index d0918a026a..a10e22f306 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -284,7 +284,7 @@ EditorRoutes::EditorRoutes (Editor* e)
_display.set_enable_search (false);
- Route::SyncOrderKeys.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::sync_treeview_from_order_keys, this, _1), gui_context());
+ Route::SyncOrderKeys.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::sync_treeview_from_order_keys, this), gui_context());
}
bool
@@ -812,7 +812,7 @@ EditorRoutes::show_track_in_display (TimeAxisView& tv)
void
EditorRoutes::reset_remote_control_ids ()
{
- if (Config->get_remote_model() != EditorOrdered || !_session || _session->deletion_in_progress()) {
+ if (Config->get_remote_model() == UserOrdered || !_session || _session->deletion_in_progress()) {
return;
}
@@ -841,7 +841,7 @@ EditorRoutes::reset_remote_control_ids ()
uint32_t new_rid = (visible ? rid : invisible_key--);
if (new_rid != route->remote_control_id()) {
- route->set_remote_control_id_from_order_key (EditorSort, new_rid);
+ route->set_remote_control_id_explicit (new_rid);
rid_change = true;
}
@@ -887,20 +887,20 @@ EditorRoutes::sync_order_keys_from_treeview ()
boost::shared_ptr<Route> route = (*ri)[_columns.route];
bool visible = (*ri)[_columns.visible];
- uint32_t old_key = route->order_key (EditorSort);
+ uint32_t old_key = route->order_key ();
if (order != old_key) {
- route->set_order_key (EditorSort, order);
+ route->set_order_key (order);
changed = true;
}
- if ((Config->get_remote_model() == EditorOrdered) && !route->is_master() && !route->is_monitor()) {
+ if ((Config->get_remote_model() == MixerOrdered) && !route->is_master() && !route->is_monitor()) {
uint32_t new_rid = (visible ? rid : invisible_key--);
if (new_rid != route->remote_control_id()) {
- route->set_remote_control_id_from_order_key (EditorSort, new_rid);
+ route->set_remote_control_id_explicit (new_rid);
rid_change = true;
}
@@ -915,7 +915,7 @@ EditorRoutes::sync_order_keys_from_treeview ()
if (changed) {
/* tell the world that we changed the editor sort keys */
- _session->sync_order_keys (EditorSort);
+ _session->sync_order_keys ();
}
if (rid_change) {
@@ -925,37 +925,17 @@ EditorRoutes::sync_order_keys_from_treeview ()
}
void
-EditorRoutes::sync_treeview_from_order_keys (RouteSortOrderKey src)
+EditorRoutes::sync_treeview_from_order_keys ()
{
- /* Some route order key(s) for `src' has been changed, make sure that
+ /* Some route order key(s) have been changed, make sure that
we update out tree/list model and GUI to reflect the change.
*/
- if (!_session || _session->deletion_in_progress()) {
+ if (_ignore_reorder || !_session || _session->deletion_in_progress()) {
return;
}
- DEBUG_TRACE (DEBUG::OrderKeys, string_compose ("editor sync model from order keys, src = %1\n", enum_2_string (src)));
-
- if (src == MixerSort) {
-
- if (!Config->get_sync_all_route_ordering()) {
- /* mixer sort keys changed - we don't care */
- return;
- }
-
- DEBUG_TRACE (DEBUG::OrderKeys, "reset editor order key to match mixer\n");
-
- /* mixer sort keys were changed, update the editor sort
- * keys since "sync mixer+editor order" is enabled.
- */
-
- boost::shared_ptr<RouteList> r = _session->get_routes ();
-
- for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
- (*i)->sync_order_keys (src);
- }
- }
+ DEBUG_TRACE (DEBUG::OrderKeys, "editor sync model from order keys.\n");
/* we could get here after either a change in the Mixer or Editor sort
* order, but either way, the mixer order keys reflect the intended
@@ -975,7 +955,7 @@ EditorRoutes::sync_treeview_from_order_keys (RouteSortOrderKey src)
for (TreeModel::Children::iterator ri = rows.begin(); ri != rows.end(); ++ri, ++old_order) {
boost::shared_ptr<Route> route = (*ri)[_columns.route];
- sorted_routes.push_back (RoutePlusOrderKey (route, old_order, route->order_key (EditorSort)));
+ sorted_routes.push_back (RoutePlusOrderKey (route, old_order, route->order_key ()));
}
SortByNewDisplayOrder cmp;
@@ -1341,7 +1321,7 @@ struct EditorOrderRouteSorter {
/* everything else before master */
return false;
}
- return a->order_key (EditorSort) < b->order_key (EditorSort);
+ return a->order_key () < b->order_key ();
}
};
@@ -1501,7 +1481,7 @@ EditorRoutes::move_selected_tracks (bool up)
}
for (leading = view_routes.begin(); leading != view_routes.end(); ++leading) {
- uint32_t order = leading->second->order_key (EditorSort);
+ uint32_t order = leading->second->order_key ();
neworder.push_back (order);
}
diff --git a/gtk2_ardour/editor_routes.h b/gtk2_ardour/editor_routes.h
index 6118a2b057..e07a7787aa 100644
--- a/gtk2_ardour/editor_routes.h
+++ b/gtk2_ardour/editor_routes.h
@@ -72,7 +72,7 @@ private:
void on_tv_solo_safe_toggled (std::string const &);
void build_menu ();
void show_menu ();
- void sync_treeview_from_order_keys (ARDOUR::RouteSortOrderKey);
+ void sync_treeview_from_order_keys ();
void route_deleted (Gtk::TreeModel::Path const &);
void visible_changed (std::string const &);
void active_changed (std::string const &);
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index e19afe375c..a26483e204 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -779,7 +779,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
RouteTimeAxisView* closest = 0;
int distance = INT_MAX;
- int key = rtv->route()->order_key (EditorSort);
+ int key = rtv->route()->order_key ();
for (RegionSelection::iterator x = selection->regions.begin(); x != selection->regions.end(); ++x) {
@@ -794,7 +794,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
if (result.second) {
/* newly added to already_in_selection */
- int d = artv->route()->order_key (EditorSort);
+ int d = artv->route()->order_key ();
d -= key;
@@ -810,7 +810,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
/* now add all tracks between that one and this one */
- int okey = closest->route()->order_key (EditorSort);
+ int okey = closest->route()->order_key ();
if (okey > key) {
swap (okey, key);
@@ -820,7 +820,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
RouteTimeAxisView* artv = dynamic_cast<RouteTimeAxisView*>(*x);
if (artv && artv != rtv) {
- int k = artv->route()->order_key (EditorSort);
+ int k = artv->route()->order_key ();
if (k >= okey && k <= key) {
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 83f091a1e0..66d242c088 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -488,6 +488,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)
{
@@ -608,7 +634,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/group_tabs.cc b/gtk2_ardour/group_tabs.cc
index b8d30dc989..2394b9a6c5 100644
--- a/gtk2_ardour/group_tabs.cc
+++ b/gtk2_ardour/group_tabs.cc
@@ -447,23 +447,15 @@ GroupTabs::un_subgroup (RouteGroup* g)
}
struct CollectSorter {
- CollectSorter (RouteSortOrderKey key) : _key (key) {}
-
bool operator () (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
- return a->order_key (_key) < b->order_key (_key);
+ return a->order_key () < b->order_key ();
}
-
- RouteSortOrderKey _key;
};
struct OrderSorter {
- OrderSorter (RouteSortOrderKey key) : _key (key) {}
-
bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
- return a->order_key (_key) < b->order_key (_key);
+ return a->order_key () < b->order_key ();
}
-
- RouteSortOrderKey _key;
};
/** Collect all members of a RouteGroup so that they are together in the Editor or Mixer.
@@ -473,19 +465,19 @@ void
GroupTabs::collect (RouteGroup* g)
{
boost::shared_ptr<RouteList> group_routes = g->route_list ();
- group_routes->sort (CollectSorter (order_key ()));
+ group_routes->sort (CollectSorter ());
int const N = group_routes->size ();
RouteList::iterator i = group_routes->begin ();
boost::shared_ptr<RouteList> routes = _session->get_routes ();
- routes->sort (OrderSorter (order_key ()));
+ routes->sort (OrderSorter ());
RouteList::const_iterator j = routes->begin ();
int diff = 0;
int coll = -1;
while (i != group_routes->end() && j != routes->end()) {
- int const k = (*j)->order_key (order_key ());
+ int const k = (*j)->order_key ();
if (*i == *j) {
@@ -496,14 +488,14 @@ GroupTabs::collect (RouteGroup* g)
--diff;
}
- (*j)->set_order_key (order_key (), coll);
+ (*j)->set_order_key (coll);
++coll;
++i;
} else {
- (*j)->set_order_key (order_key (), k + diff);
+ (*j)->set_order_key (k + diff);
}
diff --git a/gtk2_ardour/group_tabs.h b/gtk2_ardour/group_tabs.h
index 39ac42c9d5..d61358ead5 100644
--- a/gtk2_ardour/group_tabs.h
+++ b/gtk2_ardour/group_tabs.h
@@ -92,7 +92,6 @@ private:
virtual void add_menu_items (Gtk::Menu *, ARDOUR::RouteGroup *) {}
virtual PBD::PropertyList default_properties () const = 0;
- virtual ARDOUR::RouteSortOrderKey order_key () const = 0;
virtual ARDOUR::RouteList selected_routes () const = 0;
virtual void sync_order_keys () = 0;
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index da2677b296..70472e7f7e 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -154,7 +154,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());
}
@@ -173,10 +173,10 @@ fixup_bundle_environment (int, char* [])
export_search_path (bundle_dir, "ARDOUR_INSTANT_XML_PATH", "/Resources");
export_search_path (bundle_dir, "LADSPA_PATH", "/Plugins");
export_search_path (bundle_dir, "VAMP_PATH", "/lib");
- export_search_path (bundle_dir, "SUIL_MODULE_DIR", "/lib");
export_search_path (bundle_dir, "GTK_PATH", "/lib/gtkengines");
- g_setenv ("PATH", (bundle_dir + "/MacOS:" + std::string(getenv ("PATH"))).c_str(), 1);
+ g_setenv ("SUIL_MODULE_DIR", (bundle_dir + "/lib").c_str(), 1);
+ g_setenv ("PATH", (bundle_dir + "/MacOS:" + std::string(g_getenv ("PATH"))).c_str(), 1);
/* unset GTK_RC_FILES so that we only load the RC files that we define
*/
@@ -283,10 +283,10 @@ fixup_bundle_environment (int /*argc*/, char* argv[])
export_search_path (dir_path, "ARDOUR_DATA_PATH", "/share");
export_search_path (dir_path, "LADSPA_PATH", "/plugins");
export_search_path (dir_path, "VAMP_PATH", "/lib");
- export_search_path (dir_path, "SUIL_MODULE_DIR", "/lib");
export_search_path (dir_path, "GTK_PATH", "/lib/gtkengines");
- g_setenv ("PATH", (dir_path + "/bin:" + std::string(getenv ("PATH"))).c_str(), 1);
+ g_setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
+ g_setenv ("PATH", (dir_path + "/bin:" + std::string(g_getenv ("PATH"))).c_str(), 1);
/* unset GTK_RC_FILES so that we only load the RC files that we define
*/
diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc
index 8756089e00..4d2a0c7b3b 100644
--- a/gtk2_ardour/meterbridge.cc
+++ b/gtk2_ardour/meterbridge.cc
@@ -92,7 +92,7 @@ struct SignalOrderRouteSorter {
/* everything comes before b */
return true;
}
- return a->order_key (MixerSort) < b->order_key (MixerSort);
+ return a->order_key () < b->order_key ();
}
};
@@ -138,7 +138,7 @@ Meterbridge::Meterbridge ()
signal_delete_event().connect (sigc::mem_fun (*this, &Meterbridge::hide_window));
signal_configure_event().connect (sigc::mem_fun (*ARDOUR_UI::instance(), &ARDOUR_UI::configure_handler));
- Route::SyncOrderKeys.connect (*this, invalidator (*this), boost::bind (&Meterbridge::sync_order_keys, this, _1), gui_context());
+ Route::SyncOrderKeys.connect (*this, invalidator (*this), boost::bind (&Meterbridge::sync_order_keys, this), gui_context());
MeterStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Meterbridge::remove_strip, this, _1), gui_context());
MeterStrip::MetricChanged.connect (*this, invalidator (*this), boost::bind(&Meterbridge::resync_order, this), gui_context());
MeterStrip::ConfigurationChanged.connect (*this, invalidator (*this), boost::bind(&Meterbridge::queue_resize, this), gui_context());
@@ -637,7 +637,7 @@ Meterbridge::remove_strip (MeterStrip* strip)
}
void
-Meterbridge::sync_order_keys (RouteSortOrderKey)
+Meterbridge::sync_order_keys ()
{
Glib::Threads::Mutex::Lock lm (_resync_mutex);
@@ -776,7 +776,7 @@ Meterbridge::sync_order_keys (RouteSortOrderKey)
void
Meterbridge::resync_order()
{
- sync_order_keys(MixerSort);
+ sync_order_keys();
}
void
diff --git a/gtk2_ardour/meterbridge.h b/gtk2_ardour/meterbridge.h
index 2fac91cd0a..1709455ae4 100644
--- a/gtk2_ardour/meterbridge.h
+++ b/gtk2_ardour/meterbridge.h
@@ -80,7 +80,7 @@ class Meterbridge :
void remove_strip (MeterStrip *);
void session_going_away ();
- void sync_order_keys (ARDOUR::RouteSortOrderKey src);
+ void sync_order_keys ();
void resync_order ();
mutable Glib::Threads::Mutex _resync_mutex;
@@ -107,7 +107,7 @@ class Meterbridge :
/* everything comes before b */
return true;
}
- return a->order_key (ARDOUR::MixerSort) < b->order_key (ARDOUR::MixerSort);
+ return a->order_key () < b->order_key ();
}
};
diff --git a/gtk2_ardour/mixer_group_tabs.cc b/gtk2_ardour/mixer_group_tabs.cc
index 4a56b01fcd..5878c3d3ac 100644
--- a/gtk2_ardour/mixer_group_tabs.cc
+++ b/gtk2_ardour/mixer_group_tabs.cc
@@ -170,12 +170,6 @@ MixerGroupTabs::default_properties () const
return plist;
}
-RouteSortOrderKey
-MixerGroupTabs::order_key () const
-{
- return MixerSort;
-}
-
RouteList
MixerGroupTabs::selected_routes () const
{
diff --git a/gtk2_ardour/mixer_group_tabs.h b/gtk2_ardour/mixer_group_tabs.h
index 0999dd9808..290e5a3958 100644
--- a/gtk2_ardour/mixer_group_tabs.h
+++ b/gtk2_ardour/mixer_group_tabs.h
@@ -36,7 +36,6 @@ private:
}
PBD::PropertyList default_properties () const;
- ARDOUR::RouteSortOrderKey order_key () const;
ARDOUR::RouteList selected_routes () const;
void sync_order_keys ();
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 7e8188cac9..8126a81e85 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -96,7 +96,7 @@ Mixer_UI::Mixer_UI ()
/* allow this window to become the key focus window */
set_flags (CAN_FOCUS);
- Route::SyncOrderKeys.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::sync_treeview_from_order_keys, this, _1), gui_context());
+ Route::SyncOrderKeys.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::sync_treeview_from_order_keys, this), gui_context());
scroller.set_can_default (true);
set_default (scroller);
@@ -408,7 +408,7 @@ Mixer_UI::remove_strip (MixerStrip* strip)
void
Mixer_UI::reset_remote_control_ids ()
{
- if (Config->get_remote_model() != MixerOrdered || !_session || _session->deletion_in_progress()) {
+ if (Config->get_remote_model() == UserOrdered || !_session || _session->deletion_in_progress()) {
return;
}
@@ -434,7 +434,7 @@ Mixer_UI::reset_remote_control_ids ()
uint32_t new_rid = (visible ? rid : invisible_key--);
if (new_rid != route->remote_control_id()) {
- route->set_remote_control_id_from_order_key (MixerSort, new_rid);
+ route->set_remote_control_id_explicit (new_rid);
rid_change = true;
}
@@ -476,10 +476,10 @@ Mixer_UI::sync_order_keys_from_treeview ()
boost::shared_ptr<Route> route = (*ri)[track_columns.route];
bool visible = (*ri)[track_columns.visible];
- uint32_t old_key = route->order_key (MixerSort);
+ uint32_t old_key = route->order_key ();
if (order != old_key) {
- route->set_order_key (MixerSort, order);
+ route->set_order_key (order);
changed = true;
}
@@ -488,7 +488,7 @@ Mixer_UI::sync_order_keys_from_treeview ()
uint32_t new_rid = (visible ? rid : invisible_key--);
if (new_rid != route->remote_control_id()) {
- route->set_remote_control_id_from_order_key (MixerSort, new_rid);
+ route->set_remote_control_id_explicit (new_rid);
rid_change = true;
}
@@ -503,7 +503,7 @@ Mixer_UI::sync_order_keys_from_treeview ()
if (changed) {
/* tell everyone that we changed the mixer sort keys */
- _session->sync_order_keys (MixerSort);
+ _session->sync_order_keys ();
}
if (rid_change) {
@@ -513,33 +513,13 @@ Mixer_UI::sync_order_keys_from_treeview ()
}
void
-Mixer_UI::sync_treeview_from_order_keys (RouteSortOrderKey src)
+Mixer_UI::sync_treeview_from_order_keys ()
{
if (!_session || _session->deletion_in_progress()) {
return;
}
- DEBUG_TRACE (DEBUG::OrderKeys, string_compose ("mixer sync model from order keys, src = %1\n", enum_2_string (src)));
-
- if (src == EditorSort) {
-
- if (!Config->get_sync_all_route_ordering()) {
- /* editor sort keys changed - we don't care */
- return;
- }
-
- DEBUG_TRACE (DEBUG::OrderKeys, "reset mixer order key to match editor\n");
-
- /* editor sort keys were changed, update the mixer sort
- * keys since "sync mixer+editor order" is enabled.
- */
-
- boost::shared_ptr<RouteList> r = _session->get_routes ();
-
- for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
- (*i)->sync_order_keys (src);
- }
- }
+ DEBUG_TRACE (DEBUG::OrderKeys, "mixer sync model from order keys.\n");
/* we could get here after either a change in the Mixer or Editor sort
* order, but either way, the mixer order keys reflect the intended
@@ -559,7 +539,7 @@ Mixer_UI::sync_treeview_from_order_keys (RouteSortOrderKey src)
for (TreeModel::Children::iterator ri = rows.begin(); ri != rows.end(); ++ri, ++old_order) {
boost::shared_ptr<Route> route = (*ri)[track_columns.route];
- sorted_routes.push_back (RoutePlusOrderKey (route, old_order, route->order_key (MixerSort)));
+ sorted_routes.push_back (RoutePlusOrderKey (route, old_order, route->order_key ()));
}
SortByNewDisplayOrder cmp;
@@ -1100,7 +1080,7 @@ struct SignalOrderRouteSorter {
/* everything comes before b */
return true;
}
- return a->order_key (MixerSort) < b->order_key (MixerSort);
+ return a->order_key () < b->order_key ();
}
};
@@ -1122,7 +1102,7 @@ Mixer_UI::initial_track_display ()
add_strips (copy);
}
- _session->sync_order_keys (MixerSort);
+ _session->sync_order_keys ();
redisplay_track_list ();
}
diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h
index 4f1c6823e7..db841535b7 100644
--- a/gtk2_ardour/mixer_ui.h
+++ b/gtk2_ardour/mixer_ui.h
@@ -250,9 +250,9 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
Width _strip_width;
void sync_order_keys_from_treeview ();
- void sync_treeview_from_order_keys (ARDOUR::RouteSortOrderKey);
+ void sync_treeview_from_order_keys ();
void reset_remote_control_ids ();
- void reset_order_keys (ARDOUR::RouteSortOrderKey);
+ void reset_order_keys ();
bool ignore_reorder;
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
diff --git a/gtk2_ardour/port_group.cc b/gtk2_ardour/port_group.cc
index 2a93cf6bee..213c818b0b 100644
--- a/gtk2_ardour/port_group.cc
+++ b/gtk2_ardour/port_group.cc
@@ -315,7 +315,7 @@ struct RouteIOs {
class RouteIOsComparator {
public:
bool operator() (RouteIOs const & a, RouteIOs const & b) {
- return a.route->order_key (EditorSort) < b.route->order_key (EditorSort);
+ return a.route->order_key () < b.route->order_key ();
}
};
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc
index e8108555e6..6bd9d96262 100644
--- a/gtk2_ardour/port_matrix.cc
+++ b/gtk2_ardour/port_matrix.cc
@@ -158,7 +158,7 @@ PortMatrix::init ()
_session->engine().PortRegisteredOrUnregistered.connect (_session_connections, invalidator (*this), boost::bind (&PortMatrix::setup_global_ports, this), gui_context());
/* watch for route order keys changing, which changes the order of things in our global ports list(s) */
- Route::SyncOrderKeys.connect (_session_connections, invalidator (*this), boost::bind (&PortMatrix::setup_global_ports_proxy, this, _1), gui_context());
+ Route::SyncOrderKeys.connect (_session_connections, invalidator (*this), boost::bind (&PortMatrix::setup_global_ports_proxy, this), gui_context());
/* Part 3: other stuff */
@@ -619,15 +619,13 @@ PortMatrix::setup_global_ports ()
}
void
-PortMatrix::setup_global_ports_proxy (RouteSortOrderKey sk)
+PortMatrix::setup_global_ports_proxy ()
{
- if (sk == EditorSort) {
- /* Avoid a deadlock by calling this in an idle handler: see IOSelector::io_changed_proxy
- for a discussion.
- */
+ /* Avoid a deadlock by calling this in an idle handler: see IOSelector::io_changed_proxy
+ for a discussion.
+ */
- Glib::signal_idle().connect_once (sigc::mem_fun (*this, &PortMatrix::setup_global_ports));
- }
+ Glib::signal_idle().connect_once (sigc::mem_fun (*this, &PortMatrix::setup_global_ports));
}
void
diff --git a/gtk2_ardour/port_matrix.h b/gtk2_ardour/port_matrix.h
index 2b5e9ce31d..09c334b5ef 100644
--- a/gtk2_ardour/port_matrix.h
+++ b/gtk2_ardour/port_matrix.h
@@ -188,7 +188,7 @@ private:
void disassociate_all_on_channel (boost::weak_ptr<ARDOUR::Bundle>, uint32_t, int);
void disassociate_all_on_bundle (boost::weak_ptr<ARDOUR::Bundle>, int);
void setup_global_ports ();
- void setup_global_ports_proxy (ARDOUR::RouteSortOrderKey);
+ void setup_global_ports_proxy ();
void toggle_show_only_bundles ();
bool on_scroll_event (GdkEventScroll *);
boost::shared_ptr<ARDOUR::IO> io_from_bundle (boost::shared_ptr<ARDOUR::Bundle>) const;
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc
index f9336cee31..43fd163d2c 100644
--- a/gtk2_ardour/rc_option_editor.cc
+++ b/gtk2_ardour/rc_option_editor.cc
@@ -1416,14 +1416,6 @@ RCOptionEditor::RCOptionEditor ()
add_option (_("Editor"),
new BoolOption (
- "sync-all-route-ordering",
- _("Synchronise editor and mixer track order"),
- sigc::mem_fun (*_rc_config, &RCConfiguration::get_sync_all_route_ordering),
- sigc::mem_fun (*_rc_config, &RCConfiguration::set_sync_all_route_ordering)
- ));
-
- add_option (_("Editor"),
- new BoolOption (
"link-editor-and-mixer-selection",
_("Synchronise editor and mixer selection"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_link_editor_and_mixer_selection),
@@ -1830,7 +1822,6 @@ RCOptionEditor::RCOptionEditor ()
rm->add (UserOrdered, _("assigned by user"));
rm->add (MixerOrdered, _("follows order of mixer"));
- rm->add (EditorOrdered, _("follows order of editor"));
add_option (_("Control Surfaces"), rm);
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 3b3f32ac04..424e59aee4 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -1815,10 +1815,9 @@ RouteUI::open_remote_control_id_dialog ()
_route->remote_control_id(),
(_route->is_master() ? _("the master bus") : _("the monitor bus"))));
} else {
- l->set_markup (string_compose (_("The remote control ID of %6 is: %3\n\n\n"
- "Remote Control IDs are currently determined by track/bus ordering in %1\n\n"
- "%4Use the User Interaction tab of the Preferences window if you want to change this%5"),
- (Config->get_remote_model() == MixerOrdered ? _("the mixer") : _("the editor")),
+ l->set_markup (string_compose (_("The remote control ID of %5 is: %2\n\n\n"
+ "Remote Control IDs are currently determined by track/bus ordering in Ardour.\n\n"
+ "%3Use the User Interaction tab of the Preferences window if you want to change this%4"),
(is_track() ? _("track") : _("bus")),
_route->remote_control_id(),
"<span size=\"small\" style=\"italic\">",