Audacity 3.2.0
Classes | Namespaces | Typedefs | Functions
Project.h File Reference
#include "ClientData.h"
#include "GlobalVariable.h"
#include <memory>
#include <mutex>
#include <wx/event.h>
#include "XMLMethodRegistry.h"
Include dependency graph for Project.h:

Go to the source code of this file.


class  AllProjects
class  AudacityProject
 The top-level handle to an Audacity project. It serves as a source of events that other objects can bind to, and a container of associated sub-objects that it treats opaquely. It stores a filename and a status message and a few other things. There is very little in this class, most of the intelligence residing in the cooperating attached objects. More...
struct  AudacityProject::CreateToken


namespace  BasicUI


using FilePath = wxString
using AttachedProjectObjects = ClientData::Site< AudacityProject, ClientData::Base, ClientData::SkipCopying, std::shared_ptr >
using ProjectFileIORegistry = XMLMethodRegistry< AudacityProject >
using WindowPlacementFactory = GlobalHook< AudacityProject, std::unique_ptr< const BasicUI::WindowPlacement >(AudacityProject &project) >
 Type of function that makes a WindowPlacement for dialogs, with project frame as parent. More...


PROJECT_API std::unique_ptr< const BasicUI::WindowPlacementProjectFramePlacement (AudacityProject *project)
 Make a WindowPlacement object suitable for project (which may be null) More...

Typedef Documentation

◆ AttachedProjectObjects

Definition at line 76 of file Project.h.

◆ FilePath

using FilePath = wxString

Definition at line 21 of file Project.h.

◆ ProjectFileIORegistry

Definition at line 137 of file Project.h.

◆ WindowPlacementFactory

Type of function that makes a WindowPlacement for dialogs, with project frame as parent.

Definition at line 143 of file Project.h.

Function Documentation



◆ ProjectFramePlacement()

PROJECT_API std::unique_ptr< const BasicUI::WindowPlacement > ProjectFramePlacement ( AudacityProject project)

Make a WindowPlacement object suitable for project (which may be null)

return value is not null

Definition at line 129 of file Project.cpp.

132 std::unique_ptr<const BasicUI::WindowPlacement> result;
133 if (project && factory && (result = factory(*project)).get())
134 return result;
135 else
136 return std::make_unique<BasicUI::WindowPlacement>();
static RegisteredToolbarFactory factory
const auto project

References factory, GlobalVariable< Tag, const std::function< Signature >, nullptr, Options... >::Get(), and project.

Referenced by ProjectFileManager::DoImport(), ProjectAudioManager::DoRecord(), ProjectFileManager::DoSave(), ProjectFileIO::HandleXMLTag(), anonymous_namespace{TransportMenus.cpp}::OnPunchAndRoll(), ProjectFileManager::OpenProjectFile(), ProjectAudioManager::PlayPlayRegion(), ProjectFileIO::RenameOrWarn(), ProjectFileManager::SaveCopy(), and AudioIO::StartMonitoring().

Here is the call graph for this function:
Here is the caller graph for this function: