Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Public Types | 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...
 

Public Types

enum  Cmd { STOP , START }
 
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)
 
void _activate () override
 Add AudioProcessor to the Engine and start processing.
 
void _deactivate () override
 Stop processing the corresponding AudioProcessor.
 
AudioProcessorP _audio_processor () const override
 Retrieve the corresponding AudioProcessor.
 
void _set_event_source (AudioProcessorP esource) override
 
void _set_parent (GadgetImpl *parent) override
 Assign parent container.
 
DeviceInfo device_info () override
 Describe this Device type.
 
ProjectImplproject () const
 
bool is_master () const override
 Flag set on the main output track.
 
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
 
void update_clips ()
 
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.
 
void queue_cmd (CallbackS &, Cmd cmd, double arg=0)
 
void queue_cmd (DCallbackS &, Cmd cmd)
 
- 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
String get_name () const override
 
void set_name (const std::string &n) override
 
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)
 
- Public Member Functions inherited from Ase::Device
Track_track () const
 Find Track in parent ancestry.
 
void remove_self ()
 Remove device from its container.
 

Protected Member Functions

String fallback_name () const override
 
void serialize (WritNode &xs) override
 Serialize members and childern.
 
- Protected Member Functions inherited from Ase::DeviceImpl
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
 

Additional Inherited Members

- Static Public Member Functions inherited from Ase::DeviceImpl
static DeviceInfo extract_info (const String &aseid, const AudioProcessor::StaticInfo &static_info)
 
- Public Attributes inherited from Ase::Emittable
const EventHandlereventhandler
 
- Public Attributes inherited from Ase::Gadget
Member<&Gadget::get_name,&Gadget::set_name > name
 
- Public Attributes inherited from Ase::Device
Member<&Device::get_devices,&Device::set_devicesdevices
 
- 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 43 of file track.hh.

◆ Cmd

enum Ase::TrackImpl::Cmd

Definition at line 40 of file track.hh.

Constructor & Destructor Documentation

◆ TrackImpl()

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

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

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

◆ _audio_processor()

AudioProcessorP Ase::TrackImpl::_audio_processor ( ) const
overridevirtual

Retrieve the corresponding AudioProcessor.

Implements Ase::Device.

Definition at line 263 of file track.cc.

◆ _deactivate()

void Ase::TrackImpl::_deactivate ( )
overridevirtual

Stop processing the corresponding AudioProcessor.

Reimplemented from Ase::DeviceImpl.

Definition at line 124 of file track.cc.

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

◆ _set_event_source()

void Ase::TrackImpl::_set_event_source ( AudioProcessorP  esource)
overridevirtual

Implements Ase::Device.

Definition at line 269 of file track.cc.

◆ _set_parent()

void Ase::TrackImpl::_set_parent ( GadgetImpl parent)
overridevirtual

Assign parent container.

Reimplemented from Ase::DeviceImpl.

Definition at line 81 of file track.cc.

References Ase::DeviceImpl::_set_parent(), assert_return, and Ase::EmittableImpl::emit_notify().

◆ access_device()

DeviceP Ase::TrackImpl::access_device ( )
overridevirtual

Retrieve Device handle for this track.

Implements Ase::Track.

Definition at line 228 of file track.cc.

◆ clip_index()

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

Definition at line 186 of file track.cc.

◆ clip_succession()

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

Definition at line 195 of file track.cc.

◆ create_monitor()

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

Implements Ase::Track.

Definition at line 234 of file track.cc.

◆ device_info()

DeviceInfo Ase::TrackImpl::device_info ( )
overridevirtual

Describe this Device type.

Implements Ase::Device.

Definition at line 257 of file track.cc.

◆ fallback_name()

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

Reimplemented from Ase::GadgetImpl.

Definition at line 34 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 30 of file track.hh.

◆ launcher_clips()

ClipS Ase::TrackImpl::launcher_clips ( )
overridevirtual

Retrieve the list of clips that can be directly played.

Implements Ase::Track.

Definition at line 172 of file track.cc.

Referenced by serialize().

◆ 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 31 of file track.hh.

◆ midi_channel() [2/2]

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

Implements Ase::Track.

Definition at line 161 of file track.cc.

◆ project()

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

Definition at line 28 of file track.cc.

◆ queue_cmd() [1/2]

void Ase::TrackImpl::queue_cmd ( CallbackS queue,
Cmd  cmd,
double  arg = 0 
)

Definition at line 133 of file track.cc.

◆ queue_cmd() [2/2]

void Ase::TrackImpl::queue_cmd ( DCallbackS queue,
Cmd  cmd 
)

Definition at line 147 of file track.cc.

◆ serialize()

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

◆ telemetry()

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

Create signal monitor for an output channel.

Retrieve track telemetry locations.

Implements Ase::Track.

Definition at line 240 of file track.cc.

References assert_return.

◆ update_clips()

void Ase::TrackImpl::update_clips ( )

Definition at line 207 of file track.cc.

Friends And Related Symbol Documentation

◆ ProjectImpl

friend class ProjectImpl
friend

Definition at line 15 of file track.hh.


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