1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-04-23 14:33:57 +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

@@ -297,7 +297,7 @@ void EffectRack::OnApply(wxCommandEvent & WXUNUSED(evt))
auto state = UndoManager::Get( *project ).GetCurrentState();
auto cleanup = finally( [&] {
if(!success)
project->SetStateTo(state);
ProjectManager::Get( *project ).SetStateTo( state );
} );
for (size_t i = 0, cnt = mEffects.size(); i < cnt; i++)