Zrythm
a highly automated and intuitive digital audio workstation
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
guile.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: © 2020 Alexandros Theodotou <alex@zrythm.org>
3 *
4 * SPDX-License-Identifier: LicenseRef-ZrythmLicense
5 */
6
13#ifndef __GUILE_GUILE_H__
14#define __GUILE_GUILE_H__
15
16#include <stdbool.h>
17
24typedef enum GuileScriptLanguage
25{
26 GUILE_SCRIPT_LANGUAGE_SCHEME,
27 GUILE_SCRIPT_LANGUAGE_ECMASCRIPT,
28 // GUILE_SCRIPT_LANGUAGE_ELISP,
29 NUM_GUILE_SCRIPT_LANGUAGES,
30} GuileScriptLanguage;
31
32const char *
33guile_get_script_language_str (GuileScriptLanguage lang);
34
35const char *
36guile_get_script_language_canonical_str (GuileScriptLanguage lang);
37
38GuileScriptLanguage
39guile_get_script_language_from_str (const char * str);
40
44int
45guile_init (int argc, char ** argv);
46
53void
55
63char *
64guile_run_script (const char * script, GuileScriptLanguage lang);
65
70bool
71guile_script_succeeded (const char * pango_markup);
72
77#endif
bool guile_script_succeeded(const char *pango_markup)
Returns whether the script succeeded based on the markup.
int guile_init(int argc, char **argv)
Inits the guile subsystem.
char * guile_run_script(const char *script, GuileScriptLanguage lang)
Runs the script and returns the output message in Pango markup.
void guile_define_modules(void)
Defines all available modules to be used by scripts.