scritcher/README.md
2019-10-20 13:08:54 -03:00

57 lines
1.8 KiB
Markdown

scritcher
====
glitch art "framework", ???????? language??? something?
![example of the amp command](https://estrogen.fun/i/57y7kn55.png)
![example of the rflanger command](https://estrogen.fun/i/i2055hdf.png)
# how do?
## build depedencies (headers included):
- zig at https://ziglang.org
- libc, lilv and libsndfile
- graphicsmagick for the `rotate` command
- readline (for repl)
## plugin depedencies (only required at runtime):
- lv2 default plugins (most specifically the eg-amp plugin,
will likely be there by default)
- the SWH plugins ( https://github.com/swh/lv2 )
- the Invada Studio plugins ( https://launchpad.net/invada-studio/ )
```bash
# build and install
# assumes lilv headers are at /usr/include/lilv-0, edit build.zig if different
git clone https://gitdab.com/luna/scritcher.git
cd scritcher
zig build install --prefix ~/.local/
# on your input image file
convert blah.jpg blah.bmp
# if you got the lv2 default amp plugin, this is runnable
scritcher examples/middle_amp.scri blah.bmp
# if not, the noise plugin does not depend on any lv2 plugin.
scritcher examples/noise.scri blah.bmp
// scritcher saves it on an incremental basis, so the first run will save to
// blah_g1.bmp, the second saves to blah_g2.bmp, etc.
$your_image_viewer blah_g1.bmp
```
# using the repl
using repl works via `scritcher repl scri_file.scri input_image.bmp`
you type commands as you'd write the specific scritcher commands
(`doc/README.md`), with three repl-specific ones:
- `push`, to push the last written command to the queue
- `save`, to write the queue to the given `scri_file.scri` file
- `list`, to print the current contents of the queue
this allows for quicker iteration of commands, as you can type a command, tweak
its arguments, and when satisfied, `push` it, and work on the next one, etc.