mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
attempt to stop transport, finish butler work, and close all files as part of Session > Cleanup
This commit is contained in:
parent
e63de172d5
commit
297e80e020
1 changed files with 20 additions and 0 deletions
|
|
@ -2935,6 +2935,17 @@ Session::cleanup_sources (CleanupReport& rep)
|
||||||
|
|
||||||
_state_of_the_state = (StateOfTheState) (_state_of_the_state | InCleanup);
|
_state_of_the_state = (StateOfTheState) (_state_of_the_state | InCleanup);
|
||||||
|
|
||||||
|
/* this is mostly for windows which doesn't allow file
|
||||||
|
* renaming if the file is in use. But we don't special
|
||||||
|
* case it because we need to know if this causes
|
||||||
|
* problems, and the easiest way to notice that is to
|
||||||
|
* keep it in place for all platforms.
|
||||||
|
*/
|
||||||
|
|
||||||
|
request_stop (false);
|
||||||
|
_butler->summon ();
|
||||||
|
_butler->wait_until_finished ();
|
||||||
|
|
||||||
/* consider deleting all unused playlists */
|
/* consider deleting all unused playlists */
|
||||||
|
|
||||||
if (playlists->maybe_delete_unused (boost::bind (Session::ask_about_playlist_deletion, _1))) {
|
if (playlists->maybe_delete_unused (boost::bind (Session::ask_about_playlist_deletion, _1))) {
|
||||||
|
|
@ -3008,6 +3019,15 @@ Session::cleanup_sources (CleanupReport& rep)
|
||||||
|
|
||||||
if ((fs = boost::dynamic_pointer_cast<FileSource> (i->second)) != 0) {
|
if ((fs = boost::dynamic_pointer_cast<FileSource> (i->second)) != 0) {
|
||||||
|
|
||||||
|
/* this is mostly for windows which doesn't allow file
|
||||||
|
* renaming if the file is in use. But we don't special
|
||||||
|
* case it because we need to know if this causes
|
||||||
|
* problems, and the easiest way to notice that is to
|
||||||
|
* keep it in place for all platforms.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fs->close ();
|
||||||
|
|
||||||
if (!fs->is_stub()) {
|
if (!fs->is_stub()) {
|
||||||
|
|
||||||
if (playlists->source_use_count (fs) != 0) {
|
if (playlists->source_use_count (fs) != 0) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue