Anklang-0.3.0.dev797+g4e3241f3 anklang-0.3.0.dev797+g4e3241f3
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
 
void _activate () override
 Add AudioProcessor to the Engine and start processing.
 
void _deactivate () override
 Stop processing the corresponding AudioProcessor.
 
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_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).
 
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.
 
ClipImplP create_midi_clip (const String &name, double start, double length)
 
ClipImplP create_audio_clip (const String &name, double start, double length)
 
- Public Member Functions inherited from Ase::DeviceImpl
DeviceS get_devices () const override
 List devices in order of processing, notified via "devs".
 
void set_devices (const DeviceS &newdevices) override
 Set the list of devices.
 
bool is_active () override
 Check whether this is the active synthesis engine project.
 
bool gui_supported () override
 Has GUI display facilities.
 
bool gui_visible () override
 Is GUI currently visible.
 
void gui_toggle () override
 Toggle GUI display.
 
void _disconnect_remove () override
 Disconnect the device and remove all object references.
 
- 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.
 
- Public Member Functions inherited from Ase::Device
Track_track () const
 Find Track in parent ancestry.
 
void remove_self ()
 Remove device from its container.
 

Static Public Member Functions

static TrackImplP from_trkn (tracktion::Track &)
 
- Static Public Member Functions inherited from Ase::DeviceImpl
static DeviceInfo extract_info (const String &aseid)
 

Protected Member Functions

String fallback_name () const override
 
void serialize (WritNode &xs) override
 Serialize members and childern.
 
void update_telemetry ()
 
- Protected Member Functions inherited from Ase::DeviceImpl
void _set_parent (GadgetImpl *parent) override
 Assign parent container.
 
virtual DeviceS list_devices ()
 
- 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 11 of file track.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Definition at line 54 of file track.hh.

Constructor & Destructor Documentation

◆ TrackImpl() [1/2]

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

Definition at line 131 of file track.cc.

◆ TrackImpl() [2/2]

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

Definition at line 123 of file track.cc.

Member Function Documentation

◆ _activate()

void Ase::TrackImpl::_activate ( )
overridevirtual

Add AudioProcessor to the Engine and start processing.

Reimplemented from Ase::DeviceImpl.

Definition at line 182 of file track.cc.

References Ase::DeviceImpl::_activate(), Ase::GadgetImpl::_parent(), assert_return, and Ase::DeviceImpl::is_active().

◆ _deactivate()

void Ase::TrackImpl::_deactivate ( )
overridevirtual

Stop processing the corresponding AudioProcessor.

Reimplemented from Ase::DeviceImpl.

Definition at line 189 of file track.cc.

References Ase::DeviceImpl::_deactivate(), assert_return, and Ase::DeviceImpl::is_active().

◆ access_device()

DeviceP Ase::TrackImpl::access_device ( )
overridevirtual

Retrieve Device handle for this track.

Implements Ase::Track.

Definition at line 321 of file track.cc.

◆ clip_index()

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

Definition at line 293 of file track.cc.

◆ clip_succession()

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

Definition at line 306 of file track.cc.

◆ create_audio_clip()

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

Definition at line 418 of file track.cc.

◆ create_midi_clip()

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

Definition at line 398 of file track.cc.

◆ create_monitor()

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

Implements Ase::Track.

Definition at line 327 of file track.cc.

◆ device_info()

DeviceInfo Ase::TrackImpl::device_info ( )
overridevirtual

Describe this Device type.

Implements Ase::Device.

Definition at line 354 of file track.cc.

◆ fallback_name()

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

Reimplemented from Ase::GadgetImpl.

Definition at line 165 of file track.cc.

◆ from_trkn()

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

Definition at line 114 of file track.cc.

◆ is_folder()

bool Ase::TrackImpl::is_folder ( ) const

Definition at line 30 of file track.hh.

◆ is_master()

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

Flag set on the main output track.

Implements Ase::Track.

Definition at line 235 of file track.cc.

◆ is_muted()

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

Check if track is muted.

Implements Ase::Track.

Definition at line 205 of file track.cc.

◆ is_solo()

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

Check if track is soloed.

Implements Ase::Track.

Definition at line 220 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 281 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 46 of file track.hh.

◆ midi_channel() [2/2]

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

Implements Ase::Track.

Definition at line 196 of file track.cc.

◆ name() [1/2]

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

Reimplemented from Ase::GadgetImpl.

Definition at line 144 of file track.cc.

◆ name() [2/2]

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

Reimplemented from Ase::GadgetImpl.

Definition at line 152 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 262 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 272 of file track.cc.

References pan().

◆ project()

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

Definition at line 159 of file track.cc.

◆ serialize()

void Ase::TrackImpl::serialize ( WritNode xs)
overrideprotectedvirtual

Serialize members and childern.

Reimplemented from Ase::GadgetImpl.

Definition at line 177 of file track.cc.

◆ set_muted()

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

Set track muted state.

Implements Ase::Track.

Definition at line 213 of file track.cc.

◆ set_solo()

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

Set track solo state.

Implements Ase::Track.

Definition at line 228 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 333 of file track.cc.

References return_unless.

◆ update_telemetry()

void Ase::TrackImpl::update_telemetry ( )
protected

Definition at line 344 of file track.cc.

◆ volume() [1/2]

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

Get track volume in dB.

Implements Ase::Track.

Definition at line 243 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 253 of file track.cc.

Friends And Related Symbol Documentation

◆ ProjectImpl

friend class ProjectImpl
friend

Definition at line 19 of file track.hh.

◆ TrackStateListener

friend class TrackStateListener
friend

Definition at line 20 of file track.hh.


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