1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-31 11:35:50 +02:00

New attached structure ProjectManager handles project lifetime...

... that is, a factory function, open, close, import, undo/redo/rollback.

Also the callbacks from AudioIO, which need to invoke undo history push when
recording stops.

It is meant as a high-level class using several of the other things attached
to the project, while AudacityProject will be a low level class acting mostly
as just the container of the attached structures.
This commit is contained in:
Paul Licameli
2019-04-29 02:22:08 -04:00
parent c629d44c41
commit 4274d44ab7
50 changed files with 706 additions and 551 deletions

View File

@@ -842,7 +842,7 @@ bool MacroCommands::ApplyMacro(
if (!res) {
if(proj) {
// Macro failed or was cancelled; revert to the previous state
proj->RollbackState();
ProjectManager::Get( *proj ).RollbackState();
}
}
} );
@@ -888,7 +888,7 @@ bool MacroCommands::ApplyMacro(
if (!proj)
return false;
if( MacroReentryCount <= 1 )
proj->PushState(longDesc, shortDesc);
ProjectManager::Get( *proj ).PushState(longDesc, shortDesc);
return true;
}