1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-20 17:41:13 +02:00

ProjectAudioManager doesn't use ProjectWindow, which doesn't use...

ControlToolBar, after we make a system to register functions that calculate
necessary minimum widths for status bar fields.

Also let Scrubbing.cpp register its own strings.

Also be sure to size the status field sufficiently for "Playing at Speed".
This commit is contained in:
Paul Licameli
2019-07-02 18:20:14 -04:00
parent 9f61b67965
commit 68999934e0
11 changed files with 171 additions and 90 deletions

View File

@@ -17,6 +17,8 @@ Paul Licameli split from ProjectManager.h
class AudacityProject;
struct AudioIOStartStreamOptions;
enum StatusBarField : int;
class ProjectAudioManager final
: public ClientData::Base
, public AudioIOListener
@@ -26,9 +28,7 @@ public:
static ProjectAudioManager &Get( AudacityProject &project );
static const ProjectAudioManager &Get( const AudacityProject &project );
explicit ProjectAudioManager( AudacityProject &project )
: mProject{ project }
{}
explicit ProjectAudioManager( AudacityProject &project );
ProjectAudioManager( const ProjectAudioManager & ) PROHIBITED;
ProjectAudioManager &operator=( const ProjectAudioManager & ) PROHIBITED;
~ProjectAudioManager() override;
@@ -77,6 +77,11 @@ private:
bool mLooping{ false };
bool mCutting{ false };
bool mStopping{ false };
int mDisplayedRate{ 0 };
static std::pair< std::vector< wxString >, unsigned >
StatusWidthFunction(
const AudacityProject &project, StatusBarField field);
};
AudioIOStartStreamOptions DefaultPlayOptions( AudacityProject &project );