Commit Graph

260 Commits

Author SHA1 Message Date
Luna 47a97636cd enable command debug printing 2020-05-30 22:39:45 -03:00
Luna c3b83c3e4b replace f64 to f32 on some commands 2020-05-30 22:29:13 -03:00
Luna f20079b807 disable codepaths not supporting new commands 2020-05-30 22:25:43 -03:00
Luna 154032f9b1 revamp command structure for tags and base types 2020-05-30 22:25:30 -03:00
Luna 27f499dfbb add basics of generic command parsing 2020-05-30 17:48:14 -03:00
Luna d86e9efe43 add main command struct and make fillKeywords mostly-comptime 2020-05-30 16:57:00 -03:00
Luna e462b4e9d6 fix for latest zig 2020-05-30 15:56:58 -03:00
Luna c8f949fe96 remove embedded magick_wand in favor of cimport 2020-05-12 17:48:20 -03:00
Luna 3de84b5a23 finish arraylist updates 2020-05-12 17:48:15 -03:00
Luna 0c2cd5638e update because of arraylist api changes 2020-05-12 17:26:46 -03:00
Luna 043556e798 Update README on new env var 2020-04-10 00:20:46 -03:00
Luna 9614b96c71 Add SCRITCHER_RUNNER env var
Closes #13
2020-04-10 00:01:23 -03:00
Luna 8bb09f1573 fixes for latest zig
- arraylist breaking changes
 - mem.separate => mem.split
 - heap.page_allocator
2020-04-09 23:51:33 -03:00
Luna 8261d202bd multiple fixes for latest zig 2020-03-26 16:35:58 -03:00
Luna 08d9923e75 add saturator, vintagedelay cmd 2020-01-26 14:50:50 -03:00
Luna bc8ab98689 add multichorus cmd 2020-01-26 14:03:01 -03:00
Luna 127ea389fd add moddelay cmd 2020-01-26 02:05:43 -03:00
Luna a0a75579dd add tapedelay cmd (broken) 2020-01-26 00:28:59 -03:00
Luna 8c3c5a3ac2 add invert cmd 2020-01-26 00:13:53 -03:00
Luna 299a39fc27 add gverb cmd 2020-01-26 00:03:15 -03:00
Luna c73b7440a6 add foverdrive cmd
- lang: remove oldGetCommand
2020-01-25 23:52:22 -03:00
Luna fa8740e0db add thruzero command 2020-01-25 23:32:24 -03:00
Luna 519eb51206 remove heap allocation for RunBuffers 2020-01-25 22:46:00 -03:00
Luna 5a0e6934e7 add dyncomp cmd 2020-01-25 22:45:37 -03:00
Luna 7c4dead5cf add many experimental plugins 2020-01-25 18:52:45 -03:00
Luna 9a6caa2453 add gate cmd 2020-01-25 17:47:20 -03:00
Luna 182d368363 fix for latest zig 2020-01-14 22:31:20 -03:00
Luna a10416e56f fixes for latest zig 2019-12-08 12:14:31 -03:00
Luna 09471e564a allow args to be deinited on error, fix argAt 2019-12-02 20:13:19 -03:00
Luna 46d576fc13 image: remove expectEqual check (caused problems for rotate) 2019-11-10 13:46:48 -03:00
Luna c57c40db61 use at-as builtin 2019-11-10 13:37:59 -03:00
Luna fb0516a1db allow ppm files as inputs
- only run bmp.magicValid when path ends in bmp
 - remove uneeced header size constants
2019-11-01 21:43:45 -03:00
Luna 91de05d3b1 runner: fix for latest zig 2019-10-31 19:02:36 -03:00
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
Luna 1c6ef1d4d5 Revert "use sf_open_fd"
This reverts commit 6e66850d90.
2019-10-22 19:08:38 -03:00
Luna 6e66850d90 use sf_open_fd 2019-10-22 18:57:36 -03:00
Luna 612421f7b6 add embed code 2019-10-22 18:23:05 -03:00
Luna 2e27390058 add the rest for embed command
- allow any extra param as a generic to custom plugin init
2019-10-22 18:16:15 -03:00
Luna 87bab879ed add embed cmd 2019-10-22 17:08:19 -03:00
Luna bb501d9c1e repl: add output when leaving from c-d 2019-10-20 13:13:32 -03:00
Luna c75db19523 repl: ignore comments
closes #10
2019-10-20 13:12:49 -03:00
Luna cdca993048 remove 'use-after-free' 2019-10-20 11:59:15 -03:00
Luna a18809eb5b repl: handle when original file doesn't exist 2019-10-20 11:37:11 -03:00
Luna c05be26dbd runner: ignore one arg when its in repl
closes #8
2019-10-06 15:16:41 -03:00
Luna 7cf16f9ffa deinit existing_cmds (not long lived) 2019-10-06 15:12:19 -03:00
Luna 80036c4c0d fix other things related to reading scri file on repl 2019-10-06 15:07:30 -03:00
Luna 66b262beb2 repl: open file as read and append to cmds before open as write
closes #7
2019-10-06 14:39:15 -03:00
Luna cb689c3ade repl: use readline 2019-10-06 10:53:09 -03:00
Luna 8c5f42b3db add quit/q commands to repl 2019-10-05 21:44:44 -03:00
Luna f8814ca94d add assertions about seek state and seek position 2019-10-05 21:42:16 -03:00
Luna 0e323f6631 repl tweaks 2019-09-29 23:57:24 -03:00
Luna 66a7356502 runner: add newline to runqs message 2019-09-10 22:08:35 -03:00
Luna 49cc7221b0 fix some clones, finish list of commands for printer 2019-09-10 22:00:07 -03:00
Luna 84d582cfd1 image: open curpath instead of path when cloning 2019-09-10 21:35:22 -03:00
Luna 67c42e39d4 add cloning of Runner and Image + basic Runner REPL logic 2019-09-10 21:31:23 -03:00
Luna 88a73e64d8 better repl logic 2019-09-10 15:44:10 -03:00
Luna 058bf8deb9 add push and list commands 2019-09-10 14:51:41 -03:00
Luna c90590e3b5 add Lang.reset, open scri_file and write current commands to it 2019-09-10 12:12:10 -03:00
Luna 8b67ccc1bf add printing of commands to any stream 2019-09-10 11:45:04 -03:00
Luna 736277db04 add parsing of given repl line 2019-09-08 23:28:09 -03:00
Luna 34d3b12c56 add basic main loop 2019-09-08 17:27:59 -03:00
Luna fc8dcf4583 add doRepl func 2019-09-08 17:06:19 -03:00
Luna 7e8023a383 add validation of bmp magic bytes 2019-09-08 11:55:17 -03:00
Luna b3bb56279a remove usage of command pointers for most things
this serves as a workaround for the compiler bugs found on zig trunk

 - use std.StringHashMap
2019-09-03 12:45:17 -03:00
Luna fecd3b2e69 lang: fix RevDelay's arg count 2019-08-27 14:17:15 -03:00
Luna cfec45eb6c make internal ports a slice of Port structs 2019-08-14 22:35:22 -03:00
Luna 1d86abff5b main: use direct allocator 2019-08-14 16:11:09 -03:00
Luna a33db9f060 custom: add Write.deinit and fix WildNoise.deinit 2019-08-14 09:13:06 -03:00
Luna e142285a32 use Plugin.deinit() 2019-08-14 09:10:54 -03:00
Luna f8d8ed067d add deinit() calls to custom plugins 2019-08-14 09:10:09 -03:00
Luna 0ad1c88274 free some things in runner 2019-08-13 10:33:08 -03:00
Luna b66070c4e4 lang: use std.mem.startsWith 2019-08-13 10:19:39 -03:00
Luna b0ddb35ae9 fix mbeq arg validation 2019-08-12 13:07:06 -03:00
Luna af34f71c8f move lv2 core constants to comptime 2019-08-10 14:36:51 -03:00
Luna 0cab58429c fix std.AutoHashMap usage 2019-08-09 18:40:11 -03:00
Luna c0269ead20 image: bump BufferSize 2019-08-09 14:03:32 -03:00
Luna 99382d0a66 add better freeing procedures w/ errdefer 2019-08-09 13:55:40 -03:00
Luna 4aa9e9d7b9 runner: bump ident of load path msg 2019-08-09 11:29:10 -03:00
Luna 6fd4cd0ecd add better error messages for no cmd and unknown cmd 2019-08-09 11:28:40 -03:00
Luna a0bf1e2723 lang: do as many semantic errors as possible before ParseFail 2019-08-08 20:30:24 -03:00
Luna 90bc830a9a lang: show line where error happened 2019-08-08 20:27:24 -03:00
Luna ab2e8884b8 lang: add arg checks for the other commands 2019-08-08 20:24:25 -03:00
Luna 422cd2502c lang: add basic argument validation 2019-08-08 20:13:49 -03:00
Luna 9fd41a61bf add runner test + 'zig build test' subcommand 2019-08-08 16:48:31 -03:00
Luna 704eaac081 lang: defer deinit() on tests 2019-08-07 21:09:04 -03:00
Luna 7e6b85ef48 lang: add tests
- lang: add deinit()
2019-08-07 21:04:51 -03:00
Luna b8dcb84294 image: fix typo 2019-08-06 23:35:02 -03:00
Luna 981b52c05b lang: add hack while AutoHashMap is broken
- image: add timer for runPlugin
2019-08-06 23:34:11 -03:00
Luna fc3972d65c remove unecessary allocation in RunContext 2019-08-06 19:25:47 -03:00
Luna 75eeea14f3 add check for n_audio_out>2 2019-08-06 19:25:31 -03:00
Luna 8172066851 add write cmd
- make custom plugins return ?Plugin instead of !Plugin
2019-07-29 11:51:40 -03:00
Luna ff78044587 magick: reopen the image post MagickWriteImage 2019-07-23 18:30:16 -03:00
Luna c0b70a81b1 magick: reopen the file instead of just setting curpath 2019-07-22 22:48:37 -03:00
Luna f9aa226d9e add proper arguments to rotate cmd 2019-07-22 22:22:01 -03:00
Luna 4a49b39159 make magickSave edit Image.curpath 2019-07-22 22:15:06 -03:00
Luna 6775773674 move to graphicsmagick 2019-07-22 21:50:11 -03:00
Luna 8784f3baf9 decouple magick init/save into helper functions 2019-07-22 20:37:57 -03:00
Luna 73794e1867 add magickwand load/unload 2019-07-22 20:32:50 -03:00
Luna b056a0edb3 add imagemagick linking 2019-07-22 19:28:55 -03:00
Luna 67c9f425bb add rotate cmd to lang 2019-07-22 17:04:43 -03:00
Luna 2151afb115 add roomWidth arg to reverb, update reverb docs 2019-07-15 14:21:08 -03:00
Luna 87556c5b7e simplify copyBytes excess calc and do sseek() 2019-07-15 11:26:41 -03:00
Luna c5a2e317c4 remove error part of sseek() 2019-07-15 10:58:45 -03:00
Luna d12268f028 ensure sf_seek is called on the out file in copyBytes 2019-07-15 10:53:23 -03:00
Luna 8c2bbee372 make copyBytes allocate its own buffer 2019-07-14 19:01:50 -03:00
Luna b59f937d00 decomission getEndPos() in favor of SF_INFO.frames 2019-07-14 18:54:48 -03:00
Luna a71ff830ac add wildnoise cmd 2019-07-13 19:55:57 -03:00
Luna f85ff2037d finish custom plugins impl, finish noise cmd
- add ParamMap
2019-07-13 18:17:44 -03:00
Luna 3edca782ac add basic rng init on RandomNoise plugin 2019-07-13 17:49:09 -03:00
Luna 16116371f5 split in_buf/out_buf into RunBuffers struct
- add basics of RandomNoise custom plugin
2019-07-13 17:42:46 -03:00
Luna aedf47dbe1 add revdelay cmd 2019-07-13 17:20:14 -03:00
Luna 223fb6628c change mono plugin check to a 3+ channel plugin check
i'm not sure if there's anyone with more than two ears who is biological
2019-07-13 16:48:53 -03:00
Luna 8d3cd47665 add vinyl cmd 2019-07-13 16:46:26 -03:00
Luna f07c989407 allow for stereo input (unused, though) 2019-07-13 16:40:08 -03:00
Luna 387984bff1 call sf_seek before main plugin loop 2019-07-11 10:57:39 -03:00
Luna 107a00593a do larger copies for safety reasons 2019-07-11 10:51:00 -03:00
Luna b9160adad2 add delay cmd 2019-07-11 10:20:09 -03:00
Luna 79dc56daae fix color mayhem caused by Image.copyBytes() 2019-07-11 09:10:21 -03:00
Luna 542c239e0c optimize main plugin loop
this makes it faster to have the main loop focus on running the actual
plugin while pre- and post- parts of the loop become their own thing
with bigger buffers.
2019-07-10 22:28:34 -03:00
Luna 2d9fe80395 add runqs command 2019-07-10 21:43:23 -03:00
Luna 3a8f84a3b2 add implicit arg index for Command helper funcs 2019-07-10 20:46:22 -03:00
Luna c743681515 add highpass cmd
- remove bypass arg from reverb cmd
2019-07-10 20:41:17 -03:00
Luna 159048550d add reverb command 2019-07-10 20:19:40 -03:00
Luna ab9eaa1400 add pitchscaler cmd 2019-07-10 17:31:18 -03:00
Luna f9898b2f11 refactor command functions 2019-07-10 17:15:57 -03:00
Luna 5fb0f9c066 add chorus command 2019-07-10 16:59:15 -03:00
Luna 317916a1e0 add mbeq command 2019-07-10 16:43:30 -03:00
Luna 6bc54f8e46 add phaser cmd 2019-07-10 16:24:43 -03:00
Luna 9a5d4f14e5 add eq command 2019-07-10 16:06:44 -03:00
Luna c534721e88 use a hashmap for CommandType conversion 2019-07-10 14:44:22 -03:00
Luna 8b189914f7 add rflanger command, update readme 2019-07-10 13:24:03 -03:00
Luna 2b2eb51dff clean up some debug prints
- free file and command memory on exit
2019-07-10 12:13:44 -03:00
Luna 16a082ce0a remove oldMain, add LICENSE 2019-07-10 12:10:09 -03:00
Luna 0e0b9add13 update todo 2019-07-10 12:00:43 -03:00
Luna 17ca737291 fix multiple plugin runs over same file
- add deinit() functions to help
2019-07-10 11:47:35 -03:00
Luna 8677e977ee add file "saving" to quicksave cmd 2019-07-09 23:04:05 -03:00
Luna 9e43367111 add main plugin run loop 2019-07-09 18:34:05 -03:00
Luna 32699a55a5 add basic plugin position code 2019-07-09 16:52:46 -03:00
Luna 25bef23933 add basic lilv instantiation support 2019-07-09 15:15:02 -03:00
Luna fc69a3f62f add temporary file name generator 2019-07-09 14:29:54 -03:00
Luna 05fe41d8b4 add setting of parameters to the ports
- fix ampCmd's param pass
2019-07-09 13:55:52 -03:00
Luna bbf34f1133 add port setup code 2019-07-09 13:21:07 -03:00
Luna 8e453298bc add basic machinery around plugin 2019-07-09 00:04:01 -03:00
Luna eea39cdd24 add comments 2019-07-08 22:41:38 -03:00
Luna 176bbd446a add draft impl for ampCmd 2019-07-08 22:40:52 -03:00
Luna 276100c556 add implementation for quicksave command 2019-07-08 15:40:31 -03:00
Luna 1b8784dc8f add Image struct wrapper around libsndfile, finish loadCmd 2019-07-08 14:43:58 -03:00
Luna e2f9566529 add basic resolution of arguments 2019-07-08 13:55:54 -03:00
Luna 87459939cf add debug flag to runCommands 2019-07-08 13:13:03 -03:00
Luna 41a8b18d66 add basic runner 2019-07-08 12:38:16 -03:00