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:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user