2#ifndef __ASE_TRACK_HH__
3#define __ASE_TRACK_HH__
17 uint midi_channel_ = 0;
23 String fallback_name ()
const override;
25 void update_telemetry ();
29 explicit TrackImpl (tracktion::Track &track);
30 bool is_folder ()
const {
return "Folder" == te_type_; }
31 String name ()
const override;
42 double volume ()
const override;
43 void volume (
double db)
override;
44 double pan ()
const override;
45 void pan (
double pan)
override;
50 MonitorP create_monitor (
int32 ochannel)
override;
52 int clip_succession (
const ClipImpl &clip)
const;
53 TelemetryFieldS
telemetry ()
const override;
55 ClipImplP create_midi_clip (
const String &name,
double start,
double length);
56 ClipImplP create_audio_clip (
const String &name,
double start,
double length);
57 static TrackImplP from_trkn (tracktion::Track&);
66 enum { NONE = TrackImpl::NONE, };
Mimick tracktion::engine::SafeSelectable<> for tracktion::Selectable descendants.
MIDI clip playback succession generator.
int advance(int previous)
Determine clip succession.
void reset()
Reset state (history), preserves succession order.
void setup(const std::vector< int > &indices)
Setup clip succession order.
void update(const ClipScout &other)
Assign new succession order, preserves history.
Ase::Track implementation.
double volume() const override
Get track volume in dB.
double pan() const override
Get track pan (-1.0 to 1.0).
ClipS launcher_clips() override
Retrieve the list of clips that can be directly played.
bool is_muted() const override
Check if track is muted.
void _activate() override
Add AudioProcessor to the Engine and start processing.
void serialize(WritNode &xs) override
Serialize members and childern.
void set_muted(bool muted) override
Set track muted state.
void _deactivate() override
Stop processing the corresponding AudioProcessor.
bool is_master() const override
Flag set on the main output track.
DeviceP access_device() override
Retrieve Device handle for this track.
DeviceInfo device_info() override
Describe this Device type.
TelemetryFieldS telemetry() const override
Create signal monitor for an output channel.
bool is_solo() const override
Check if track is soloed.
int32 midi_channel() const override
Midi channel assigned to this track, 0 uses internal per-track channel.
void set_solo(bool solo) override
Set track solo state.
Container for Clip objects and sequencing information.
One entry in a Writ serialization document.
#define ASE_DEFINE_MAKE_SHARED(CLASS)
Define a member function static shared_ptr<CLASS> make_shared(ctorargs...);.
The Anklang C++ API namespace.
int32_t int32
A 32-bit signed integer.
std::string String
Convenience alias for std::string.
uint32_t uint
Provide 'uint' as convenience type.