14 std::shared_ptr<ClipInterface> left, std::shared_ptr<ClipInterface> right)
15 : mChannels {
std::move(left),
std::move(right) }
20 size_t ii,
sampleCount start,
size_t len,
bool mayThrow)
const
22 return mChannels[ii]->GetSampleView(0u, start, len, mayThrow);
27 return mChannels[0u]->GetVisibleSampleCount();
32 return mChannels[1u] ==
nullptr ? 1u : 2u;
52 return mChannels[0u]->TimeToSamples(time);
67 return mChannels[0u]->GetPitchAndSpeedPreset();
76 return mChannels[0u]->SubscribeToCentShiftChange(std::move(cb));
85 return mChannels[0u]->SubscribeToPitchAndSpeedPresetChange(std::move(cb));
A move-only handle representing a connection to a Publisher.
int GetCentShift() const override
sampleCount GetVisibleSampleCount() const override
double GetPlayStartTime() const override
double GetPlayEndTime() const override
Observer::Subscription SubscribeToCentShiftChange(std::function< void(int)> cb) override
WideClip(std::shared_ptr< ClipInterface > left, std::shared_ptr< ClipInterface > right)
const std::array< std::shared_ptr< ClipInterface >, 2 > mChannels
int GetRate() const override
AudioSegmentSampleView GetSampleView(size_t ii, sampleCount start, size_t len, bool mayThrow) const override
size_t GetWidth() const override
double GetStretchRatio() const override
PitchAndSpeedPreset GetPitchAndSpeedPreset() const override
Observer::Subscription SubscribeToPitchAndSpeedPresetChange(std::function< void(PitchAndSpeedPreset)> cb) override
sampleCount TimeToSamples(double time) const override
Positions or offsets within audio files need a wide type.