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)
126 serializable__Ase_TimeRange
127 .
set (
"start", &::Ase::TimeRange::start)
128 .
set (
"end", &::Ase::TimeRange::end)
131 serializable__Ase_ClipPosition
132 .
set (
"time", &::Ase::ClipPosition::time)
133 .
set (
"offset", &::Ase::ClipPosition::offset)
136 serializable__Ase_ProbeFeatures
143 serializable__Ase_Resource
151 serializable__Ase_UserNote
152 .
set (
"noteid", &::Ase::UserNote::noteid)
153 .
set (
"flags", &::Ase::UserNote::flags)
154 .
set (
"channel", &::Ase::UserNote::channel)
155 .
set (
"text", &::Ase::UserNote::text)
156 .
set (
"rest", &::Ase::UserNote::rest)
159 serializable__Ase_TelemetrySegment
164 serializable__Ase_UiConfig
172 .set (
"emit_event", &::Ase::Emittable::emit_event)
173 .set (
"emit_notify", &::Ase::Emittable::emit_notify)
174 .set (
"js_trigger", &::Ase::Emittable::js_trigger)
182 .set (
"name", &::Ase::Property::name, &::Ase::Property::name)
183 .set (
"metadata", &::Ase::Property::metadata, &::Ase::Property::metadata)
213 .set (
"name", &::Ase::Gadget::name, &::Ase::Gadget::name)
214 .set (
"type_nick", &::Ase::Gadget::type_nick)
246 .set (
"all_notes", &::Ase::Clip::all_notes, &::Ase::Clip::all_notes)
247 .set (
"position", &::Ase::Clip::position, &::Ase::Clip::position)
272 .set (
"create_monitor", &::Ase::Track::create_monitor)
288 .set (
"bpm", &::Ase::Project::bpm, &::Ase::Project::bpm)
289 .set (
"numerator", &::Ase::Project::numerator, &::Ase::Project::numerator)
290 .set (
"denominator", &::Ase::Project::denominator, &::Ase::Project::denominator)
314 class__Ase_ResourceCrawler
331 .set (
"error_blurb", &::Ase::Server::error_blurb)
332 .set (
"musical_tuning_label", &::Ase::Server::musical_tuning_label)
333 .set (
"musical_tuning_blurb", &::Ase::Server::musical_tuning_blurb)
334 .set (
"user_note", &::Ase::Server::user_note)
335 .set (
"user_reply", &::Ase::Server::user_reply)
351[[maybe_unused]]
static bool init_jsonipc = [] {
352 if (getenv (
"ASE_JSONTS"))
354 jsonipc_for_api_jsonipc_json();
virtual double end_beat() const =0
Clip end in Tracktion beats, changes on notify:end_beat.
virtual float pan() const =0
Get audio clip pan (-1.0 to 1.0), 0 for other clips.
virtual ClipNoteS change_batch(const ClipNoteS ¬es, const String &undogroup="")=0
Insert id <= 0, delete length_beats == 0; emits notify:notes and notify:all_notes.
virtual float volume() const =0
Get clip volume in dB.
virtual double start_beat() const =0
Clip start in Tracktion beats, changes on notify:start_beat.
virtual bool muted() const =0
Check if clip is muted.
virtual ClipNoteS list_all_notes()=0
List all notes of this Clip, changes on notify:notes.
virtual TelemetryFieldS telemetry() const =0
Retrieve clip telemetry locations.
Interface to access Device instances.
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 void remove_self()=0
Remove self from parent container.
virtual StringS read_only_properties() const
List x()/x (v) properties that this object can't change, their setters ignore the value or warn.
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)
Set native property value.
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.
Base type for classes with Property interfaces.
virtual bool frozen() const =0
Check if plugin is frozen.
virtual bool enabled() const =0
Check if plugin is enabled.
virtual String plugin_type() const =0
Plugin type identifier.
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 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 pause_playback()=0
Pause playback at the current position.
virtual bool is_playing() const =0
Check whether a project is currently playing (song sequencing).
virtual void redo()=0
Redo the last undo modification.
virtual TrackS all_tracks() const =0
List all tracks, changes on notify:all_tracks.
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 double length() const =0
End time of the last clip in seconds, changes on notify:length.
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 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 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
Move to a different path.
virtual Resource folder() const =0
Describe current folder.
virtual ResourceS entries() const =0
List entries of a folder.
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 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 ui_test_fetch()=0
Fetch next UI test name to run (empty if none).
virtual String get_build_id()=0
Retrieve ASE build id.
virtual String get_flac_version()=0
Retrieve FLAC handler version.
virtual void ui_test_report(const String &testname, bool success)=0
Report UI test result.
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 ui_js_fetch()=0
Fetch UI JS script to run (empty if none).
String engine_stats()
Print engine state.
void exit_program(int status=0)
End program (without saving).
virtual UiConfig ui_config()=0
Retrieve UI configuration values.
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 solo() const =0
Check if track is soloed.
virtual bool muted() const =0
Check if track is muted.
virtual bool is_master() const =0
Flag set on the main output track.
virtual float volume_db() const =0
Get track volume in dB.
virtual float pan() const =0
Get track pan (-1.0 to 1.0).
virtual PluginS list_plugins()=0
List plugins on this track.
virtual bool hidden() const =0
Check if track is hidden from view.
virtual ClipP create_audio_clip(const String &name, double start, double length)=0
Create a new audio clip on this track.
virtual ClipP create_midi_clip(const String &name, double start, double length)=0
Create a new MIDI clip on this track.
virtual float slider_pos() const =0
Get track volume fader position.
virtual ClipS launcher_clips() const =0
Retrieve the list of clips that can be directly played; changes on notify:launcher_clips.
virtual DeviceP access_device()=0
Retrieve Device handle for this track.
virtual PluginP create_plugin(const String &type)=0
Create a new plugin on this track by type identifier.
virtual bool is_control_track() const =0
Flag set on tempo/marker/chord/arranger/master tracks.
virtual TelemetryFieldS telemetry() const =0
Create signal monitor for an output channel.
ResourceType type
Resource classification.
bool has_ui_tests
Whether any UI tests are pending.
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.
int64_t offset
Position in bytes.
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.
bool auto_exit
Whether to auto-exit after tests complete.
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.
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.
bool mute
Tracktion note colour index.
int colour
Velocity, 0 .. 127.
double start_beat
Musical note as MIDI key, 0 .. 127.
int velocity
Duration in Tracktion beats.
int note_number
Session handle, > 0 for existing notes.
double length_beats
Position in Tracktion beats from the start of the clip.
Registers C++ enum values with string names for JSON serialization and TypeScript binding generation.
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.