12#ifndef __AUDACITY_AUDIO_IO_SEQUENCES__
13#define __AUDACITY_AUDIO_IO_SEQUENCES__
39 std::vector<std::shared_ptr<const PlayableSequence>>;
std::vector< std::shared_ptr< RecordableSequence > > RecordableSequences
std::vector< std::shared_ptr< const PlayableSequence > > ConstPlayableSequences
Append(Adapt< My >([](My &table) { return(WaveChannelSubViews::numFactories() > 1) ? std::make_unique< Entry >("MultiView", Entry::CheckItem, OnMultiViewID, XXO("&Multi-view"), POPUP_MENU_FN(OnMultiView), table, [](PopupMenuHandler &handler, wxMenu &menu, int id){ auto &table=static_cast< WaveTrackMenuTable & >(handler);auto &track=table.FindWaveTrack();const auto &view=WaveChannelView::Get(track);menu.Check(id, view.GetMultiView());}) :nullptr;}))
This is defined just to enable dynamic_cast on it.
virtual ~OtherPlayableSequence()
virtual const ChannelGroup * FindChannelGroup() const =0
Find associated ChannelGroup if any.
virtual bool GetSolo() const =0
May vary asynchronously.
virtual bool GetMute() const =0
May vary asynchronously.
~PlayableSequence() override
virtual size_t NChannels() const =0
A constant property.
virtual ~RecordableSequence()
virtual double GetRate() const =0
virtual void InsertSilence(double t, double len)=0
virtual bool IsLeader() const =0
virtual void Flush()=0
Flush of related leader must be called after last Append.
virtual sampleFormat GetSampleFormat() const =0
bool Append(constSamplePtr buffer, sampleFormat format, size_t len, size_t iChannel=0)
virtual bool Append(constSamplePtr buffer, sampleFormat format, size_t len, unsigned int stride, sampleFormat effectiveFormat, size_t iChannel=0)=0
Append the sample data to the track. You must call Flush() after the last Append.