This PR currently covers the following bullet items:
From 2021-12-20, item 3: In the SV code that loads a session template – it gets the list of scores from the template list at the moment – I guess it just needs to look in a different place for these templates
From 2022-01-05, items 1-3: Create “$HOME/Documents/SV-Piano Precision/Recordings” for recordings... Each recording goes into Recordings//<timestamp?>/recording.wav
From 2022-01-05, item 4: Unmodified onset annotations (from plugin) should go in Recordings//<timestamp?>/onsets-unmodified.csv
Detail:
Add ScoreFinder as discussed to contain common code for scanning score directories and use it in MainWindow, ScoreWidget, and ScorePositionReader
Add ability in MainWindowBase for templates to be loaded from a specific location rather than just the inbuilt resource directory
Add ability in RecordDirectory to accept a custom parent directory for date-specific recording directories
Set the session template to the full filename in MainWindow::chooseScore (score templates should now be loaded from the proper location)
Set the record directory parent to the proper record directory in MainWindow::chooseScore (recordings should now go to the proper location)
Track the population of the onsets layer after audio file load/recording and, when complete, export it to a CSV file in the same location.
The last item is not totally ideal - the exported CSV file name doesn't quite match the audio file, because it is based on the timestamp and that will be a few seconds later (i.e. the CSV file is newer by the duration of the recording, plus any processing time). So this can be improved. The whole is also only very lightly tested. Still, give it a try.
This PR currently covers the following bullet items:
Detail:
MainWindow::chooseScore
(score templates should now be loaded from the proper location)MainWindow::chooseScore
(recordings should now go to the proper location)The last item is not totally ideal - the exported CSV file name doesn't quite match the audio file, because it is based on the timestamp and that will be a few seconds later (i.e. the CSV file is newer by the duration of the recording, plus any processing time). So this can be improved. The whole is also only very lightly tested. Still, give it a try.