1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-21 16:11:11 +01:00

Scrubbing.cpp does not depend on TranscriptionToolBar...

... Freeing the latter from cycles, and also VoiceKey.

As with ToolsToolBar, use low-level ProjectSettings as the chalkboard for
sending a message.
This commit is contained in:
Paul Licameli
2019-06-14 00:14:13 -04:00
parent 1884eb8619
commit 352380d58f
5 changed files with 27 additions and 14 deletions

View File

@@ -11,6 +11,7 @@ Paul Licameli split from AudacityProject.h
#ifndef __AUDACITY_PROJECT_SETTINGS__
#define __AUDACITY_PROJECT_SETTINGS__
#include <atomic>
#include <wx/event.h> // to declare custom event type
#include "ClientData.h" // to inherit
@@ -88,6 +89,12 @@ public:
void SetTool(int tool) { mCurrentTool = tool; }
int GetTool() const { return mCurrentTool; }
// Speed play
double GetPlaySpeed() const {
return mPlaySpeed.load( std::memory_order_relaxed ); }
void SetPlaySpeed( double value ) {
mPlaySpeed.store( value, std::memory_order_relaxed ); }
// Selection Format
void SetSelectionFormat(const NumericFormatSymbol & format);
@@ -121,6 +128,10 @@ private:
double mRate;
// This is atomic because scrubber may read it in a separate thread from
// the main
std::atomic<double> mPlaySpeed{};
sampleFormat mDefaultFormat;
int mSnapTo;