Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)
« « « Anklang Documentation |
Classes | |
struct | PStorage |
Public Member Functions | |
void | _activate () override |
Add AudioProcessor to the Engine and start processing. | |
void | _deactivate () override |
Stop processing the corresponding AudioProcessor. | |
const TickSignature & | signature () const |
void | discard () override |
Discard project and associated resources. | |
AudioProcessorP | _audio_processor () const override |
Retrieve the corresponding AudioProcessor. | |
void | _set_event_source (AudioProcessorP esource) override |
DeviceInfo | device_info () override |
Describe this Device type. | |
UndoScope | undo_scope (const String &scopename) |
void | push_undo (const VoidF &func) |
void | undo () override |
Undo the last project modification. | |
bool | can_undo () override |
Check if any undo steps have been recorded. | |
void | redo () override |
Redo the last undo modification. | |
bool | can_redo () override |
Check if any redo steps have been recorded. | |
void | group_undo (const String &undoname) override |
Merge upcoming undo steps. | |
void | ungroup_undo () override |
Stop merging undo steps. | |
void | clear_undo () |
size_t | undo_size_guess () const |
void | start_playback (double autostop) |
void | start_playback () override |
Start playback of a project, requires active sound engine. | |
void | stop_playback () override |
Stop project playback. | |
bool | is_playing () override |
Check whether a project is currently playing (song sequencing). | |
TrackP | create_track () override |
Create and append a new Track. | |
bool | remove_track (Track &child) override |
Remove a track owned by this Project. | |
TrackS | all_tracks () override |
List all tracks of the project. | |
TrackP | master_track () override |
Retrieve the master track. | |
Error | load_project (const String &utf8filename) override |
Load project from file filename . | |
StreamReaderP | load_blob (const String &fspath) |
String | loader_resolve (const String &hexhash) |
Find file from hash code, returns fspath. | |
Error | save_project (const String &utf8filename, bool collect) override |
Store Project and collect external files. | |
String | saved_filename () override |
Retrieve UTF-8 filename for save or from load. | |
String | writer_file_name (const String &fspath) const |
Error | writer_add_file (const String &fspath) |
Error | writer_collect (const String &fspath, String *hexhashp) |
TelemetryFieldS | telemetry () const override |
Retrieve project telemetry locations. | |
AudioProcessorP | master_processor () const |
ssize_t | track_index (const Track &child) const |
![]() | |
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. | |
![]() | |
String | get_name () const override |
void | set_name (const std::string &n) override |
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 |
![]() | |
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. | |
![]() | |
void | js_trigger (const String &eventselector, JsTrigger callback) |
![]() | |
T | enable_shared_from_this (T... args) |
T | operator= (T... args) |
T | shared_from_this (T... args) |
T | weak_from_this (T... args) |
T | ~enable_shared_from_this (T... args) |
![]() | |
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 > | |
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. | |
![]() | |
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) |
![]() | |
Track * | _track () const |
Find Track in parent ancestry. | |
void | remove_self () |
Remove device from its container. | |
Static Public Member Functions | |
static ProjectImplP | create (const String &projectname) |
![]() | |
static DeviceInfo | extract_info (const String &aseid, const AudioProcessor::StaticInfo &static_info) |
![]() | |
static ProjectP | last_project () |
Static Public Attributes | |
static size_t | undo_mem_counter |
Protected Member Functions | |
void | set_bpm (double bpm) override |
double | get_bpm () const override |
void | set_numerator (double num) override |
double | get_numerator () const override |
void | set_denominator (double den) override |
double | get_denominator () const override |
void | serialize (WritNode &xs) override |
Serialize members and childern. | |
void | update_tempo () |
Error | snapshot_project (String &json) |
String | match_serialized (const String ®ex, int group) override |
Match regex against the serialized project state. | |
![]() | |
void | _set_parent (GadgetImpl *parent) override |
Assign parent container. | |
virtual DeviceS | list_devices () |
![]() | |
uint64_t | gadget_flags () const |
uint64_t | gadget_flags (uint64_t setbits, uint64_t mask=~uint64_t(0)) |
virtual String | fallback_name () const |
virtual void | create_properties () |
![]() | |
void | custom_data_destroy () |
Friends | |
class | UndoScope |
Additional Inherited Members | |
![]() | |
using | MemberAccessF = std::function< bool(GadgetImpl *, const Value *, Value *)> |
using | MemberInfosP = const StringS &(*)() |
using | MemberClassT = bool(*)(const SharedBase &) |
![]() | |
const EventHandler & | eventhandler |
![]() | |
Member<&Gadget::get_name,&Gadget::set_name > | name |
![]() | |
Member<&Device::get_devices,&Device::set_devices > | devices |
![]() | |
Member<&Project::get_bpm,&Project::set_bpm > | bpm |
Member<&Project::get_numerator,&Project::set_numerator > | numerator |
Member<&Project::get_denominator,&Project::set_denominator > | denominator |
![]() | |
enum | : uint64_t { GADGET_DESTROYED , DEVICE_ACTIVE , MASTER_TRACK } |
![]() | |
static String | canonify_key (const String &input) |
![]() | |
PropertyImplS | props_ |
Definition at line 22 of file project.hh.
|
explicitprotected |
Definition at line 65 of file project.cc.
|
protectedvirtual |
Definition at line 93 of file project.cc.
|
overridevirtual |
Add AudioProcessor to the Engine and start processing.
Reimplemented from Ase::DeviceImpl.
Definition at line 120 of file project.cc.
References assert_return.
|
overridevirtual |
Retrieve the corresponding AudioProcessor.
Implements Ase::Device.
Definition at line 873 of file project.cc.
|
overridevirtual |
Stop processing the corresponding AudioProcessor.
Reimplemented from Ase::DeviceImpl.
Definition at line 129 of file project.cc.
References assert_return.
|
overridevirtual |
Implements Ase::Device.
Definition at line 879 of file project.cc.
|
overridevirtual |
List all tracks of the project.
Implements Ase::Project.
Definition at line 843 of file project.cc.
References std::vector::begin(), std::copy(), std::vector::end(), and std::vector::size().
|
overridevirtual |
Check if any redo steps have been recorded.
Implements Ase::Project.
Definition at line 598 of file project.cc.
References std::vector::size().
|
overridevirtual |
Check if any undo steps have been recorded.
Implements Ase::Project.
Definition at line 566 of file project.cc.
References std::vector::size().
void Ase::ProjectImpl::clear_undo | ( | ) |
Definition at line 628 of file project.cc.
|
static |
Definition at line 100 of file project.cc.
|
overridevirtual |
Create and append a new Track.
Implements Ase::Project.
Definition at line 814 of file project.cc.
References assert_return, Ase::EmittableImpl::emit_notify(), std::vector::end(), std::vector::insert(), int, and std::vector::size().
|
overridevirtual |
|
overridevirtual |
Discard project and associated resources.
Implements Ase::Project.
Definition at line 109 of file project.cc.
References return_unless.
|
overrideprotectedvirtual |
Implements Ase::Project.
Definition at line 692 of file project.cc.
|
overrideprotectedvirtual |
Implements Ase::Project.
Definition at line 724 of file project.cc.
|
overrideprotectedvirtual |
Implements Ase::Project.
Definition at line 708 of file project.cc.
|
overridevirtual |
Merge upcoming undo steps.
Implements Ase::Project.
Definition at line 604 of file project.cc.
References assert_return.
|
overridevirtual |
Check whether a project is currently playing (song sequencing).
Implements Ase::Project.
Definition at line 806 of file project.cc.
References return_unless.
StreamReaderP Ase::ProjectImpl::load_blob | ( | const String & | fspath | ) |
Definition at line 419 of file project.cc.
Load project from file filename
.
Implements Ase::Project.
Definition at line 368 of file project.cc.
References assert_return, Ase::decodefs(), dirname(), errno(), and Ase::json_parse().
Find file from hash code, returns fspath.
Definition at line 428 of file project.cc.
References return_unless.
AudioProcessorP Ase::ProjectImpl::master_processor | ( | ) | const |
Definition at line 667 of file project.cc.
|
overridevirtual |
Retrieve the master track.
Implements Ase::Project.
Definition at line 860 of file project.cc.
References assert_return, std::vector::back(), and std::vector::empty().
|
overrideprotectedvirtual |
Match regex
against the serialized project state.
Implements Ase::Project.
Definition at line 472 of file project.cc.
References Ase::ase_error_blurb(), and log().
void Ase::ProjectImpl::push_undo | ( | const VoidF & | func | ) |
Definition at line 530 of file project.cc.
|
overridevirtual |
Redo the last undo modification.
Implements Ase::Project.
Definition at line 572 of file project.cc.
References assert_return, std::vector::back(), Ase::EmittableImpl::emit_notify(), std::vector::empty(), std::vector::pop_back(), and return_unless.
Remove a track owned by this Project.
Implements Ase::Project.
Definition at line 827 of file project.cc.
References assert_return, Ase::EmittableImpl::emit_notify(), Ase::Aux::erase_first(), and return_unless.
Store Project and collect external files.
Implements Ase::Project.
Definition at line 160 of file project.cc.
References Ase::anklang_cachedir_clean_stale(), Ase::anklang_cachedir_cleanup(), Ase::anklang_cachedir_create(), Ase::ase_error_blurb(), assert_return, std::string::back(), Ase::decodefs(), EPERM, errno(), Ase::json_stringify(), Ase::program_alias(), std::string::resize(), std::string::size(), Ase::string_endswith(), and Ase::string_format().
|
overridevirtual |
Retrieve UTF-8 filename for save or from load.
Implements Ase::Project.
Definition at line 362 of file project.cc.
References Ase::encodefs().
|
overrideprotectedvirtual |
Serialize members and childern.
Reimplemented from Ase::GadgetImpl.
Definition at line 439 of file project.cc.
|
overrideprotectedvirtual |
Implements Ase::Project.
Definition at line 680 of file project.cc.
|
overrideprotectedvirtual |
Implements Ase::Project.
Definition at line 714 of file project.cc.
|
overrideprotectedvirtual |
Implements Ase::Project.
Definition at line 698 of file project.cc.
const TickSignature & Ase::ProjectImpl::signature | ( | ) | const |
Definition at line 55 of file project.hh.
Definition at line 261 of file project.cc.
|
overridevirtual |
Start playback of a project, requires active sound engine.
Implements Ase::Project.
Definition at line 71 of file project.hh.
References start_playback().
Referenced by start_playback().
void Ase::ProjectImpl::start_playback | ( | double | autostop | ) |
Definition at line 743 of file project.cc.
|
overridevirtual |
Stop project playback.
Implements Ase::Project.
Definition at line 783 of file project.cc.
References return_unless.
|
overridevirtual |
Retrieve project telemetry locations.
Implements Ase::Project.
Definition at line 650 of file project.cc.
References assert_return, Ase::AudioTransport::current_bar, Ase::AudioTransport::current_beat, Ase::AudioTransport::current_bpm, Ase::AudioTransport::current_minutes, Ase::AudioTransport::current_seconds, and Ase::AudioTransport::current_semiquaver.
Definition at line 851 of file project.cc.
|
overridevirtual |
Undo the last project modification.
Implements Ase::Project.
Definition at line 538 of file project.cc.
References assert_return, std::vector::back(), Ase::EmittableImpl::emit_notify(), std::vector::empty(), std::vector::pop_back(), return_unless, and std::vector::swap().
Definition at line 503 of file project.cc.
size_t Ase::ProjectImpl::undo_size_guess | ( | ) | const |
Definition at line 639 of file project.cc.
|
overridevirtual |
Stop merging undo steps.
Implements Ase::Project.
Definition at line 619 of file project.cc.
References assert_return.
|
protected |
Definition at line 730 of file project.cc.
Definition at line 287 of file project.cc.
Definition at line 300 of file project.cc.
Definition at line 279 of file project.cc.
|
friend |
Definition at line 37 of file project.hh.
|
static |
Definition at line 90 of file project.hh.