Audacity 3.2.0
Public Member Functions | Public Attributes | Private Attributes | List of all members
ProjectTimeRuler::Impl Struct Referencefinal
Collaboration diagram for ProjectTimeRuler::Impl:
[legend]

Public Member Functions

 Impl (AudacityProject &project)
 

Public Attributes

TimeDisplayMode mode { TimeDisplayModePreference.ReadEnum() }
 
BeatsFormat beatsFormat
 
LinearUpdater updater
 
Ruler ruler { updater, TimeFormat::Instance() }
 

Private Attributes

Observer::Subscription projectTimeSignatureChanged
 
Observer::Subscription timeDisplayModeChanged
 

Detailed Description

Definition at line 39 of file ProjectTimeRuler.cpp.

Constructor & Destructor Documentation

◆ Impl()

ProjectTimeRuler::Impl::Impl ( AudacityProject project)
inlineexplicit

Definition at line 41 of file ProjectTimeRuler.cpp.

44 .Subscribe([this](const auto& msg) {
46 msg.newTempo,
47 msg.newUpperTimeSignature,
48 msg.newLowerTimeSignature);
49
51 }) }
53 [this](TimeDisplayMode newMode) {
54 switch (newMode)
55 {
58 break;
61 break;
62 default:
63 assert(false);
64 break;
65 }
66 }) }
67 {
70 }
const auto project
TimeDisplayModeSetting TimeDisplayModePreference
TimeDisplayMode
void SetData(double bpm, int timeSigUpper, int timeSigLower)
Definition: BeatsFormat.cpp:70
Subscription Subscribe(Callback callback)
Connect a callback to the Publisher; later-connected are called earlier.
Definition: Observer.h:199
static ProjectTimeSignature & Get(AudacityProject &project)
void SetFormat(const RulerFormat *pFormat)
Definition: Ruler.cpp:104
void Invalidate()
Definition: Ruler.cpp:317
Observer::Subscription Subscribe(Callback callback)
static const TimeFormat & Instance()
Definition: TimeFormat.cpp:15
Observer::Subscription timeDisplayModeChanged
Observer::Subscription projectTimeSignatureChanged

References beatsFormat, Ruler::Invalidate(), ruler, and BeatsFormat::SetData().

Here is the call graph for this function:

Member Data Documentation

◆ beatsFormat

BeatsFormat ProjectTimeRuler::Impl::beatsFormat

Definition at line 74 of file ProjectTimeRuler.cpp.

Referenced by Impl().

◆ mode

TimeDisplayMode ProjectTimeRuler::Impl::mode { TimeDisplayModePreference.ReadEnum() }

Definition at line 72 of file ProjectTimeRuler.cpp.

◆ projectTimeSignatureChanged

Observer::Subscription ProjectTimeRuler::Impl::projectTimeSignatureChanged
private

Definition at line 80 of file ProjectTimeRuler.cpp.

◆ ruler

Ruler ProjectTimeRuler::Impl::ruler { updater, TimeFormat::Instance() }

Definition at line 77 of file ProjectTimeRuler.cpp.

Referenced by Impl().

◆ timeDisplayModeChanged

Observer::Subscription ProjectTimeRuler::Impl::timeDisplayModeChanged
private

Definition at line 81 of file ProjectTimeRuler.cpp.

◆ updater

LinearUpdater ProjectTimeRuler::Impl::updater

Definition at line 75 of file ProjectTimeRuler.cpp.


The documentation for this struct was generated from the following file: