aboutsummaryrefslogtreecommitdiff
path: root/INSTALL.md
blob: 326fd36338176e33c58e35906ea8d09a40957e9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Getting started with Starlet
============================

Set up OLA
----------
First, install and set up [OLA](https://openlighting.org) for your lighting
environment. Start olad if it's not already running: `olad -l 3` (in a separate
terminal).  Patch all the output interfaces for your system (see the OLA
documentation for details).

Use the web interface (http://127.0.0.1:9090/ola.html) to check that you can
control lights properly.


Set up Guile
------------
Install [Guile](https://www.gnu.org/software/guile/), if it's not already
present.  Version 3 is required.  You will need to install the development
files (`guile-devel` or similar) as well.

There may be multiple parallel installations of Guile on your system, so make
sure you know the command for launching version 3.  On Fedora, the command is
`guile3.0`.


Compile Starlet code
--------------------
Most of Starlet is written in pure Scheme, but there is a small interface
library written in C++ as well as some GUI programs written in C.  Compile and
install them as follows:

```
$ meson build
$ ninja -C build
$ sudo ninja -C build install
```


Starting up
-----------

Run `guile`, giving it the path of the Starlet scheme code.  From the top-level
Starlet folder:

```
$ guile -L guile --listen=/home/myself/guile.socket
```

`/home/myself/guile.socket` will be the name of the Unix domain socket to which
the GUI utilities.  You can also connect an interactive coding system such as
[Conjure](https://conjure.fun/) or [Geiser](http://www.nongnu.org/geiser/).

Continue with [patching fixtures](docs/patching.rst).