Audacity 3.2.0
Classes | Namespaces | Macros | Typedefs | Functions | Variables
WaveTrack.h File Reference
#include "ClipInterface.h"
#include "PlaybackDirection.h"
#include "Prefs.h"
#include "SampleCount.h"
#include "SampleFormat.h"
#include "SampleTrack.h"
#include "WideSampleSequence.h"
#include <functional>
#include <optional>
#include <vector>
#include <wx/thread.h>
#include <wx/longlong.h>
#include "XMLMethodRegistry.h"
Include dependency graph for WaveTrack.h:

Go to the source code of this file.


struct  WaveTrackMessage
class  WaveChannel
class  WaveTrack
 A Track that contains audio waveform data. More...
struct  WaveTrack::CreateToken
struct  WaveTrack::Region
 Structure to hold region of a wavetrack and a comparison function for sortability. More...
class  WaveTrackFactory
 Used to create or clone a WaveTrack, with appropriate context from the project that will own the track. More...


namespace  BasicUI




using SampleBlockFactoryPtr = std::shared_ptr< SampleBlockFactory >
using WaveChannelInterval = WaveClipChannel
using WaveClipHolder = std::shared_ptr< WaveClip >
 Clips are held by shared_ptr, not for sharing, but to allow weak_ptr. More...
using WaveClipConstHolder = std::shared_ptr< const WaveClip >
using WaveClipHolders = std::vector< WaveClipHolder >
using WaveClipConstHolders = std::vector< WaveClipConstHolder >
using ClipConstHolders = std::vector< std::shared_ptr< const ClipInterface > >
using WaveClipPointers = std::vector< WaveClip * >
using WaveClipConstPointers = std::vector< const WaveClip * >
using ChannelSampleView = std::vector< AudioSegmentSampleView >
using ChannelGroupSampleView = std::vector< ChannelSampleView >
using TimeInterval = std::pair< double, double >
using ProgressReporter = std::function< void(double)>
using WaveTrackIORegistry = XMLMethodRegistry< WaveTrack >


WAVE_TRACK_API bool GetEditClipsCanMove ()


WAVE_TRACK_API BoolSetting EditClipsCanMove
WAVE_TRACK_API StringSetting AudioTrackNameSetting

Macro Definition Documentation



Definition at line 67 of file WaveTrack.h.

Typedef Documentation

◆ ChannelGroupSampleView

Definition at line 59 of file WaveTrack.h.

◆ ChannelSampleView

Definition at line 58 of file WaveTrack.h.

◆ ClipConstHolders

using ClipConstHolders = std::vector<std::shared_ptr<const ClipInterface> >

Definition at line 52 of file WaveTrack.h.

◆ ProgressReporter

using ProgressReporter = std::function<void(double)>

Definition at line 62 of file WaveTrack.h.

◆ SampleBlockFactoryPtr

using SampleBlockFactoryPtr = std::shared_ptr<SampleBlockFactory>

Definition at line 34 of file WaveTrack.h.

◆ TimeInterval

using TimeInterval = std::pair<double, double>

Definition at line 61 of file WaveTrack.h.

◆ WaveChannelInterval

Definition at line 42 of file WaveTrack.h.

◆ WaveClipConstHolder

using WaveClipConstHolder = std::shared_ptr<const WaveClip>

Definition at line 47 of file WaveTrack.h.

◆ WaveClipConstHolders

Definition at line 50 of file WaveTrack.h.

◆ WaveClipConstPointers

using WaveClipConstPointers = std::vector < const WaveClip* >

Definition at line 56 of file WaveTrack.h.

◆ WaveClipHolder

using WaveClipHolder = std::shared_ptr<WaveClip>

Clips are held by shared_ptr, not for sharing, but to allow weak_ptr.

Definition at line 46 of file WaveTrack.h.

◆ WaveClipHolders

using WaveClipHolders = std::vector<WaveClipHolder>

Definition at line 48 of file WaveTrack.h.

◆ WaveClipPointers

using WaveClipPointers = std::vector < WaveClip* >

Definition at line 55 of file WaveTrack.h.

◆ WaveTrackIORegistry

Definition at line 956 of file WaveTrack.h.

Function Documentation





◆ GetEditClipsCanMove()

WAVE_TRACK_API bool GetEditClipsCanMove ( )

Definition at line 3381 of file WaveTrack.cpp.

3383 bool mIsSyncLocked = SyncLockTracks.Read();
3384 if( mIsSyncLocked )
3385 return true;
3386 bool editClipsCanMove;
3387 return EditClipsCanMove.Read();
BoolSetting SyncLockTracks
Definition: SyncLock.cpp:163
BoolSetting EditClipsCanMove
Definition: WaveTrack.cpp:3390
bool Read(T *pVar) const
overload of Read returning a boolean that is true if the value was previously defined *‍/
Definition: Prefs.h:207

References EditClipsCanMove, Setting< T >::Read(), and SyncLockTracks.

Referenced by WaveTrackUtilities::ExpandCutLine(), WaveTrack::HandleClear(), WaveTrack::PasteWaveTrackAtSameTempo(), and Generator::Process().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ AudioTrackNameSetting

WAVE_TRACK_API StringSetting AudioTrackNameSetting

◆ EditClipsCanMove

WAVE_TRACK_API BoolSetting EditClipsCanMove