No further development on 'recfolder' is planned (hence merge).
The first commit (5edbb2cb) can be rebased for a short to mid-term
solution. Mid-to-long term the general raid and file management
situation will need to be addressed in a more consistent and
creative manner.
Conflicts:
gtk2_ardour/session_option_editor.cc
gtk2_ardour/session_option_editor.h
::source_by_path() was written for MIDI files only. I fixed the call and renamed the two similar functions (one for audio and one for MIDI) to make it more clear.
This is intended to catch a potential wierd condition where a source exists as a stub, but has not yet been written to disk,
and then a new source is created with the same path. Currently it is not understood how/when this might happen
Existing code would cause data loss due to creation of two Source objects referring the same path, one with removable flags and one without. Careful code review suggested a variety of thinkos, function naming problems and other confusion that caused this. I have tried ot extensively comment what is going on with these operations, because it is one key area in which MIDI differs from audio: with audio, capture is the only way to add a new audio region, but for MIDI there are GUI input events that can add a new region.
This is intended to catch a potential wierd condition where a source exists as a stub, but has not yet been written to disk,
and then a new source is created with the same path. Currently it is not understood how/when this might happen
Existing code would cause data loss due to creation of two Source objects referring the same path, one with removable flags and one without. Careful code review suggested a variety of thinkos, function naming problems and other confusion that caused this. I have tried ot extensively comment what is going on with these operations, because it is one key area in which MIDI differs from audio: with audio, capture is the only way to add a new audio region, but for MIDI there are GUI input events that can add a new region.
Outdated and fuzzy translations of MTC, MTC, LTC, etc caused
various issues (duplicate jack port names, exceptions, crashes).
Functionality should not be affected by translations (for now).