glitch art scripting language
Find a file
Luna 430677fc07 enhance embed custom plugin
- seek to 0 on setup
 - ignore and copy original bytes if we reached end of audio file
2019-10-22 19:16:09 -03:00
doc doc: remove unused parameters part of eq command 2019-10-20 13:17:23 -03:00
examples libsndfile cant open mp3s 2019-10-22 19:09:05 -03:00
src enhance embed custom plugin 2019-10-22 19:16:09 -03:00
.gitignore libsndfile cant open mp3s 2019-10-22 19:09:05 -03:00
build.zig repl: use readline 2019-10-06 10:53:09 -03:00
LICENSE remove oldMain, add LICENSE 2019-07-10 12:10:09 -03:00
README.md add readline to readme 2019-10-20 13:08:54 -03:00

scritcher

glitch art "framework", ???????? language??? something?

example of the amp command

example of the rflanger command

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):

# 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.