Anklang-0.3.0.dev956+gd75ac925 anklang-0.3.0.dev956+gd75ac925
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
Ase::TrackImpl Class Reference

Ase::Track implementation. More...

#include "track.hh"

Inheritance diagram for Ase::TrackImpl:
[legend]

Classes

class  ClipScout
 MIDI clip playback succession generator. More...
 
class  TrackStateListener
 

Public Types

enum  { NONE }
 
- Public Types inherited from Ase::GadgetImpl
using MemberAccessF = std::function< bool(GadgetImpl *, const Value *, Value *)>
 
using MemberInfosP = const StringS &(*)()
 
using MemberClassT = bool(*)(const SharedBase &)
 

Public Member Functions

 TrackImpl (ProjectImpl &, bool masterflag)
 
 TrackImpl (tracktion::Track &track)
 
bool is_folder () const
 
String name () const override
 
void name (const std::string &n) override
 
DeviceInfo device_info () override
 Describe this Device type.
 
ProjectImplproject () const
 
bool is_master () const override
 Flag set on the main output track.
 
bool is_muted () const override
 Check if track is muted.
 
void set_muted (bool muted) override
 Set track muted state.
 
bool is_hidden () const override
 Check if track is hidden from view.
 
void set_hidden (bool hidden) override
 Set track hidden state.
 
bool is_solo () const override
 Check if track is soloed.
 
void set_solo (bool solo) override
 Set track solo state.
 
double volume () const override
 Get track volume in dB.
 
void volume (double db) override
 Set track volume in dB.
 
double pan () const override
 Get track pan (-1.0 to 1.0).
 
void pan (double pan) override
 Set track pan (-1.0 to 1.0).
 
void remove_self () override
 Remove self from parent container.
 
int32 midi_channel () const override
 Midi channel assigned to this track, 0 uses internal per-track channel.
 
void midi_channel (int32 midichannel) override
 
ClipS launcher_clips () override
 Retrieve the list of clips that can be directly played.
 
DeviceP access_device () override
 Retrieve Device handle for this track.
 
MonitorP create_monitor (int32 ochannel) override
 
ssize_t clip_index (const ClipImpl &clip) const
 
int clip_succession (const ClipImpl &clip) const
 
TelemetryFieldS telemetry () const override
 Create signal monitor for an output channel.
 
ClipP create_midi_clip (const String &name, double start, double length) override
 Create a new MIDI clip on this track.
 
ClipP create_audio_clip (const String &name, double start, double length) override
 Create a new audio clip on this track.
 
PluginP create_plugin (const String &type) override
 Create a new plugin on this track by type identifier.
 
PluginS list_plugins () override
 List plugins on this track.
 
- Public Member Functions inherited from Ase::GadgetImpl
void _set_parent (GadgetImpl *parent) override
 Assign parent container.
 
GadgetImpl_parent () const override
 Retrieve parent container.
 
String type_nick () const override
 
PropertyS access_properties () override
 Retrieve handles for all properties.
 
bool set_data (const String &key, const Value &v) override
 Assign session data, prefix ephemerals with '_'.
 
Value get_data (const String &key) const override
 Retrieve session data.
 
template<class O , class M >
void _register_parameter (O *, M *, const Param::ExtraVals &) const
 
- Public Member Functions inherited from Ase::EmittableImpl
ASE_USE_RESULT Connection on_event (const String &eventselector, const EventHandler &eventhandler) override
 
void emit_event (const String &type, const String &detail, const ValueR fields={}) override
 
void emit_notify (const String &detail) override
 Emit notify:detail, multiple notifications maybe coalesced if a CoalesceNotifies instance exists.
 
- Public Member Functions inherited from Ase::Emittable
void js_trigger (const String &eventselector, JsTrigger callback)
 
- Public Member Functions inherited from std::enable_shared_from_this< SharedBase >
enable_shared_from_this (T... args)
 
operator= (T... args)
 
shared_from_this (T... args)
 
weak_from_this (T... args)
 
~enable_shared_from_this (T... args)
 
- Public Member Functions inherited from Ase::CustomDataContainer
template<class T >
void set_custom_data (CustomDataKey< T > *key, T data)
 Assign data to the custom keyed data member, deletes any previously set data.
 
template<class T >
get_custom_data (CustomDataKey< T > *key) const
 Retrieve contents of the custom keyed data member, returns DataKey::fallback if nothing was set.
 
template<class T >
bool has_custom_data (CustomDataKey< T > *key) const
 Retrieve wether contents of the custom keyed data member exists.
 
template<class T >
bool del_custom_data (CustomDataKey< T > *key)
 Delete the current contents of the custom keyed data member, invokes DataKey::destroy.
 
- Public Member Functions inherited from Ase::Gadget
ProjectImpl_project () const
 Find Project in parent ancestry.
 
virtual StringS list_properties ()
 List all property identifiers.
 
virtual PropertyP access_property (String ident)
 Retrieve handle for a Property.
 
Value get_value (String ident)
 Get native property value.
 
bool set_value (String ident, const Value &v)
 Set native property value.
 

Static Public Member Functions

static TrackImplP from_trkn (tracktion::Track &)
 

Protected Member Functions

String fallback_name () const override
 
void update_telemetry ()
 
- Protected Member Functions inherited from Ase::GadgetImpl
uint64_t gadget_flags () const
 
uint64_t gadget_flags (uint64_t setbits, uint64_t mask=~uint64_t(0))
 
virtual void create_properties ()
 
- Protected Member Functions inherited from Ase::CustomDataContainer
void custom_data_destroy ()
 

Friends

class ProjectImpl
 
class TrackStateListener
 

Additional Inherited Members

- Public Attributes inherited from Ase::Emittable
const EventHandlereventhandler
 
- Protected Types inherited from Ase::GadgetImpl
enum  : uint64_t { GADGET_DESTROYED , DEVICE_ACTIVE , MASTER_TRACK }
 
- Static Protected Member Functions inherited from Ase::GadgetImpl
static String canonify_key (const String &input)
 
- Protected Attributes inherited from Ase::GadgetImpl
PropertyImplS props_
 

Detailed Description

Ase::Track implementation.

Definition at line 10 of file track.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Definition at line 53 of file track.hh.

Constructor & Destructor Documentation

◆ TrackImpl() [1/2]

Ase::TrackImpl::TrackImpl ( ProjectImpl project,
bool  masterflag 
)
explicit

Definition at line 144 of file track.cc.

◆ TrackImpl() [2/2]

Ase::TrackImpl::TrackImpl ( tracktion::Track &  track)
explicit

Definition at line 135 of file track.cc.

Member Function Documentation

◆ access_device()

DeviceP Ase::TrackImpl::access_device ( )
overridevirtual

Retrieve Device handle for this track.

Implements Ase::Track.

Definition at line 332 of file track.cc.

◆ clip_index()

ssize_t Ase::TrackImpl::clip_index ( const ClipImpl clip) const

Definition at line 304 of file track.cc.

◆ clip_succession()

int Ase::TrackImpl::clip_succession ( const ClipImpl clip) const

Definition at line 317 of file track.cc.

◆ create_audio_clip()

ClipP Ase::TrackImpl::create_audio_clip ( const String name,
double  start,
double  length 
)
overridevirtual

Create a new audio clip on this track.

Implements Ase::Track.

Definition at line 444 of file track.cc.

References std::string::c_str().

◆ create_midi_clip()

ClipP Ase::TrackImpl::create_midi_clip ( const String name,
double  start,
double  length 
)
overridevirtual

Create a new MIDI clip on this track.

Implements Ase::Track.

Definition at line 424 of file track.cc.

References std::string::c_str().

◆ create_monitor()

MonitorP Ase::TrackImpl::create_monitor ( int32  ochannel)
overridevirtual

Implements Ase::Track.

Definition at line 338 of file track.cc.

◆ create_plugin()

PluginP Ase::TrackImpl::create_plugin ( const String type)
overridevirtual

Create a new plugin on this track by type identifier.

Implements Ase::Track.

Definition at line 464 of file track.cc.

References std::string::c_str().

◆ device_info()

DeviceInfo Ase::TrackImpl::device_info ( )
overridevirtual

Describe this Device type.

Implements Ase::Device.

Definition at line 365 of file track.cc.

◆ fallback_name()

String Ase::TrackImpl::fallback_name ( ) const
overrideprotectedvirtual

Reimplemented from Ase::GadgetImpl.

Definition at line 179 of file track.cc.

◆ from_trkn()

TrackImplP Ase::TrackImpl::from_trkn ( tracktion::Track &  t)
static

Definition at line 126 of file track.cc.

◆ is_folder()

bool Ase::TrackImpl::is_folder ( ) const

Definition at line 28 of file track.hh.

◆ is_hidden()

bool Ase::TrackImpl::is_hidden ( ) const
overridevirtual

Check if track is hidden from view.

Implements Ase::Track.

Definition at line 215 of file track.cc.

◆ is_master()

bool Ase::TrackImpl::is_master ( ) const
overridevirtual

Flag set on the main output track.

Implements Ase::Track.

Definition at line 245 of file track.cc.

Referenced by remove_self().

◆ is_muted()

bool Ase::TrackImpl::is_muted ( ) const
overridevirtual

Check if track is muted.

Implements Ase::Track.

Definition at line 200 of file track.cc.

◆ is_solo()

bool Ase::TrackImpl::is_solo ( ) const
overridevirtual

Check if track is soloed.

Implements Ase::Track.

Definition at line 230 of file track.cc.

◆ launcher_clips()

ClipS Ase::TrackImpl::launcher_clips ( )
overridevirtual

Retrieve the list of clips that can be directly played.

Implements Ase::Track.

Definition at line 291 of file track.cc.

◆ list_plugins()

PluginS Ase::TrackImpl::list_plugins ( )
overridevirtual

List plugins on this track.

Implements Ase::Track.

Definition at line 481 of file track.cc.

◆ midi_channel() [1/2]

int32 Ase::TrackImpl::midi_channel ( ) const
overridevirtual

Midi channel assigned to this track, 0 uses internal per-track channel.

Implements Ase::Track.

Definition at line 45 of file track.hh.

◆ midi_channel() [2/2]

void Ase::TrackImpl::midi_channel ( int32  midichannel)
overridevirtual

Implements Ase::Track.

Definition at line 191 of file track.cc.

◆ name() [1/2]

String Ase::TrackImpl::name ( ) const
overridevirtual

Reimplemented from Ase::GadgetImpl.

Definition at line 158 of file track.cc.

◆ name() [2/2]

void Ase::TrackImpl::name ( const std::string n)
overridevirtual

Reimplemented from Ase::GadgetImpl.

Definition at line 166 of file track.cc.

◆ pan() [1/2]

double Ase::TrackImpl::pan ( ) const
overridevirtual

Get track pan (-1.0 to 1.0).

Implements Ase::Track.

Definition at line 272 of file track.cc.

Referenced by pan().

◆ pan() [2/2]

void Ase::TrackImpl::pan ( double  pan)
overridevirtual

Set track pan (-1.0 to 1.0).

Implements Ase::Track.

Definition at line 282 of file track.cc.

References pan().

◆ project()

ProjectImpl * Ase::TrackImpl::project ( ) const

Definition at line 173 of file track.cc.

◆ remove_self()

void Ase::TrackImpl::remove_self ( )
overridevirtual

Remove self from parent container.

Reimplemented from Ase::GadgetImpl.

Definition at line 371 of file track.cc.

References is_master(), Ase::GadgetImpl::remove_self(), and return_unless.

◆ set_hidden()

void Ase::TrackImpl::set_hidden ( bool  hidden)
overridevirtual

Set track hidden state.

Implements Ase::Track.

Definition at line 223 of file track.cc.

◆ set_muted()

void Ase::TrackImpl::set_muted ( bool  muted)
overridevirtual

Set track muted state.

Implements Ase::Track.

Definition at line 208 of file track.cc.

◆ set_solo()

void Ase::TrackImpl::set_solo ( bool  solo)
overridevirtual

Set track solo state.

Implements Ase::Track.

Definition at line 238 of file track.cc.

◆ telemetry()

TelemetryFieldS Ase::TrackImpl::telemetry ( ) const
overridevirtual

Create signal monitor for an output channel.

Retrieve track telemetry locations.

Implements Ase::Track.

Definition at line 344 of file track.cc.

References return_unless.

◆ update_telemetry()

void Ase::TrackImpl::update_telemetry ( )
protected

Definition at line 355 of file track.cc.

◆ volume() [1/2]

double Ase::TrackImpl::volume ( ) const
overridevirtual

Get track volume in dB.

Implements Ase::Track.

Definition at line 253 of file track.cc.

◆ volume() [2/2]

void Ase::TrackImpl::volume ( double  db)
overridevirtual

Set track volume in dB.

Implements Ase::Track.

Definition at line 263 of file track.cc.

Friends And Related Symbol Documentation

◆ ProjectImpl

friend class ProjectImpl
friend

Definition at line 18 of file track.hh.

◆ TrackStateListener

friend class TrackStateListener
friend

Definition at line 19 of file track.hh.


The documentation for this class was generated from the following files: