diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index 181516bf0a..6e57f17220 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -1536,6 +1536,14 @@ PluginManager::save_tags () XMLNode* root = new XMLNode (X_("PluginTags")); for (PluginTagList::iterator i = ptags.begin(); i != ptags.end(); ++i) { +#ifdef MIXBUS + if ((*i).type == LADSPA) { + uint32_t id = atoi ((*i).unique_id); + if (id >= 9300 && id <= 9399) { + continue; /* do not write mixbus channelstrip ladspa's in the tagfile */ + } + } +#endif if ((*i).tagtype == FromFactoryFile || (*i).tagtype == FromUserFile) { /* user file should contain only plugins that are (a) newly user-tagged or (b) previously unknown */ continue; diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index f5d72a24f3..7f8eba95cb 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -1224,7 +1224,7 @@ OSC::routes_list (lo_message msg) } else if (boost::dynamic_pointer_cast(s) && !boost::dynamic_pointer_cast(s)) { if (!(s->presentation_info().flags() & PresentationInfo::MidiBus)) { // r->feeds (session->master_out()) may make more sense - if (r->direct_feeds_according_to_reality (session->master_out())) { + if (session->master_out() && r->direct_feeds_according_to_reality (session->master_out())) { // this is a bus lo_message_add_string (reply, "B"); } else { @@ -6379,7 +6379,9 @@ OSC::get_sorted_stripables(std::bitset<32> types, bool cue, uint32_t custom, Sor if (!custom) { // Master/Monitor might be anywhere... we put them at the end - Sorry ;) if (types[5]) { - sorted.push_back (session->master_out()); + if (session->master_out()) { + sorted.push_back (session->master_out()); + } } if (types[6]) { if (session->monitor_out()) {