|
Anklang-0.3.0.dev797+g4e3241f3 anklang-0.3.0.dev797+g4e3241f3
ASE — Anklang Sound Engine (C++)
« « « Anklang Documentation |
Classes | |
| struct | PStorage |
| class | TransportListener |
Public Member Functions | |
| void | bpm (double bpm) override |
| double | bpm () const override |
| void | numerator (double num) override |
| double | numerator () const override |
| void | denominator (double den) override |
| double | denominator () const override |
| 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. | |
| void | discard () override |
| Discard project and associated resources. | |
| DeviceInfo | device_info () override |
| Describe this Device type. | |
| UndoScope | undo_scope (const String &scopename) |
| 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. | |
| double | length () const override |
| Get the end time of the last clip in seconds. | |
| double | master_volume () const override |
| Get master volume in dB. | |
| void | master_volume (double db) override |
| Set master volume in dB. | |
| void | group_undo (const String &undoname) override |
| Merge upcoming undo steps. | |
| void | ungroup_undo () override |
| Stop merging undo steps. | |
| void | clear_undo () |
| void | start_playback (double autostop) |
| void | start_playback () override |
| Start playback of a project, requires active sound engine. | |
| void | pause_playback () override |
| Pause playback at the current position. | |
| void | stop_playback () override |
| Stop project playback. | |
| bool | is_playing () const override |
| Check whether a project is currently playing (song sequencing). | |
| void | is_playing (bool play) override |
| Set 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. | |
| ssize_t | track_index (const Track &child) const |
| int64_t | bar_ticks () const |
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 > | |
| 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) |
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 > | |
| 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 void | force_shutdown_all () |
| static ProjectImplP | create (const String &projectname) |
Static Public Member Functions inherited from Ase::DeviceImpl | |
| static DeviceInfo | extract_info (const String &aseid) |
Static Public Member Functions inherited from Ase::Project | |
| static ProjectP | last_project () |
Protected Member Functions | |
| void | foreach_track (const std::function< bool(Track &, int)> &cb) |
| void | serialize (WritNode &xs) override |
| Serialize members and childern. | |
| Error | snapshot_project (String &json) |
| String | match_serialized (const String ®ex, int group) override |
Match regex against the serialized project state. | |
| void | deactivate_edit () |
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 String | fallback_name () const |
| virtual void | create_properties () |
Protected Member Functions inherited from Ase::CustomDataContainer | |
| void | custom_data_destroy () |
Friends | |
| class | UndoScope |
Additional Inherited Members | |
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 Attributes inherited from Ase::Emittable | |
| const EventHandler & | eventhandler |
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_ |
Definition at line 23 of file project.hh.
|
explicitprotected |
Definition at line 285 of file project.cc.
|
protectedvirtual |
Definition at line 321 of file project.cc.
|
overridevirtual |
Add AudioProcessor to the Engine and start processing.
Reimplemented from Ase::DeviceImpl.
Definition at line 411 of file project.cc.
References assert_return.
|
overridevirtual |
Stop processing the corresponding AudioProcessor.
Reimplemented from Ase::DeviceImpl.
Definition at line 419 of file project.cc.
References assert_return.
|
overridevirtual |
| int64_t Ase::ProjectImpl::bar_ticks | ( | ) | const |
Definition at line 1014 of file project.cc.
|
overridevirtual |
Implements Ase::Project.
Definition at line 869 of file project.cc.
|
overridevirtual |
Implements Ase::Project.
Definition at line 858 of file project.cc.
|
overridevirtual |
Check if any redo steps have been recorded.
Implements Ase::Project.
Definition at line 802 of file project.cc.
References juce::UndoManager::canRedo(), tracktion::engine::Edit::getUndoManager(), and return_unless.
|
overridevirtual |
Check if any undo steps have been recorded.
Implements Ase::Project.
Definition at line 785 of file project.cc.
References juce::UndoManager::canUndo(), tracktion::engine::Edit::getUndoManager(), and return_unless.
| void Ase::ProjectImpl::clear_undo | ( | ) |
Definition at line 850 of file project.cc.
|
static |
Definition at line 390 of file project.cc.
|
overridevirtual |
Create and append a new Track.
Implements Ase::Project.
Definition at line 957 of file project.cc.
References Ase::EmittableImpl::emit_notify(), tracktion::engine::Edit::insertNewAudioTrack(), and return_unless.
|
protected |
Definition at line 310 of file project.cc.
|
overridevirtual |
Implements Ase::Project.
Definition at line 905 of file project.cc.
|
overridevirtual |
Implements Ase::Project.
Definition at line 895 of file project.cc.
|
overridevirtual |
|
overridevirtual |
Discard project and associated resources.
Implements Ase::Project.
Definition at line 400 of file project.cc.
References return_unless.
|
static |
Definition at line 330 of file project.cc.
|
protected |
Definition at line 372 of file project.cc.
|
overridevirtual |
Merge upcoming undo steps.
Implements Ase::Project.
Definition at line 836 of file project.cc.
References juce::UndoManager::beginNewTransaction(), tracktion::engine::Edit::getUndoManager(), and return_unless.
|
overridevirtual |
Check whether a project is currently playing (song sequencing).
Implements Ase::Project.
Definition at line 940 of file project.cc.
References tracktion::engine::Edit::getTransport(), and tracktion::engine::TransportControl::isPlaying().
Referenced by is_playing().
|
overridevirtual |
Set whether a project is currently playing (song sequencing).
Implements Ase::Project.
Definition at line 946 of file project.cc.
References is_playing(), pause_playback(), and start_playback().
|
overridevirtual |
Get the end time of the last clip in seconds.
Implements Ase::Project.
Definition at line 809 of file project.cc.
References tracktion::engine::Edit::getLength(), and return_unless.
| StreamReaderP Ase::ProjectImpl::load_blob | ( | const String & | fspath | ) |
Definition at line 708 of file project.cc.
Load project from file filename.
Implements Ase::Project.
Definition at line 657 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 717 of file project.cc.
References return_unless.
|
overridevirtual |
Retrieve the master track.
Implements Ase::Project.
Definition at line 1035 of file project.cc.
References tracktion::engine::Edit::getMasterTrack(), and return_unless.
|
overridevirtual |
Get master volume in dB.
Implements Ase::Project.
Definition at line 816 of file project.cc.
References tracktion::engine::Edit::getMasterVolumePlugin(), and return_unless.
|
overridevirtual |
Set master volume in dB.
Implements Ase::Project.
Definition at line 825 of file project.cc.
References tracktion::engine::Edit::getMasterVolumePlugin(), and return_unless.
|
overrideprotectedvirtual |
Match regex against the serialized project state.
Implements Ase::Project.
Definition at line 734 of file project.cc.
References Ase::ase_error_blurb().
|
overridevirtual |
Reimplemented from Ase::GadgetImpl.
Definition at line 341 of file project.cc.
|
overridevirtual |
Reimplemented from Ase::GadgetImpl.
Definition at line 348 of file project.cc.
|
overridevirtual |
Implements Ase::Project.
Definition at line 887 of file project.cc.
|
overridevirtual |
Implements Ase::Project.
Definition at line 877 of file project.cc.
|
overridevirtual |
Pause playback at the current position.
Implements Ase::Project.
Definition at line 922 of file project.cc.
References tracktion::engine::Edit::getTransport(), tracktion::engine::TransportControl::isPlaying(), and tracktion::engine::TransportControl::stop().
Referenced by is_playing().
|
overridevirtual |
Redo the last undo modification.
Implements Ase::Project.
Definition at line 792 of file project.cc.
References juce::UndoManager::canRedo(), Ase::EmittableImpl::emit_notify(), tracktion::engine::Edit::getUndoManager(), juce::UndoManager::redo(), and return_unless.
Remove a track owned by this Project.
Implements Ase::Project.
Definition at line 969 of file project.cc.
References assert_return, Ase::EmittableImpl::emit_notify(), and return_unless.
Store Project and collect external files.
Implements Ase::Project.
Definition at line 449 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 651 of file project.cc.
References Ase::encodefs().
|
overrideprotectedvirtual |
Serialize members and childern.
Reimplemented from Ase::GadgetImpl.
Definition at line 728 of file project.cc.
Definition at line 550 of file project.cc.
|
overridevirtual |
Start playback of a project, requires active sound engine.
Implements Ase::Project.
Definition at line 67 of file project.hh.
References start_playback().
Referenced by is_playing(), and start_playback().
| void Ase::ProjectImpl::start_playback | ( | double | autostop | ) |
Definition at line 913 of file project.cc.
|
overridevirtual |
Stop project playback.
Implements Ase::Project.
Definition at line 929 of file project.cc.
References tracktion::engine::Edit::getTransport(), and tracktion::engine::TransportControl::stop().
|
overridevirtual |
Retrieve project telemetry locations.
Implements Ase::Project.
Definition at line 356 of file project.cc.
Definition at line 995 of file project.cc.
|
overridevirtual |
Undo the last project modification.
Implements Ase::Project.
Definition at line 775 of file project.cc.
References juce::UndoManager::canUndo(), Ase::EmittableImpl::emit_notify(), tracktion::engine::Edit::getUndoManager(), return_unless, and juce::UndoManager::undo().
Definition at line 762 of file project.cc.
|
overridevirtual |
Stop merging undo steps.
Implements Ase::Project.
Definition at line 843 of file project.cc.
References juce::UndoManager::beginNewTransaction(), tracktion::engine::Edit::getUndoManager(), and return_unless.
Definition at line 576 of file project.cc.
Definition at line 589 of file project.cc.
Definition at line 568 of file project.cc.
|
friend |
Definition at line 32 of file project.hh.