catch various libsmf errors rethrown as exceptions

This commit is contained in:
Paul Davis 2018-07-05 13:34:47 -04:00
parent 1a25672239
commit 027d0efc2d
2 changed files with 42 additions and 27 deletions

View file

@ -548,6 +548,7 @@ SMFSource::mark_midi_streaming_write_completed (const Lock& lm, Evoral::Sequence
MidiSource::mark_midi_streaming_write_completed (lm, stuck_notes_option, when);
if (!writable()) {
cerr << "not writable\n";
warning << string_compose ("attempt to write to unwritable SMF file %1", _path) << endmsg;
return;
}
@ -556,7 +557,11 @@ SMFSource::mark_midi_streaming_write_completed (const Lock& lm, Evoral::Sequence
_model->set_edited(false);
}
Evoral::SMF::end_write (_path);
try {
Evoral::SMF::end_write (_path);
} catch (std::exception & e) {
error << string_compose (_("Exception while writing %1, file may be corrupt/unusable"), _path) << endmsg;
}
/* data in the file now, not removable */