MCPcopy Create free account
hub / github.com/audacity/audacity / OpenProject

Method OpenProject

src/ProjectManager.cpp:713–733  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

711}
712
713AudacityProject *ProjectManager::OpenProject(
714 AudacityProject *pGivenProject, const FilePath &fileNameArg,
715 bool addtohistory, bool reuseNonemptyProject)
716{
717 ProjectManager::ProjectChooser chooser{ pGivenProject, reuseNonemptyProject };
718 if (auto pProject = ProjectFileManager::OpenFile(
719 std::ref(chooser), fileNameArg, addtohistory )) {
720 chooser.Commit();
721
722 auto &projectFileIO = ProjectFileIO::Get( *pProject );
723 if( projectFileIO.IsRecovered() ) {
724 auto &viewport = Viewport::Get(*pProject);
725 viewport.Zoom(viewport.GetZoomOfToFit());
726 // "Project was recovered" replaces "Create new project" in Undo History.
727 auto &undoManager = UndoManager::Get( *pProject );
728 undoManager.RemoveStates(0, 1);
729 }
730 return pProject;
731 }
732 return nullptr;
733}
734
735// This is done to empty out the tracks, but without creating a new project.
736void ProjectManager::ResetProjectToEmpty() {

Callers 2

OnApplyToFilesMethod · 0.45
ResetProjectToEmptyMethod · 0.45

Calls 6

GetFunction · 0.85
IsRecoveredMethod · 0.80
GetZoomOfToFitMethod · 0.80
RemoveStatesMethod · 0.80
CommitMethod · 0.45
ZoomMethod · 0.45

Tested by

no test coverage detected