1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-03 05:04:24 +01:00

New files for ProjectAudioIO

This commit is contained in:
Paul Licameli
2019-05-29 11:37:47 -04:00
parent 1f4202c878
commit e5cf2165d1
35 changed files with 216 additions and 122 deletions

View File

@@ -55,8 +55,6 @@ class RecordingRecoveryHandler;
namespace ProjectFileIORegistry{ struct Entry; }
class TrackList;
class MeterPanel;
struct AudioIOStartStreamOptions;
struct UndoState;
@@ -585,35 +583,6 @@ inline const wxFrame *FindProjectFrame( const AudacityProject *project ) {
return project ? &GetProjectFrame( *project ) : nullptr;
}
class ProjectAudioIO final
: public ClientData::Base
{
public:
static ProjectAudioIO &Get( AudacityProject &project );
static const ProjectAudioIO &Get( const AudacityProject &project );
explicit ProjectAudioIO( AudacityProject &project );
~ProjectAudioIO();
int GetAudioIOToken() const;
bool IsAudioActive() const;
void SetAudioIOToken(int token);
MeterPanel *GetPlaybackMeter();
void SetPlaybackMeter(MeterPanel *playback);
MeterPanel *GetCaptureMeter();
void SetCaptureMeter(MeterPanel *capture);
private:
AudacityProject &mProject;
// Project owned meters
MeterPanel *mPlaybackMeter{};
MeterPanel *mCaptureMeter{};
int mAudioIOToken{ -1 };
};
AudioIOStartStreamOptions DefaultPlayOptions( AudacityProject &project );
AudioIOStartStreamOptions DefaultSpeedPlayOptions( AudacityProject &project );