Audacity 3.2.0
ClipTimeAndPitchSource.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 ClipTimeAndPitchSource.h
7
8 Matthieu Hodgkinson
9
10**********************************************************************/
11#pragma once
12
14#include "PlaybackDirection.h"
15#include "SampleCount.h"
17
18#include <memory>
19
20class ClipInterface;
21using ChannelSampleViews = std::vector<AudioSegmentSampleView>;
22
23class STRETCHING_SEQUENCE_API ClipTimeAndPitchSource final :
25{
26public:
28 const ClipInterface&, double durationToDiscard, PlaybackDirection);
29
30 // TimeAndPitchSource
31 void Pull(float* const*, size_t samplesPerChannel) override;
32
33 size_t NChannels() const;
34
35private:
37 sampleCount mLastReadSample = 0;
40};
An audio segment is either a whole clip or the silence between clips. Views allow shared references t...
std::vector< AudioSegmentSampleView > ChannelSampleViews
PlaybackDirection
ChannelSampleViews mChannelSampleViews
const PlaybackDirection mPlaybackDirection
const ClipInterface & mClip
virtual void Pull(float *const *, size_t samplesPerChannel)=0
Positions or offsets within audio files need a wide type.
Definition: SampleCount.h:19