diff options
author | Thomas White <taw@physics.org> | 2020-02-20 15:07:03 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2020-02-20 15:07:03 +0100 |
commit | 27c34a9e2d210eb00d8bb5a07b57c5373edea98c (patch) | |
tree | 5cfd62d29065503767615ebd87781b6f9bbcf80d /src | |
parent | a8edc2496b37622374ee1077a508265545bc015f (diff) |
Add init.scm
Diffstat (limited to 'src')
-rw-r--r-- | src/init.scm | 16 | ||||
-rw-r--r-- | src/nanolight.gresource.xml | 7 | ||||
-rw-r--r-- | src/scheme.c | 18 |
3 files changed, 41 insertions, 0 deletions
diff --git a/src/init.scm b/src/init.scm new file mode 100644 index 0000000..b6069aa --- /dev/null +++ b/src/init.scm @@ -0,0 +1,16 @@ +(define off + (lambda (fix) + (set-intensity fix 0))) + +(define set-all + (lambda (fixtures level) + (for-each (lambda (fix) + (set-intensity fix level)) + fixtures))) + +(define find-fixture + (lambda (fixtures name) + (cond + [(null? fixtures) #f] + [(eq? (fixture-name (car fixtures)) name) (car fixtures)] + [else (find-fixture (cdr fixtures) name)]))) diff --git a/src/nanolight.gresource.xml b/src/nanolight.gresource.xml new file mode 100644 index 0000000..f938d90 --- /dev/null +++ b/src/nanolight.gresource.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/uk/me/bitwiz/NanoLight"> + <file>src/init.scm</file> + </gresource> +</gresources> + diff --git a/src/scheme.c b/src/scheme.c index d37578f..b81b1a3 100644 --- a/src/scheme.c +++ b/src/scheme.c @@ -84,9 +84,27 @@ void *register_scheme_funcs(void *data) } +static void run_init() +{ + GBytes *bytes; + GError *error = NULL; + gsize size; + gconstpointer initscm; + + bytes = g_resources_lookup_data("/uk/me/bitwiz/NanoLight/src/init.scm", + G_RESOURCE_LOOKUP_FLAGS_NONE, + &error); + initscm = g_bytes_get_data(bytes, &size); + printf("got %p\n", initscm); + scm_c_eval_string(initscm); + g_bytes_unref(bytes); +} + + void *run_repl(void *pargsv) { scm_with_guile(®ister_scheme_funcs, pargsv); + run_init(); scm_shell(0, NULL); return NULL; } |