6jsonipc_for_api_jsonipc_json()
10 .set (::Ase::Error::NONE,
"NONE")
11 .set (::Ase::Error::PERMS,
"PERMS")
12 .set (::Ase::Error::IO,
"IO")
13 .set (::Ase::Error::NO_MEMORY,
"NO_MEMORY")
14 .set (::Ase::Error::NO_SPACE,
"NO_SPACE")
15 .set (::Ase::Error::NO_FILES,
"NO_FILES")
16 .set (::Ase::Error::MANY_FILES,
"MANY_FILES")
17 .set (::Ase::Error::RETRY,
"RETRY")
18 .set (::Ase::Error::NOT_DIRECTORY,
"NOT_DIRECTORY")
19 .set (::Ase::Error::FILE_NOT_FOUND,
"FILE_NOT_FOUND")
20 .set (::Ase::Error::FILE_IS_DIR,
"FILE_IS_DIR")
21 .set (::Ase::Error::FILE_EXISTS,
"FILE_EXISTS")
22 .set (::Ase::Error::FILE_BUSY,
"FILE_BUSY")
23 .set (::Ase::Error::INTERNAL,
"INTERNAL")
24 .set (::Ase::Error::UNIMPLEMENTED,
"UNIMPLEMENTED")
25 .set (::Ase::Error::FILE_EOF,
"FILE_EOF")
26 .set (::Ase::Error::FILE_OPEN_FAILED,
"FILE_OPEN_FAILED")
27 .set (::Ase::Error::FILE_SEEK_FAILED,
"FILE_SEEK_FAILED")
28 .set (::Ase::Error::FILE_READ_FAILED,
"FILE_READ_FAILED")
29 .set (::Ase::Error::FILE_WRITE_FAILED,
"FILE_WRITE_FAILED")
30 .set (::Ase::Error::PARSE_ERROR,
"PARSE_ERROR")
31 .set (::Ase::Error::NO_HEADER,
"NO_HEADER")
32 .set (::Ase::Error::NO_SEEK_INFO,
"NO_SEEK_INFO")
33 .set (::Ase::Error::NO_DATA_AVAILABLE,
"NO_DATA_AVAILABLE")
34 .set (::Ase::Error::DATA_CORRUPT,
"DATA_CORRUPT")
35 .set (::Ase::Error::WRONG_N_CHANNELS,
"WRONG_N_CHANNELS")
36 .set (::Ase::Error::FORMAT_INVALID,
"FORMAT_INVALID")
37 .set (::Ase::Error::FORMAT_UNKNOWN,
"FORMAT_UNKNOWN")
38 .set (::Ase::Error::DATA_UNMATCHED,
"DATA_UNMATCHED")
39 .set (::Ase::Error::CODEC_FAILURE,
"CODEC_FAILURE")
40 .set (::Ase::Error::BROKEN_ARCHIVE,
"BROKEN_ARCHIVE")
41 .set (::Ase::Error::BAD_PROJECT,
"BAD_PROJECT")
42 .set (::Ase::Error::NO_PROJECT_DIR,
"NO_PROJECT_DIR")
43 .set (::Ase::Error::DEVICE_NOT_AVAILABLE,
"DEVICE_NOT_AVAILABLE")
44 .set (::Ase::Error::DEVICE_ASYNC,
"DEVICE_ASYNC")
45 .set (::Ase::Error::DEVICE_BUSY,
"DEVICE_BUSY")
46 .set (::Ase::Error::DEVICE_FORMAT,
"DEVICE_FORMAT")
47 .set (::Ase::Error::DEVICE_BUFFER,
"DEVICE_BUFFER")
48 .set (::Ase::Error::DEVICE_LATENCY,
"DEVICE_LATENCY")
49 .set (::Ase::Error::DEVICE_CHANNELS,
"DEVICE_CHANNELS")
50 .set (::Ase::Error::DEVICE_FREQUENCY,
"DEVICE_FREQUENCY")
51 .set (::Ase::Error::DEVICES_MISMATCH,
"DEVICES_MISMATCH")
52 .set (::Ase::Error::WAVE_NOT_FOUND,
"WAVE_NOT_FOUND")
53 .set (::Ase::Error::INVALID_PROPERTY,
"INVALID_PROPERTY")
54 .set (::Ase::Error::INVALID_MIDI_CONTROL,
"INVALID_MIDI_CONTROL")
55 .set (::Ase::Error::OPERATION_BUSY,
"OPERATION_BUSY")
58 enum__Ase_MusicalTuning
59 .set (::Ase::MusicalTuning::OD_12_TET,
"OD_12_TET")
60 .set (::Ase::MusicalTuning::OD_7_TET,
"OD_7_TET")
61 .set (::Ase::MusicalTuning::OD_5_TET,
"OD_5_TET")
62 .set (::Ase::MusicalTuning::DIATONIC_SCALE,
"DIATONIC_SCALE")
63 .set (::Ase::MusicalTuning::INDIAN_SCALE,
"INDIAN_SCALE")
64 .set (::Ase::MusicalTuning::PYTHAGOREAN_TUNING,
"PYTHAGOREAN_TUNING")
65 .set (::Ase::MusicalTuning::PENTATONIC_5_LIMIT,
"PENTATONIC_5_LIMIT")
66 .set (::Ase::MusicalTuning::PENTATONIC_BLUES,
"PENTATONIC_BLUES")
67 .set (::Ase::MusicalTuning::PENTATONIC_GOGO,
"PENTATONIC_GOGO")
68 .set (::Ase::MusicalTuning::QUARTER_COMMA_MEANTONE,
"QUARTER_COMMA_MEANTONE")
69 .set (::Ase::MusicalTuning::SILBERMANN_SORGE,
"SILBERMANN_SORGE")
70 .set (::Ase::MusicalTuning::WERCKMEISTER_3,
"WERCKMEISTER_3")
71 .set (::Ase::MusicalTuning::WERCKMEISTER_4,
"WERCKMEISTER_4")
72 .set (::Ase::MusicalTuning::WERCKMEISTER_5,
"WERCKMEISTER_5")
73 .set (::Ase::MusicalTuning::WERCKMEISTER_6,
"WERCKMEISTER_6")
74 .set (::Ase::MusicalTuning::KIRNBERGER_3,
"KIRNBERGER_3")
75 .set (::Ase::MusicalTuning::YOUNG,
"YOUNG")
78 enum__Ase_ResourceType
79 .set (::Ase::ResourceType::FOLDER,
"FOLDER")
80 .set (::Ase::ResourceType::FILE,
"FILE")
83 enum__Ase_UserNote_Flags
84 .set (::Ase::UserNote::Flags::APPEND,
"APPEND")
85 .set (::Ase::UserNote::Flags::CLEAR,
"CLEAR")
86 .set (::Ase::UserNote::Flags::TRANSIENT,
"TRANSIENT")
90 serializable__Ase_Choice
99 serializable__Ase_TelemetryField
106 serializable__Ase_DeviceInfo
116 serializable__Ase_ClipNote
117 .
set (
"id", &::Ase::ClipNote::id)
127 serializable__Ase_ProbeFeatures
134 serializable__Ase_Resource
142 serializable__Ase_UserNote
143 .
set (
"noteid", &::Ase::UserNote::noteid)
144 .
set (
"flags", &::Ase::UserNote::flags)
145 .
set (
"channel", &::Ase::UserNote::channel)
146 .
set (
"text", &::Ase::UserNote::text)
147 .
set (
"rest", &::Ase::UserNote::rest)
150 serializable__Ase_TelemetrySegment
158 .set (
"emit_event", &::Ase::Emittable::emit_event)
159 .set (
"emit_notify", &::Ase::Emittable::emit_notify)
160 .set (
"js_trigger", &::Ase::Emittable::js_trigger)
166 .set (
"name", &::Ase::Property::get_name, &::Ase::Property::set_name)
167 .set (
"metadata", &::Ase::Property::get_metadata, &::Ase::Property::set_metadata)
171 .set (
"get_name", &::Ase::Property::get_name)
172 .set (
"set_name", &::Ase::Property::set_name)
173 .set (
"get_metadata", &::Ase::Property::get_metadata)
174 .set (
"set_metadata", &::Ase::Property::set_metadata)
205 .set (
"name", &::Ase::Gadget::get_name, &::Ase::Gadget::set_name)
206 .set (
"get_name", &::Ase::Gadget::get_name)
207 .set (
"set_name", &::Ase::Gadget::set_name)
208 .set (
"type_nick", &::Ase::Gadget::type_nick)
233 class__Ase_NativeDevice
245 .set (
"all_notes", &::Ase::Clip::get_all_notes, &::Ase::Clip::set_all_notes)
246 .set (
"end_tick", &::Ase::Clip::get_end_tick, &::Ase::Clip::set_end_tick)
247 .set (
"get_all_notes", &::Ase::Clip::get_all_notes)
248 .set (
"set_all_notes", &::Ase::Clip::set_all_notes)
249 .set (
"get_end_tick", &::Ase::Clip::get_end_tick)
250 .set (
"set_end_tick", &::Ase::Clip::set_end_tick)
265 .set (
"create_monitor", &::Ase::Track::create_monitor)
281 .set (
"bpm", &::Ase::Project::get_bpm, &::Ase::Project::set_bpm)
282 .set (
"numerator", &::Ase::Project::get_numerator, &::Ase::Project::set_numerator)
283 .set (
"denominator", &::Ase::Project::get_denominator, &::Ase::Project::set_denominator)
284 .set (
"set_bpm", &::Ase::Project::set_bpm)
285 .set (
"get_bpm", &::Ase::Project::get_bpm)
286 .set (
"set_numerator", &::Ase::Project::set_numerator)
287 .set (
"get_numerator", &::Ase::Project::get_numerator)
288 .set (
"set_denominator", &::Ase::Project::set_denominator)
289 .set (
"get_denominator", &::Ase::Project::get_denominator)
312 class__Ase_ResourceCrawler
317 .set (
"set_folder", &::Ase::ResourceCrawler::set_folder)
319 .set (
"set_entries", &::Ase::ResourceCrawler::set_entries)
334 .set (
"error_blurb", &::Ase::Server::error_blurb)
335 .set (
"musical_tuning_label", &::Ase::Server::musical_tuning_label)
336 .set (
"musical_tuning_blurb", &::Ase::Server::musical_tuning_blurb)
337 .set (
"user_note", &::Ase::Server::user_note)
338 .set (
"user_reply", &::Ase::Server::user_reply)
350[[maybe_unused]]
static bool init_jsonipc = [] {
351 if (getenv (
"ASE_JSONTS"))
353 jsonipc_for_api_jsonipc_json();
virtual int32 change_batch(const ClipNoteS ¬es, const String &undogroup="")=0
Change note id according to the arguments or add a new note if id < 0; emits notify:notes.
virtual void assign_range(int64 starttick, int64 stoptick)=0
virtual int64 start_tick() const =0
Get the first tick intended for playback (this is >= 0), changes on notify:start_tick.
virtual int64 stop_tick() const =0
Get the tick to stop playback, not events should be played after this, changes on notify:stop_tick.
virtual ClipNoteS list_all_notes()=0
Interface to access Device instances.
virtual bool gui_visible()=0
Is GUI currently visible.
virtual bool is_active()=0
Check whether this is the active synthesis engine project.
virtual void gui_toggle()=0
Toggle GUI display.
void remove_self()
Remove device from its container.
virtual bool gui_supported()=0
Has GUI display facilities.
virtual void set_devices(const DeviceS &devices)=0
Set the list of devices.
virtual DeviceS get_devices() const =0
List devices in order of processing, notified via "devs".
virtual DeviceInfo device_info()=0
Describe this Device type.
Base type for classes with Event subscription.
Base type for classes that have a Property.
virtual StringS list_properties()
List all property identifiers.
virtual Value get_data(const String &key) const =0
Retrieve session data.
virtual PropertyP access_property(String ident)
Retrieve handle for a Property.
virtual PropertyS access_properties()=0
Retrieve handles for all properties.
virtual bool set_data(const String &key, const Value &v)=0
Assign session data, prefix ephemerals with '_'.
Value get_value(String ident)
Get native property value.
bool set_value(String ident, const Value &v)
virtual int64 get_mix_freq()=0
Mix frequency at which monitor values are calculated.
virtual int64 get_frame_duration()=0
Frame duration in µseconds for the calculation of monitor values.
virtual int32 get_ochannel()=0
Retrieve output channel the Monitor is connected to.
virtual DeviceP get_output()=0
Retrieve output device the Monitor is connected to.
virtual bool is_combo_device()=0
Retrieve wether this NativeDevice handles sub devices.
DeviceInfoS list_device_types()
List registered Device types with their unique uri.
virtual DeviceP insert_device(const String &uri, Device &beforesibling)=0
Insert a new device, before beforesibling.
virtual void remove_device(Device &sub)=0
Remove a directly contained device.
virtual DeviceP append_device(const String &uri)=0
Append a new device, see list_device_types().
Base type for classes with Property interfaces.
virtual void undo()=0
Undo the last project modification.
virtual Error save_project(const String &utf8filename, bool collect)=0
Store Project and collect external files.
virtual TrackP create_track()=0
Create and append a new Track.
virtual bool is_playing()=0
Check whether a project is currently playing (song sequencing).
virtual TelemetryFieldS telemetry() const =0
Retrieve project telemetry locations.
virtual TrackP master_track()=0
Retrieve the master track.
virtual void ungroup_undo()=0
Stop merging undo steps.
virtual void start_playback()=0
Start playback of a project, requires active sound engine.
virtual void group_undo(const String &undoname)=0
Merge upcoming undo steps.
virtual void stop_playback()=0
Stop project playback.
virtual bool can_undo()=0
Check if any undo steps have been recorded.
virtual void redo()=0
Redo the last undo modification.
virtual void discard()=0
Discard project and associated resources.
virtual String match_serialized(const String ®ex, int group=0)=0
Match regex against the serialized project state.
virtual Error load_project(const String &utf8filename)=0
Load project from file filename.
virtual bool remove_track(Track &)=0
Remove a track owned by this Project.
virtual String saved_filename()=0
Retrieve UTF-8 filename for save or from load.
virtual bool can_redo()=0
Check if any redo steps have been recorded.
virtual TrackS all_tracks()=0
List all tracks of the project.
virtual bool set_value(const Value &v)=0
Set the native property value.
virtual double get_normalized() const =0
Get the normalized property value, converted to double.
String descr() const
Elaborate description, e.g. for help dialogs (metadata).
virtual String get_text() const =0
Get the current property value, converted to a text String.
String blurb() const
Short description for user interface tooltips (metadata).
virtual ChoiceS choices() const =0
Enumerate choices for choosable properties.
virtual double get_max() const =0
Get the maximum property value, converted to double.
virtual double get_step() const =0
Get the property value stepping, converted to double.
virtual bool set_normalized(double v)=0
Set the normalized property value as double.
virtual String label() const =0
Preferred user interface name.
virtual bool is_numeric() const =0
Whether the property settings can be represented as a floating point number.
virtual String nick() const =0
Abbreviated user interface name, usually not more than 6 characters.
String hints() const
Hints for parameter handling (metadata).
virtual String ident() const =0
Unique name (per owner) of this Property.
virtual Value get_value() const =0
Get the native property value.
String group() const
Group name for parameters of similar function (metadata).
virtual bool set_text(String v)=0
Set the current property value as a text String.
virtual double get_min() const =0
Get the minimum property value, converted to double.
virtual String unit() const =0
Units of the values within range.
virtual void reset()=0
Assign default as normalized property value.
virtual String2 assign(const String &utf8path, bool existingfile=false)=0
virtual Resource canonify(const String &utf8cwd, const String &utf8fragment, bool constraindir, bool constrainfile)=0
Return absolute path, slash-terminated if directory, constrain to existing paths.
virtual ResourceS get_entries() const =0
List entries of a folder.
virtual Resource get_folder() const =0
Describe current folder.
virtual ProjectP create_project(String projectname)=0
Create a new project (name is modified to be unique if necessary.
virtual ProjectP last_project()=0
Retrieve the last created project.
virtual String get_version()=0
Retrieve ASE version.
virtual void shutdown()=0
Shutdown ASE.
virtual PropertyP access_preference(const String &ident)=0
Retrieve property handle for a Preference identifier.
virtual String get_opus_version()=0
Retrieve Opus handler version.
virtual String get_build_id()=0
Retrieve ASE build id.
virtual String get_flac_version()=0
Retrieve FLAC handler version.
virtual String get_sndfile_version()=0
Retrieve libsndfile support version.
ResourceCrawlerP url_crawler(const String &url)
Create crawler to navigate URL contents.
ResourceCrawlerP dir_crawler(const String &cwd)
Create crawler to navigate directories.
virtual StringS list_preferences()=0
Retrieve a list of all preference identifiers.
virtual String get_clap_version()=0
Retrieve CLAP support version.
String engine_stats()
Print engine state.
void exit_program(int status=0)
End program (without saving).
virtual bool broadcast_telemetry(const TelemetrySegmentS &segments, int32 interval_ms)=0
Broadcast telemetry memory segments to the current Jsonipc connection.
Common base type for polymorphic classes managed by std::shared_ptr<>.
virtual bool is_master() const =0
Flag set on the main output track.
virtual ClipS launcher_clips()=0
Retrieve the list of clips that can be directly played.
virtual int32 midi_channel() const =0
Midi channel assigned to this track, 0 uses internal per-track channel.
virtual DeviceP access_device()=0
Retrieve Device handle for this track.
virtual TelemetryFieldS telemetry() const =0
Create signal monitor for an output channel.
ResourceType type
Resource classification.
String creator_name
Name of the creator.
bool probe_samples
Provide probe with bare sample values.
bool probe_range
Provide sample range probes.
String type
Types like "i32", "f32", "f64".
String name
Preferred user interface name.
String name
Names like "bpm", etc.
String creator_url
Internet contact of the creator.
String uri
Unique identifier for de-/serialization.
int32 offset
Position in bytes.
String description
Elaborate description for help dialogs.
int32 length
Length in bytes.
int32 length
Length in bytes.
String uri
Unique resource identifier.
bool probe_energy
Provide sample energy measurement.
int32 offset
Position in bytes.
bool probe_fft
Provide FFT analysis probe.
String category
Category to allow grouping for processors of similar function.
String website_url
Website of/about this Processor.
int64 mtime
Modification time in milliseconds.
String label
UI display name.
String warning
Potential problem indicator.
String ident
Identifier used for serialization (may be derived from untranslated label).
String icon
Icon (64x64 pixels) or unicode symbol (possibly wide).
String notice
Additional information of interest.
String blurb
Short description for overviews.
String label
Preferred user interface name.
int64 tick
UI selection flag.
bool selected
Musical note as MIDI key, 0 .. 127.
float velocity
Duration in number of ticks.
int64 duration
Position in ticks.
float fine_tune
Velocity, 0 .. +1.
Jsonipc wrapper type for objects that support field-wise serialization to/from JSON.
Serializable & set(const char *name, A attribute)
Add a member object pointer.