![]() |
Audacity 3.2.0
|
#include <Channel.h>
Classes | |
class | ChannelIterator |
Public Member Functions | |
WideChannelGroupInterval (const ChannelGroup &group, double start, double end) | |
~WideChannelGroupInterval () override | |
size_t | NChannels () const |
Report the number of channels. More... | |
template<typename IntervalType = ChannelInterval> | |
std::shared_ptr< IntervalType > | GetChannel (size_t iChannel) |
Retrieve a channel, cast to the given type. More... | |
template<typename IntervalType = const ChannelInterval> | |
auto | GetChannel (size_t iChannel) const -> std::enable_if_t< std::is_const_v< IntervalType >, std::shared_ptr< IntervalType > > |
template<typename IntervalType = ChannelInterval> | |
IteratorRange< ChannelIterator< IntervalType > > | Channels () |
Get range of ChannelInterval objects with mutative access. More... | |
template<typename IntervalType = const ChannelInterval> | |
auto | Channels () const -> std::enable_if_t< std::is_const_v< IntervalType >, IteratorRange< ChannelIterator< IntervalType > > > |
Get range of channels with read-only access. More... | |
![]() | |
ChannelGroupInterval (double start, double end) | |
virtual | ~ChannelGroupInterval () |
double | Start () const |
double | End () const |
Protected Member Functions | |
virtual std::shared_ptr< ChannelInterval > | DoGetChannel (size_t iChannel)=0 |
Retrieve a channel. More... | |
Private Attributes | |
const size_t | mNChannels |
Start and end time, and channel width, and whatever else subclasses associate with them
Start and end and number of channels are immutable, but subclasses may add other mutable data
WideChannelGroupInterval::WideChannelGroupInterval | ( | const ChannelGroup & | group, |
double | start, | ||
double | end | ||
) |
Initialize immutable properties, constraining number of channels to equal that of the containing group
group.IsLeader()
start <= end
NChannels() == group.NChannels()
Definition at line 21 of file Channel.cpp.
References ChannelGroup::IsLeader(), and mNChannels.
|
overridedefault |
|
inline |
Get range of ChannelInterval objects with mutative access.
|
inline |
|
protectedpure virtual |
Retrieve a channel.
!(iChannel < NChannels()) || result
Implemented in NoteTrack::Interval, WaveTrack::Interval, and LabelTrack::Interval.
|
inline |
Retrieve a channel, cast to the given type.
Postconditions imply that GetChannel(0)
is always non-null
!(iChannel < NChannels()) || result
Definition at line 90 of file Channel.h.
References anonymous_namespace{StretchingSequenceIntegrationTest.cpp}::iChannel.
|
inline |
Postconditions imply that GetChannel(0)
is always non-null
!(iChannel < NChannels()) || result
Definition at line 100 of file Channel.h.
References anonymous_namespace{StretchingSequenceIntegrationTest.cpp}::iChannel.
|
inline |
|
private |
Definition at line 174 of file Channel.h.
Referenced by WideChannelGroupInterval().