+ if (selected.empty ()) {
+ if (_gmsynth_id != UINT32_MAX) {
+ set_active(_gmsynth_id);
+ } else {
+ set_active(_reasonable_synth_id);
+ }
+ } else {
+ TreeModel::Children rows = _instrument_list->children();
+ TreeModel::Children::iterator i;
+ for (i = rows.begin(); i != rows.end(); ++i) {
+ std::string cn = (*i)[_instrument_list_columns.name];
+ if (cn == selected) {
+ set_active(*i);
+ break;
+ }
+ }
+ }