aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-06-19 19:26:46 +0200
committerThomas White <taw@physics.org>2021-06-19 19:49:05 +0200
commit99105a8b30673aa98223393de2ba009458b1379e (patch)
tree9077a9bc92bf23bdf567f8de0ae783fb154ee43d
parentb93b5347e21fa16ea8176223dd003774cec978e5 (diff)
Wrap README.md
-rw-r--r--README.md53
1 files changed, 37 insertions, 16 deletions
diff --git a/README.md b/README.md
index 76cac91..3a11395 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,16 @@
Starlet: Stage lighting control in Lisp
=======================================
-Starlet is an experimental Lisp-based domain-specific language (DSL) for theatrical lighting control. It's based on [Guile](https://www.gnu.org/software/guile/) and sends its DMX output via [OLA](https://openlighting.org) to almost any type of lighting control interface - DMX, sACN, Art-Net etc. Starlet also undertands MIDI, enabling you to control lights and cues with physical faders, knobs and buttons.
-
+Starlet is an experimental Lisp-based domain-specific language (DSL) for
+theatrical lighting control. It's based on
+[Guile](https://www.gnu.org/software/guile/) and sends its DMX output via
+[OLA](https://openlighting.org) to almost any type of lighting control
+interface - DMX, sACN, Art-Net etc. Starlet also undertands MIDI, enabling you
+to control lights and cues with physical faders, knobs and buttons.
+
+Click for a video demonstration:
[![Video demonstration](screenshot.png)](https://vimeo.com/520547229)
-Click the screenshot for a video demonstration!
-
With Starlet, a cue list looks like this:
```
@@ -56,7 +60,9 @@ Lighting states can be prepared separately and assigned to variables:
(at moving-light 'blue 12)))
```
-You can use pre-prepared states in cues, even if some minor modifications are needed. This makes it really easy to understand the contents of a cue without having to interpret a screenful of numbers:
+You can use pre-prepared states in cues, even if some minor modifications are
+needed. This makes it really easy to understand the contents of a cue without
+having to interpret a screenful of numbers:
```
(cue 57
@@ -66,7 +72,8 @@ You can use pre-prepared states in cues, even if some minor modifications are ne
#:fade-down 3)
```
-Multi-part cues are supported. Simply specify the fade parameters and which fixtures should be in the part:
+Multi-part cues are supported. Simply specify the fade parameters and which
+fixtures should be in the part:
```
(cue 64
@@ -83,7 +90,9 @@ Multi-part cues are supported. Simply specify the fade parameters and which fix
```
-Everything from a simple dimmers to wacky multi-parameter fixtures are supported. New fixture classes can be defined using some simple Scheme code. Patching fixtures looks like this:
+Everything from a simple dimmers to wacky multi-parameter fixtures are
+supported. New fixture classes can be defined using some simple Scheme code.
+Patching fixtures looks like this:
```
(patch-fixture! dimmer1 <generic-dimmer> 1))
@@ -95,12 +104,15 @@ Everything from a simple dimmers to wacky multi-parameter fixtures are supported
(patch-fixture! moving-light <robe-dl7s-mode1> 1 #:universe 4))
```
-Note that the names of the fixtures are just normal Scheme variables. They can be anything you like, and you're encouraged to make the names more descriptive than logical channel numbers, where appropriate.
+Note that the names of the fixtures are just normal Scheme variables. They can
+be anything you like, and you're encouraged to make the names more descriptive
+than logical channel numbers, where appropriate.
Getting started
---------------
-1. Install and set up [OLA](https://openlighting.org) for your lighting environment.
+1. Install and set up [OLA](https://openlighting.org) for your lighting
+ environment.
2. Start olad if it's not already running: `olad &`
3. Install [Guile](https://www.gnu.org/software/guile/), if it's not already
there (there's a good chance it is). Version 3 is preferred because it's
@@ -109,8 +121,11 @@ Getting started
files) as well.
4. Run `meson build`, `ninja -C build` and `sudo ninja -C build install`.
5. Run `guile -L /path/to/starlet/guile`
-6. Once in the Guile REPL, import the Starlet modules: `(use-modules (starlet base) (starlet playback) (starlet fixture-library generic))`
-7. Patch a fixture with `(patch-fixture! fix <generic-dimmer> 1 #:universe 2)` - replace 1 and 2 with the DMX address and universe (respectively) of a real dimmer.
+6. Once in the Guile REPL, import the Starlet modules: `(use-modules (starlet
+ base) (starlet playback) (starlet fixture-library generic))`
+7. Patch a fixture with `(patch-fixture! fix <generic-dimmer> 1 #:universe 2)`
+ - replace 1 and 2 with the DMX address and universe (respectively) of a real
+ dimmer.
8. Turn the dimmer on with `(at fix 100)`
9. Look in the _examples_ folder for more advanced ideas.
@@ -118,14 +133,20 @@ Getting started
Related projects
----------------
-There are many stage lighting software projects, but most of them seem to concentrate on "disco style" effects and chases whereas Starlet is aimed more towards theatre shows. Here are some that I found especially interesting:
+There are many stage lighting software projects, but most of them seem to
+concentrate on "disco style" effects and chases whereas Starlet is aimed more
+towards theatre shows. Here are some that I found especially interesting:
-* [Fivetwelve-CSS](https://github.com/beyondscreen/fivetwelve-css) DMX lighting control using CSS. [Watch this video](https://www.youtube.com/watch?v=ani_MOZt5_c)
-* [Afterglow](https://github.com/Deep-Symmetry/afterglow) Clojure live coding environment using OLA
-* [QLC+](https://qlcplus.org/) the most popular open-source lighting control program
+* [Fivetwelve-CSS](https://github.com/beyondscreen/fivetwelve-css) DMX lighting
+ control using CSS. [Watch this video](https://www.youtube.com/watch?v=ani_MOZt5_c)
+* [Afterglow](https://github.com/Deep-Symmetry/afterglow) Clojure live coding
+ environment using OLA
+* [QLC+](https://qlcplus.org/) the most popular open-source lighting control
+ program
-It's also worth taking a look at the [stage-lighting topic](https://github.com/topics/stage-lighting) on Github.
+It's also worth taking a look at the
+[stage-lighting topic](https://github.com/topics/stage-lighting) on Github.
Licence