- asynth.reset ();
- if (!plugin_id.empty() || plugin_id == X_("@default@")) {
- boost::shared_ptr<Plugin> p;
- p = find_plugin (_session, plugin_id, ARDOUR::LV2);
- if (!p) {
- p = find_plugin (_session, "http://gareus.org/oss/lv2/gmsynth", ARDOUR::LV2);
- if (!p) {
- p = find_plugin (_session, "https://community.ardour.org/node/7596", ARDOUR::LV2);
- }
- if (p) {
- warning << _("Falling back to Reasonable Synth for Midi Audition") << endmsg;
- } else {
- warning << _("No synth for midi-audition found.") << endmsg;
- Config->set_midi_audition_synth_uri(""); // Don't check again for Reasonable Synth (ie --no-lv2)
- }
- }
- if (p) {
- if (plugin_id == X_("@default@")) {
- Config->set_midi_audition_synth_uri (p->get_info()->unique_id);
- }
- asynth = boost::shared_ptr<Processor> (new PluginInsert (_session, p));
+ if (plugin_id.empty() && plugin_id != X_("@default@")) {
+ return;
+ }
+ PluginInfoPtr nfo;
+
+ nfo = lookup_synth_plugin_info (plugin_id);
+ if (!nfo) {
+ nfo = lookup_synth_plugin_info ("http://gareus.org/oss/lv2/gmsynth");
+ }
+ if (!nfo) {
+ nfo = lookup_synth_plugin_info ("https://community.ardour.org/node/7596");
+ if (nfo) {
+ warning << _("Falling back to Reasonable Synth for Midi Audition") << endmsg;