| 
    Anklang-0.3.0.dev502+ga23511a1 anklang-0.3.0.dev502+ga23511a1
    
   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 | 
  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 | 
| 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) | 
  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 ProjectImplP | create (const String &projectname) | 
  Static Public Member Functions inherited from Ase::DeviceImpl | |
| static DeviceInfo | extract_info (const String &aseid, const AudioProcessor::StaticInfo &static_info) | 
  Static Public Member Functions inherited from Ase::Project | |
| 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.   | |
  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 | 
  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_devices > | devices | 
  Public Attributes inherited from Ase::Project | |
| Member<&Project::get_bpm,&Project::set_bpm > | bpm | 
| Member<&Project::get_numerator,&Project::set_numerator > | numerator | 
| Member<&Project::get_denominator,&Project::set_denominator > | denominator | 
  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 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.