Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
api-jsonipc.g.cc
Go to the documentation of this file.
1 // Generated file, inputs: api-jsonipc.json jsonbindings.ts Makefile.mk
2#include <ase/jsonapi.hh>
3#include <ase/api.hh>
4
5static void
6jsonipc_for_api_jsonipc_json()
7{
9 enum__Ase_Error
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")
56 ;
57 ::Jsonipc::Enum< ::Ase::MusicalTuning > enum__Ase_MusicalTuning;
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")
76 ;
77 ::Jsonipc::Enum< ::Ase::ResourceType > enum__Ase_ResourceType;
78 enum__Ase_ResourceType
79 .set (::Ase::ResourceType::FOLDER, "FOLDER")
80 .set (::Ase::ResourceType::FILE, "FILE")
81 ;
82 ::Jsonipc::Enum< ::Ase::UserNote::Flags > enum__Ase_UserNote_Flags;
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")
87 ;
88
89 ::Jsonipc::Serializable< ::Ase::Choice > serializable__Ase_Choice;
90 serializable__Ase_Choice
91 .set ("ident", &::Ase::Choice::ident)
92 .set ("icon", &::Ase::Choice::icon)
93 .set ("label", &::Ase::Choice::label)
94 .set ("blurb", &::Ase::Choice::blurb)
95 .set ("notice", &::Ase::Choice::notice)
96 .set ("warning", &::Ase::Choice::warning)
97 ;
98 ::Jsonipc::Serializable< ::Ase::TelemetryField > serializable__Ase_TelemetryField;
99 serializable__Ase_TelemetryField
104 ;
105 ::Jsonipc::Serializable< ::Ase::DeviceInfo > serializable__Ase_DeviceInfo;
106 serializable__Ase_DeviceInfo
107 .set ("uri", &::Ase::DeviceInfo::uri)
108 .set ("name", &::Ase::DeviceInfo::name)
109 .set ("category", &::Ase::DeviceInfo::category)
110 .set ("description", &::Ase::DeviceInfo::description)
111 .set ("website_url", &::Ase::DeviceInfo::website_url)
112 .set ("creator_name", &::Ase::DeviceInfo::creator_name)
113 .set ("creator_url", &::Ase::DeviceInfo::creator_url)
114 ;
115 ::Jsonipc::Serializable< ::Ase::ClipNote > serializable__Ase_ClipNote;
116 serializable__Ase_ClipNote
117 .set ("id", &::Ase::ClipNote::id)
118 .set ("channel", &::Ase::ClipNote::channel)
119 .set ("key", &::Ase::ClipNote::key)
120 .set ("selected", &::Ase::ClipNote::selected)
121 .set ("tick", &::Ase::ClipNote::tick)
122 .set ("duration", &::Ase::ClipNote::duration)
123 .set ("velocity", &::Ase::ClipNote::velocity)
124 .set ("fine_tune", &::Ase::ClipNote::fine_tune)
125 ;
126 ::Jsonipc::Serializable< ::Ase::ProbeFeatures > serializable__Ase_ProbeFeatures;
127 serializable__Ase_ProbeFeatures
128 .set ("probe_range", &::Ase::ProbeFeatures::probe_range)
129 .set ("probe_energy", &::Ase::ProbeFeatures::probe_energy)
130 .set ("probe_samples", &::Ase::ProbeFeatures::probe_samples)
131 .set ("probe_fft", &::Ase::ProbeFeatures::probe_fft)
132 ;
133 ::Jsonipc::Serializable< ::Ase::Resource > serializable__Ase_Resource;
134 serializable__Ase_Resource
135 .set ("type", &::Ase::Resource::type)
136 .set ("label", &::Ase::Resource::label)
137 .set ("uri", &::Ase::Resource::uri)
138 .set ("size", &::Ase::Resource::size)
139 .set ("mtime", &::Ase::Resource::mtime)
140 ;
141 ::Jsonipc::Serializable< ::Ase::UserNote > serializable__Ase_UserNote;
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)
148 ;
149 ::Jsonipc::Serializable< ::Ase::TelemetrySegment > serializable__Ase_TelemetrySegment;
150 serializable__Ase_TelemetrySegment
153 ;
154
155 ::Jsonipc::Class< ::Ase::Emittable > class__Ase_Emittable;
156 class__Ase_Emittable
157 .inherit< ::Ase::SharedBase >()
158 .set ("emit_event", &::Ase::Emittable::emit_event)
159 .set ("emit_notify", &::Ase::Emittable::emit_notify)
160 .set ("js_trigger", &::Ase::Emittable::js_trigger)
161 ;
162
163 ::Jsonipc::Class< ::Ase::Property > class__Ase_Property;
164 class__Ase_Property
165 .inherit< ::Ase::Emittable >()
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)
175 .set ("ident", &::Ase::Property::ident)
176 .set ("label", &::Ase::Property::label)
177 .set ("nick", &::Ase::Property::nick)
178 .set ("unit", &::Ase::Property::unit)
179 .set ("get_min", &::Ase::Property::get_min)
180 .set ("get_max", &::Ase::Property::get_max)
181 .set ("get_step", &::Ase::Property::get_step)
182 .set ("reset", &::Ase::Property::reset)
183 .set ("get_value", &::Ase::Property::get_value)
184 .set ("set_value", &::Ase::Property::set_value)
185 .set ("get_normalized", &::Ase::Property::get_normalized)
186 .set ("set_normalized", &::Ase::Property::set_normalized)
187 .set ("get_text", &::Ase::Property::get_text)
188 .set ("set_text", &::Ase::Property::set_text)
189 .set ("is_numeric", &::Ase::Property::is_numeric)
190 .set ("choices", &::Ase::Property::choices)
191 .set ("hints", &::Ase::Property::hints)
192 .set ("blurb", &::Ase::Property::blurb)
193 .set ("descr", &::Ase::Property::descr)
194 .set ("group", &::Ase::Property::group)
195 ;
196
197 ::Jsonipc::Class< ::Ase::Object > class__Ase_Object;
198 class__Ase_Object
199 .inherit< ::Ase::Emittable >()
200 ;
201
202 ::Jsonipc::Class< ::Ase::Gadget > class__Ase_Gadget;
203 class__Ase_Gadget
204 .inherit< ::Ase::Object >()
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)
209 .set ("list_properties", &::Ase::Gadget::list_properties)
210 .set ("access_property", &::Ase::Gadget::access_property)
211 .set ("access_properties", &::Ase::Gadget::access_properties)
212 .set ("get_value", &::Ase::Gadget::get_value)
213 .set ("set_value", &::Ase::Gadget::set_value)
214 .set ("set_data", &::Ase::Gadget::set_data)
215 .set ("get_data", &::Ase::Gadget::get_data)
216 ;
217
218 ::Jsonipc::Class< ::Ase::Device > class__Ase_Device;
219 class__Ase_Device
220 .inherit< ::Ase::Gadget >()
222 .set ("is_active", &::Ase::Device::is_active)
223 .set ("device_info", &::Ase::Device::device_info)
224 .set ("get_devices", &::Ase::Device::get_devices)
225 .set ("set_devices", &::Ase::Device::set_devices)
226 .set ("remove_self", &::Ase::Device::remove_self)
227 .set ("gui_toggle", &::Ase::Device::gui_toggle)
228 .set ("gui_supported", &::Ase::Device::gui_supported)
229 .set ("gui_visible", &::Ase::Device::gui_visible)
230 ;
231
232 ::Jsonipc::Class< ::Ase::NativeDevice > class__Ase_NativeDevice;
233 class__Ase_NativeDevice
234 .inherit< ::Ase::Device >()
235 .set ("is_combo_device", &::Ase::NativeDevice::is_combo_device)
236 .set ("list_device_types", &::Ase::NativeDevice::list_device_types)
237 .set ("remove_device", &::Ase::NativeDevice::remove_device)
238 .set ("append_device", &::Ase::NativeDevice::append_device)
239 .set ("insert_device", &::Ase::NativeDevice::insert_device)
240 ;
241
242 ::Jsonipc::Class< ::Ase::Clip > class__Ase_Clip;
243 class__Ase_Clip
244 .inherit< ::Ase::Gadget >()
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)
251 .set ("start_tick", &::Ase::Clip::start_tick)
252 .set ("stop_tick", &::Ase::Clip::stop_tick)
253 .set ("assign_range", &::Ase::Clip::assign_range)
254 .set ("change_batch", &::Ase::Clip::change_batch)
255 .set ("list_all_notes", &::Ase::Clip::list_all_notes)
256 ;
257
258 ::Jsonipc::Class< ::Ase::Track > class__Ase_Track;
259 class__Ase_Track
260 .inherit< ::Ase::Device >()
262 .set ("is_master", &::Ase::Track::is_master)
263 .set ("launcher_clips", &::Ase::Track::launcher_clips)
264 .set ("access_device", &::Ase::Track::access_device)
265 .set ("create_monitor", &::Ase::Track::create_monitor)
266 .set ("telemetry", &::Ase::Track::telemetry)
267 ;
268
269 ::Jsonipc::Class< ::Ase::Monitor > class__Ase_Monitor;
270 class__Ase_Monitor
271 .inherit< ::Ase::Gadget >()
272 .set ("get_output", &::Ase::Monitor::get_output)
273 .set ("get_ochannel", &::Ase::Monitor::get_ochannel)
274 .set ("get_mix_freq", &::Ase::Monitor::get_mix_freq)
275 .set ("get_frame_duration", &::Ase::Monitor::get_frame_duration)
276 ;
277
278 ::Jsonipc::Class< ::Ase::Project > class__Ase_Project;
279 class__Ase_Project
280 .inherit< ::Ase::Device >()
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)
290 .set ("discard", &::Ase::Project::discard)
291 .set ("start_playback", &::Ase::Project::start_playback)
292 .set ("stop_playback", &::Ase::Project::stop_playback)
293 .set ("is_playing", &::Ase::Project::is_playing)
294 .set ("create_track", &::Ase::Project::create_track)
295 .set ("remove_track", &::Ase::Project::remove_track)
296 .set ("all_tracks", &::Ase::Project::all_tracks)
297 .set ("master_track", &::Ase::Project::master_track)
298 .set ("save_project", &::Ase::Project::save_project)
299 .set ("saved_filename", &::Ase::Project::saved_filename)
300 .set ("load_project", &::Ase::Project::load_project)
301 .set ("telemetry", &::Ase::Project::telemetry)
302 .set ("group_undo", &::Ase::Project::group_undo)
303 .set ("ungroup_undo", &::Ase::Project::ungroup_undo)
304 .set ("undo", &::Ase::Project::undo)
305 .set ("can_undo", &::Ase::Project::can_undo)
306 .set ("redo", &::Ase::Project::redo)
307 .set ("can_redo", &::Ase::Project::can_redo)
308 .set ("match_serialized", &::Ase::Project::match_serialized)
309 ;
310
311 ::Jsonipc::Class< ::Ase::ResourceCrawler > class__Ase_ResourceCrawler;
312 class__Ase_ResourceCrawler
313 .inherit< ::Ase::Object >()
314 .set ("folder", &::Ase::ResourceCrawler::get_folder, &::Ase::ResourceCrawler::set_folder)
315 .set ("entries", &::Ase::ResourceCrawler::get_entries, &::Ase::ResourceCrawler::set_entries)
316 .set ("get_folder", &::Ase::ResourceCrawler::get_folder)
317 .set ("set_folder", &::Ase::ResourceCrawler::set_folder)
318 .set ("get_entries", &::Ase::ResourceCrawler::get_entries)
319 .set ("set_entries", &::Ase::ResourceCrawler::set_entries)
320 .set ("assign", &::Ase::ResourceCrawler::assign)
321 .set ("canonify", &::Ase::ResourceCrawler::canonify)
322 ;
323
324 ::Jsonipc::Class< ::Ase::Server > class__Ase_Server;
325 class__Ase_Server
326 .inherit< ::Ase::Gadget >()
327 .set ("shutdown", &::Ase::Server::shutdown)
328 .set ("get_version", &::Ase::Server::get_version)
329 .set ("get_build_id", &::Ase::Server::get_build_id)
330 .set ("get_opus_version", &::Ase::Server::get_opus_version)
331 .set ("get_flac_version", &::Ase::Server::get_flac_version)
332 .set ("get_clap_version", &::Ase::Server::get_clap_version)
333 .set ("get_sndfile_version", &::Ase::Server::get_sndfile_version)
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)
339 .set ("broadcast_telemetry", &::Ase::Server::broadcast_telemetry)
340 .set ("list_preferences", &::Ase::Server::list_preferences)
341 .set ("access_preference", &::Ase::Server::access_preference)
342 .set ("engine_stats", &::Ase::Server::engine_stats)
343 .set ("exit_program", &::Ase::Server::exit_program)
344 .set ("last_project", &::Ase::Server::last_project)
345 .set ("create_project", &::Ase::Server::create_project)
346 .set ("dir_crawler", &::Ase::Server::dir_crawler)
347 .set ("url_crawler", &::Ase::Server::url_crawler)
348 ;
349}
350[[maybe_unused]] static bool init_jsonipc = [] {
351 if (getenv ("ASE_JSONTS"))
352 Jsonipc::g_binding_printer = new Jsonipc::BindingPrinter();
353 jsonipc_for_api_jsonipc_json();
354 return 0;
355} ();
virtual int32 change_batch(const ClipNoteS &notes, 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.
Definition api.hh:214
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.
Definition device.cc:78
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.
Definition api.hh:121
Base type for classes that have a Property.
Definition api.hh:177
virtual StringS list_properties()
List all property identifiers.
Definition gadget.cc:177
virtual Value get_data(const String &key) const =0
Retrieve session data.
virtual PropertyP access_property(String ident)
Retrieve handle for a Property.
Definition gadget.cc:188
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.
Definition gadget.cc:197
bool set_value(String ident, const Value &v)
Definition gadget.cc:204
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.
Definition api.hh:170
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 &regex, 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).
Definition parameter.cc:467
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).
Definition parameter.cc:461
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).
Definition parameter.cc:455
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).
Definition parameter.cc:473
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.
Definition server.cc:174
ResourceCrawlerP dir_crawler(const String &cwd)
Create crawler to navigate directories.
Definition server.cc:168
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.
Definition server.cc:185
void exit_program(int status=0)
End program (without saving).
Definition server.cc:193
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<>.
Definition api.hh:19
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.
Definition api.hh:360
String creator_name
Name of the creator.
Definition api.hh:209
bool probe_samples
Provide probe with bare sample values.
Definition api.hh:300
bool probe_range
Provide sample range probes.
Definition api.hh:298
String type
Types like "i32", "f32", "f64".
Definition api.hh:115
String name
Preferred user interface name.
Definition api.hh:205
String name
Names like "bpm", etc.
Definition api.hh:114
String creator_url
Internet contact of the creator.
Definition api.hh:210
String uri
Unique identifier for de-/serialization.
Definition api.hh:204
int64 size
Resource size.
Definition api.hh:363
int32 offset
Position in bytes.
Definition api.hh:395
String description
Elaborate description for help dialogs.
Definition api.hh:207
int32 length
Length in bytes.
Definition api.hh:396
int32 length
Length in bytes.
Definition api.hh:117
String uri
Unique resource identifier.
Definition api.hh:362
bool probe_energy
Provide sample energy measurement.
Definition api.hh:299
int32 offset
Position in bytes.
Definition api.hh:116
bool probe_fft
Provide FFT analysis probe.
Definition api.hh:301
String category
Category to allow grouping for processors of similar function.
Definition api.hh:206
String website_url
Website of/about this Processor.
Definition api.hh:208
int64 mtime
Modification time in milliseconds.
Definition api.hh:364
String label
UI display name.
Definition api.hh:361
String warning
Potential problem indicator.
Definition api.hh:102
String ident
Identifier used for serialization (may be derived from untranslated label).
Definition api.hh:97
String icon
Icon (64x64 pixels) or unicode symbol (possibly wide).
Definition api.hh:98
String notice
Additional information of interest.
Definition api.hh:101
String blurb
Short description for overviews.
Definition api.hh:100
String label
Preferred user interface name.
Definition api.hh:99
int64 tick
UI selection flag.
Definition api.hh:256
bool selected
Musical note as MIDI key, 0 .. 127.
Definition api.hh:255
float velocity
Duration in number of ticks.
Definition api.hh:258
int64 duration
Position in ticks.
Definition api.hh:257
int8 channel
ID, > 0.
Definition api.hh:253
int8 key
MIDI Channel.
Definition api.hh:254
float fine_tune
Velocity, 0 .. +1.
Definition api.hh:259
Jsonipc wrapper type for objects that support field-wise serialization to/from JSON.
Definition jsonipc.hh:1185
Serializable & set(const char *name, A attribute)
Add a member object pointer.
Definition jsonipc.hh:1195