Audacity 3.2.0
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo Struct Reference
Inheritance diagram for anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo:
[legend]
Collaboration diagram for anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo:
[legend]

Public Member Functions

 MuteAndSolo ()=default
 
 MuteAndSolo (const MuteAndSolo &)
 
MuteAndSolooperator= (const MuteAndSolo &)=delete
 
 ~MuteAndSolo () override
 
std::unique_ptr< ClientData::Cloneable<> > Clone () const override
 
bool GetMute () const
 
void SetMute (bool value)
 
bool GetSolo () const
 
void SetSolo (bool value)
 
- Public Member Functions inherited from ClientData::Cloneable< Covariant, Owner >
 Cloneable ()=default
 
 Cloneable (const Cloneable &)=default
 
Cloneableoperator= (const Cloneable &)=default
 
virtual ~Cloneable ()=default
 
virtual PointerType Clone () const =0
 

Static Public Member Functions

static MuteAndSoloGet (PlayableTrack &track)
 
static const MuteAndSoloGet (const PlayableTrack &track)
 

Private Attributes

std::atomic< bool > mMute { false }
 Atomic because it may be read by worker threads in playback. More...
 
std::atomic< bool > mSolo { false }
 Atomic because it may be read by worker threads in playback. More...
 

Additional Inherited Members

- Public Types inherited from ClientData::Cloneable< Covariant, Owner >
using Base = std::conditional_t< std::is_void_v< Covariant >, Cloneable, Covariant >
 
using PointerType = Owner< Base >
 

Detailed Description

Definition at line 23 of file PlayableTrack.cpp.

Constructor & Destructor Documentation

◆ MuteAndSolo() [1/2]

anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::MuteAndSolo ( )
default

◆ MuteAndSolo() [2/2]

anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::MuteAndSolo ( const MuteAndSolo )

◆ ~MuteAndSolo()

anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::~MuteAndSolo ( )
overridedefault

Member Function Documentation

◆ Clone()

std::unique_ptr< ClientData::Cloneable<> > anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::Clone ( ) const
overridevirtual

Implements ClientData::Cloneable< Covariant, Owner >.

Definition at line 56 of file PlayableTrack.cpp.

56 {
57 return std::make_unique<MuteAndSolo>(*this);
58}

◆ Get() [1/2]

const MuteAndSolo & anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::Get ( const PlayableTrack track)
static

Definition at line 64 of file PlayableTrack.cpp.

65{
66 return Get(const_cast<PlayableTrack &>(track));
67}
AudioTrack subclass that can also be audibly replayed by the program.
Definition: PlayableTrack.h:40
static MuteAndSolo & Get(PlayableTrack &track)

References BasicUI::Get().

Here is the call graph for this function:

◆ Get() [2/2]

MuteAndSolo & anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::Get ( PlayableTrack track)
static

Definition at line 60 of file PlayableTrack.cpp.

60 {
61 return track.Attachments::Get<MuteAndSolo>(muteAndSoloFactory);
62}
static const ChannelGroup::Attachments::RegisteredFactory muteAndSoloFactory

References anonymous_namespace{PlayableTrack.cpp}::muteAndSoloFactory.

◆ GetMute()

bool anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::GetMute ( ) const

Definition at line 69 of file PlayableTrack.cpp.

70{
71 return mMute.load(std::memory_order_relaxed);
72}
std::atomic< bool > mMute
Atomic because it may be read by worker threads in playback.

◆ GetSolo()

bool anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::GetSolo ( ) const

Definition at line 79 of file PlayableTrack.cpp.

80{
81 return mSolo.load(std::memory_order_relaxed);
82}
std::atomic< bool > mSolo
Atomic because it may be read by worker threads in playback.

◆ operator=()

MuteAndSolo & anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::operator= ( const MuteAndSolo )
delete

◆ SetMute()

void anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::SetMute ( bool  value)

Definition at line 74 of file PlayableTrack.cpp.

75{
76 mMute.store(value, std::memory_order_relaxed);
77}

◆ SetSolo()

void anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::SetSolo ( bool  value)

Definition at line 84 of file PlayableTrack.cpp.

85{
86 mSolo.store(value, std::memory_order_relaxed);
87}

Member Data Documentation

◆ mMute

std::atomic<bool> anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::mMute { false }
private

Atomic because it may be read by worker threads in playback.

Definition at line 40 of file PlayableTrack.cpp.

◆ mSolo

std::atomic<bool> anonymous_namespace{PlayableTrack.cpp}::MuteAndSolo::mSolo { false }
private

Atomic because it may be read by worker threads in playback.

Definition at line 42 of file PlayableTrack.cpp.


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