#include <gtkmm/accelmap.h>
#include "pbd/convert.h"
+#include "pbd/stacktrace.h"
#include <glibmm/thread.h>
#include <gtkmm2ext/gtk_ui.h>
Mixer_UI::Mixer_UI ()
: Window (Gtk::WINDOW_TOPLEVEL)
- , _plugin_selector (0)
{
session = 0;
_strip_width = Config->get_default_narrow_ms() ? Narrow : Wide;
group_display.show();
auto_rebinding = FALSE;
+
+ _plugin_selector = new PluginSelector (PluginManager::the_manager ());
}
Mixer_UI::~Mixer_UI ()
TreeModel::Children rows = track_model->children();
TreeModel::Children::iterator ri;
- if (src == N_("signal") || !session || (session->state_of_the_state() & Session::Loading) || rows.empty()) {
+ if (src == N_("signal") || !session || (session->state_of_the_state() & (Session::Loading|Session::Deletion)) || rows.empty()) {
return;
}
changed = true;
}
}
+
+ if (keys.size() != rows.size()) {
+ PBD::stacktrace (cerr, 20);
+ }
assert(keys.size() == rows.size());
// Remove any gaps in keys caused by automation children tracks
for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
if ((*i)->route_group() == group) {
- (*i)->route_group_changed(0);
+ (*i)->route_group_changed();
}
}
PluginSelector*
Mixer_UI::plugin_selector()
{
- if (!_plugin_selector) {
- _plugin_selector = new PluginSelector (PluginManager::the_manager());
- _plugin_selector->set_session (session);
- }
return _plugin_selector;
}