Audacity 3.2.0
|
#include <WaveTrack.h>
Public Member Functions | |
Interval (const ChannelGroup &group, const std::shared_ptr< WaveClip > &pClip, const std::shared_ptr< WaveClip > &pClip1) | |
Interval (const ChannelGroup &group, size_t width, const SampleBlockFactoryPtr &factory, int rate, sampleFormat storedSampleFormat) | |
~Interval () override | |
void | Append (constSamplePtr buffer[], sampleFormat format, size_t len) |
void | Flush () |
void | SetName (const wxString &name) |
const wxString & | GetName () const |
void | SetColorIndex (int index) |
int | GetColorIndex () const |
void | SetPlayStartTime (double time) |
double | GetPlayStartTime () const |
double | GetPlayEndTime () const |
bool | IntersectsPlayRegion (double t0, double t1) const |
bool | WithinPlayRegion (double t) const |
double | GetStretchRatio () const |
int | GetCentShift () const |
PitchAndSpeedPreset | GetPitchAndSpeedPreset () const |
void | SetRawAudioTempo (double tempo) |
sampleCount | TimeToSamples (double time) const |
double | SamplesToTime (sampleCount s) const |
double | GetSequenceStartTime () const |
double | GetSequenceEndTime () const |
double | GetTrimLeft () const |
double | GetTrimRight () const |
auto | GetChannel (size_t iChannel) |
auto | GetChannel (size_t iChannel) const |
auto | Channels () |
auto | Channels () const |
bool | IsPlaceholder () const |
void | SetSequenceStartTime (double t) |
void | TrimLeftTo (double t) |
void | TrimRightTo (double t) |
void | TrimQuarternotesFromRight (double numQuarternotes) |
void | StretchLeftTo (double t) |
void | StretchRightTo (double t) |
void | StretchBy (double ratio) |
bool | SetCentShift (int cents) |
void | SetPitchAndSpeedPreset (PitchAndSpeedPreset preset) |
void | SetTrimLeft (double t) |
void | SetTrimRight (double t) |
void | ClearLeft (double t) |
void | ClearRight (double t) |
std::shared_ptr< Interval > | GetRenderedCopy (const std::function< void(double)> &reportProgress, const ChannelGroup &group, const SampleBlockFactoryPtr &factory, sampleFormat format) |
bool | HasPitchOrSpeed () const |
bool | HasEqualPitchAndSpeed (const Interval &other) const |
std::shared_ptr< const WaveClip > | GetClip (size_t iChannel) const |
const std::shared_ptr< WaveClip > & | GetClip (size_t iChannel) |
Public Member Functions inherited from WideChannelGroupInterval | |
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... | |
Public Member Functions inherited from ChannelGroupInterval | |
ChannelGroupInterval (double start, double end) | |
virtual | ~ChannelGroupInterval () |
double | Start () const |
double | End () const |
Private Member Functions | |
const Envelope & | GetEnvelope () const |
void | SetEnvelope (const Envelope &envelope) |
void | ForEachClip (const std::function< void(WaveClip &)> &op) |
std::shared_ptr< ChannelInterval > | DoGetChannel (size_t iChannel) override |
Retrieve a channel. More... | |
Private Attributes | |
const std::shared_ptr< WaveClip > | mpClip |
const std::shared_ptr< WaveClip > | mpClip1 |
TODO wide wave tracks: eliminate this. More... | |
Additional Inherited Members | |
virtual std::shared_ptr< ChannelInterval > | DoGetChannel (size_t iChannel)=0 |
Retrieve a channel. More... | |
Definition at line 927 of file WaveTrack.h.
WaveTrack::Interval::Interval | ( | const ChannelGroup & | group, |
const std::shared_ptr< WaveClip > & | pClip, | ||
const std::shared_ptr< WaveClip > & | pClip1 | ||
) |
pClip != nullptr
Definition at line 184 of file WaveTrack.cpp.
WaveTrack::Interval::Interval | ( | const ChannelGroup & | group, |
size_t | width, | ||
const SampleBlockFactoryPtr & | factory, | ||
int | rate, | ||
sampleFormat | storedSampleFormat | ||
) |
Definition at line 194 of file WaveTrack.cpp.
|
overridedefault |
void WaveTrack::Interval::Append | ( | constSamplePtr | buffer[], |
sampleFormat | format, | ||
size_t | len | ||
) |
Definition at line 207 of file WaveTrack.cpp.
References anonymous_namespace{ExportPCM.cpp}::format, and WaveTrack::NChannels().
|
inline |
Definition at line 975 of file WaveTrack.h.
|
inline |
Definition at line 978 of file WaveTrack.h.
void WaveTrack::Interval::ClearLeft | ( | double | t | ) |
Definition at line 249 of file WaveTrack.cpp.
References WaveTrack::NChannels().
void WaveTrack::Interval::ClearRight | ( | double | t | ) |
Definition at line 255 of file WaveTrack.cpp.
References WaveTrack::NChannels().
|
overrideprivatevirtual |
Retrieve a channel.
!(iChannel < NChannels()) || result
Implements WideChannelGroupInterval.
Definition at line 535 of file WaveTrack.cpp.
References anonymous_namespace{StretchingSequenceIntegrationTest.cpp}::iChannel, and WaveTrack::NChannels().
void WaveTrack::Interval::Flush | ( | ) |
Definition at line 214 of file WaveTrack.cpp.
|
private |
Definition at line 524 of file WaveTrack.cpp.
References WaveTrack::NChannels().
int WaveTrack::Interval::GetCentShift | ( | ) | const |
Definition at line 457 of file WaveTrack.cpp.
|
inline |
Definition at line 970 of file WaveTrack.h.
References anonymous_namespace{StretchingSequenceIntegrationTest.cpp}::iChannel.
|
inline |
Definition at line 972 of file WaveTrack.h.
References anonymous_namespace{StretchingSequenceIntegrationTest.cpp}::iChannel.
|
inline |
Definition at line 1013 of file WaveTrack.h.
References anonymous_namespace{StretchingSequenceIntegrationTest.cpp}::iChannel.
|
inline |
Definition at line 1011 of file WaveTrack.h.
References anonymous_namespace{StretchingSequenceIntegrationTest.cpp}::iChannel.
Referenced by WaveTrackShifter::AdjustFit(), WaveTrackShifter::AdjustT0(), WaveTrackShifter::Detach(), SpectrumView::DoDraw(), WaveformView::DoDraw(), WaveTrackShifter::DoHorizontalOffset(), WaveTrackUtilities::ExpandClipTillNextOne(), HasEqualPitchAndSpeed(), WaveTrackShifter::SelectInterval(), and WaveChannelView::WideClipContains().
int WaveTrack::Interval::GetColorIndex | ( | ) | const |
Definition at line 415 of file WaveTrack.cpp.
|
private |
Definition at line 514 of file WaveTrack.cpp.
const wxString & WaveTrack::Interval::GetName | ( | ) | const |
Definition at line 404 of file WaveTrack.cpp.
PitchAndSpeedPreset WaveTrack::Interval::GetPitchAndSpeedPreset | ( | ) | const |
Definition at line 462 of file WaveTrack.cpp.
double WaveTrack::Interval::GetPlayEndTime | ( | ) | const |
Definition at line 432 of file WaveTrack.cpp.
Referenced by WaveClipUtilities::SelectClip(), and anonymous_namespace{ClipOverflowButtonHandle.cpp}::SelectInterval().
double WaveTrack::Interval::GetPlayStartTime | ( | ) | const |
Definition at line 426 of file WaveTrack.cpp.
Referenced by WaveClipUtilities::SelectClip(), and anonymous_namespace{ClipOverflowButtonHandle.cpp}::SelectInterval().
WaveTrack::IntervalHolder WaveTrack::Interval::GetRenderedCopy | ( | const std::function< void(double)> & | reportProgress, |
const ChannelGroup & | group, | ||
const SampleBlockFactoryPtr & | factory, | ||
sampleFormat | format | ||
) |
result->GetStretchRatio() == 1
Definition at line 293 of file WaveTrack.cpp.
References sampleCount::as_double(), Envelope::CollapseRegion(), factory, floatSample, anonymous_namespace{ExportPCM.cpp}::format, forward, AudioContainer::Get(), WaveTrackUtilities::HasPitchOrSpeed(), limitSampleBufferSize(), min(), WaveTrack::NChannels(), OptimizeForVoice, params, Envelope::SetOffset(), anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::TrimLeftTo(), and anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::TrimRightTo().
double WaveTrack::Interval::GetSequenceEndTime | ( | ) | const |
Definition at line 492 of file WaveTrack.cpp.
Referenced by anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::GetLeftAdjustLimit(), and anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::GetRightAdjustLimit().
double WaveTrack::Interval::GetSequenceStartTime | ( | ) | const |
Definition at line 482 of file WaveTrack.cpp.
Referenced by anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::GetLeftAdjustLimit(), and anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::GetRightAdjustLimit().
double WaveTrack::Interval::GetStretchRatio | ( | ) | const |
Definition at line 451 of file WaveTrack.cpp.
Referenced by WaveTrackUtilities::SetClipStretchRatio().
double WaveTrack::Interval::GetTrimLeft | ( | ) | const |
Definition at line 497 of file WaveTrack.cpp.
double WaveTrack::Interval::GetTrimRight | ( | ) | const |
Definition at line 503 of file WaveTrack.cpp.
bool WaveTrack::Interval::HasEqualPitchAndSpeed | ( | const Interval & | other | ) | const |
Definition at line 393 of file WaveTrack.cpp.
References GetClip().
bool WaveTrack::Interval::HasPitchOrSpeed | ( | ) | const |
Definition at line 387 of file WaveTrack.cpp.
bool WaveTrack::Interval::IntersectsPlayRegion | ( | double | t0, |
double | t1 | ||
) | const |
Definition at line 439 of file WaveTrack.cpp.
bool WaveTrack::Interval::IsPlaceholder | ( | ) | const |
Definition at line 509 of file WaveTrack.cpp.
double WaveTrack::Interval::SamplesToTime | ( | sampleCount | s | ) | const |
Definition at line 477 of file WaveTrack.cpp.
bool WaveTrack::Interval::SetCentShift | ( | int | cents | ) |
Definition at line 279 of file WaveTrack.cpp.
References WaveTrack::NChannels().
void WaveTrack::Interval::SetColorIndex | ( | int | index | ) |
Definition at line 410 of file WaveTrack.cpp.
|
private |
Definition at line 519 of file WaveTrack.cpp.
void WaveTrack::Interval::SetName | ( | const wxString & | name | ) |
void WaveTrack::Interval::SetPitchAndSpeedPreset | ( | PitchAndSpeedPreset | preset | ) |
Definition at line 287 of file WaveTrack.cpp.
References WaveTrack::NChannels(), and preset.
void WaveTrack::Interval::SetPlayStartTime | ( | double | time | ) |
Definition at line 421 of file WaveTrack.cpp.
void WaveTrack::Interval::SetRawAudioTempo | ( | double | tempo | ) |
Definition at line 467 of file WaveTrack.cpp.
void WaveTrack::Interval::SetSequenceStartTime | ( | double | t | ) |
Definition at line 487 of file WaveTrack.cpp.
void WaveTrack::Interval::SetTrimLeft | ( | double | t | ) |
Definition at line 237 of file WaveTrack.cpp.
References WaveTrack::NChannels().
void WaveTrack::Interval::SetTrimRight | ( | double | t | ) |
Definition at line 243 of file WaveTrack.cpp.
References WaveTrack::NChannels().
void WaveTrack::Interval::StretchBy | ( | double | ratio | ) |
Definition at line 273 of file WaveTrack.cpp.
References WaveTrack::NChannels().
void WaveTrack::Interval::StretchLeftTo | ( | double | t | ) |
Definition at line 261 of file WaveTrack.cpp.
References WaveTrack::NChannels().
Referenced by anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::StretchLeftTo().
void WaveTrack::Interval::StretchRightTo | ( | double | t | ) |
Definition at line 267 of file WaveTrack.cpp.
References WaveTrack::NChannels().
Referenced by WaveTrackUtilities::ExpandClipTillNextOne(), WaveTrackUtilities::SetClipStretchRatio(), and anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::StretchRightTo().
sampleCount WaveTrack::Interval::TimeToSamples | ( | double | time | ) | const |
Definition at line 472 of file WaveTrack.cpp.
void WaveTrack::Interval::TrimLeftTo | ( | double | t | ) |
Definition at line 219 of file WaveTrack.cpp.
References WaveTrack::NChannels().
Referenced by anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::TrimLeftTo().
void WaveTrack::Interval::TrimQuarternotesFromRight | ( | double | numQuarternotes | ) |
Definition at line 231 of file WaveTrack.cpp.
void WaveTrack::Interval::TrimRightTo | ( | double | t | ) |
Definition at line 225 of file WaveTrack.cpp.
References WaveTrack::NChannels().
Referenced by anonymous_namespace{WaveClipAdjustBorderHandle.cpp}::TrimRightTo().
bool WaveTrack::Interval::WithinPlayRegion | ( | double | t | ) | const |
Definition at line 446 of file WaveTrack.cpp.
|
private |
Definition at line 1023 of file WaveTrack.h.
|
private |
TODO wide wave tracks: eliminate this.
Definition at line 1025 of file WaveTrack.h.