1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-13 14:13:32 +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

@@ -385,7 +385,7 @@ void LOFImportFileHandle::lofOpenFiles(wxString* ln)
* audio file. TODO: Some sort of message here? */
#endif // USE_MIDI
mProject = AudacityProject::OpenProject( mProject, targetfile );
mProject = ProjectManager::OpenProject( mProject, targetfile );
// Set tok to right after filename
temptok2.SetString(targettoken);
@@ -440,7 +440,7 @@ void LOFImportFileHandle::lofOpenFiles(wxString* ln)
}
// Amend the undo transaction made by import
mProject->ModifyState(false);
ProjectManager::Get( *mProject ).ModifyState(false);
} // end of converting "offset" argument
else
{
@@ -484,7 +484,7 @@ void LOFImportFileHandle::doDurationAndScrollOffset()
if (doSomething)
// Amend last undo state
mProject->ModifyState(false);
ProjectManager::Get( *mProject ).ModifyState(false);
}
LOFImportFileHandle::~LOFImportFileHandle()