diff --git a/README.md b/README.md index dba4162..6abf427 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,6 @@ glitch art "framework", ???????? language??? something? - the Invada Studio plugins ( https://launchpad.net/invada-studio/ ) - abGate plugin - MDA plugins - - Calf plugins ```bash # build and install diff --git a/doc/README.md b/doc/README.md index c02ebda..d0509c0 100644 --- a/doc/README.md +++ b/doc/README.md @@ -312,68 +312,8 @@ GVerb algorithm from SWH plugins. - t4d (tap 4 distance, inches): 0..4, default 3 - t4a\_db (tap 4 level, dB): -90..0, default -90 -## `moddelay split index base` +## `moddelay split index` > A delay whose tap can be modulated at audio rate. - base (base delay, seconds): 0..1, default 1 - -## `multichorus split index min_delay mod_depth mod_rate stereo voices vphase amount dry freq freq2 q overlap level_in level_out lfo` - -Calf Multi Chorus - - - `min_delay` (ms): 0.1..10, default 5 - - `mod_depth` (ms): 0.1..10, default 6 - - `mod_rate` (hz): 0.1..20, default 0.1 - - `stereo` (degrees): 0..360, default 180 - - `voices`: 1..8, default 4 - - `vphase` (inter-voice phase, degrees): 0..360, default 64 - - `amount`: 0..4, default 0.5 - - `dry`: 0..4, default 0.5 - - `freq` (center frq 1, hz): 10..20000, default 100 - - `freq2` (center frq 2, hz): 10..20000, default 5000 - - `q` (???): 0.125..8, default 0.125 - - `overlap`: 0..1, default 0.75 - - `level_in` (Input Gain): 0.0156250..64, default 1 - - `level_out` (Output Gain): 0.0156250..64, default 1 - - `lfo` (toggle): 0..1, default 1 - -## `saturator split index bypass level_in level_out mix drive blend lp_pre_freq hp_pre_fre lp_post_freq hp_post_freq p_freq p_level p_q pre post` - - - `bypass` (toggle): 0..1, default 0 - - `level_in` (Input Gain): 0.0156250..64, default 1 - - `level_out` (Output Gain): 0.0156250..64, default 1 - - `mix`: 0..1, default 1 - - `drive` (saturation, coef): 0.1..10, default 5 - - `blend` (coef): -10..10, default 10 - - `lp_pre_freq` (lowpass, hz): 10..20000, default 20000 - - `hp_pre_freq` (highpass, hz): 10..20000, default 10 - - `lp_post_freq` (lowpass, hz): 10..20000, default 20000 - - `hp_post_freq` (highpass, hz): 10..20000, default 10 - - `p_freq` (Tone, hz): 80..8000, default 2000 - - `p_level` (Amount): 0.0625..16, default 1 - - `p_q` (???, coef): 0.1..10, default 1 - - `pre` (Activate Pre, toggle): 0..1, default 0 - - `post` (Activate Post, toggle): 0..1, default 0 - -## `vintagedelay split index ...` - - - `level_in` (Input Gain): 0.0156250..64, default 1 - - `level_out` (Output Gain): 0.0156250..64, default 1 - - `subdiv` (int): 1..16, default 4 - - `time_l` (int): 1..16, default 3 - - `time_r` (int): 1..16, default 5 - - `feedback`: 0..1, default 0.5 - - `amount` (Wet): 0..4, default 0.25 - - `mix_mode` (enum): Stereo=0, Ping-Pong=1, L then R=2, R then L=3, default 1 - - `medium` (enum): Plain=0, Tape=1, Old Tape=2, default 1 - - `dry` (dry): 0..4, default 1 - - `width` (stereo width, strict): -1..1, default 1 - - `fragmentation` (enum): Repeating=0, Pattern=1, default 0 - - `pbeats` (Pattern Beats, int): 1..8, default 4 - - `pfrag` (Pattern Fragmentation, int): 1..8, default 4 - - `timing` (enum): BPM=0, ms=1, Hz=2, Sync=3, default 0 - - `bpm`: 30..300, default 120 - - `ms` (int): 10..2000, default 500 - - `hz`: 0.01..100, default 2 - - `bpm_host` (strict): 1..300, default 120 diff --git a/examples/multichorus.scri b/examples/multichorus.scri deleted file mode 100644 index 2355d16..0000000 --- a/examples/multichorus.scri +++ /dev/null @@ -1,3 +0,0 @@ -load :0; -multichorus 3 1 5 6 0.1 180 4 64 0.5 0.5 100 5000 0.125 0.75 1 1 1; -quicksave; diff --git a/examples/saturator.scri b/examples/saturator.scri deleted file mode 100644 index 864c27a..0000000 --- a/examples/saturator.scri +++ /dev/null @@ -1,3 +0,0 @@ -load :0; -saturator 3 1 0 1 1 1 5 10 20000 10 20000 10 2000 1 1 0 0; -quicksave; diff --git a/examples/vintagedelay.scri b/examples/vintagedelay.scri deleted file mode 100644 index 156638a..0000000 --- a/examples/vintagedelay.scri +++ /dev/null @@ -1,3 +0,0 @@ -load :0; -vintagedelay 3 1 1 1 4 3 5 0.5 0.25 1 1 1 1 0 4 4 0 120 500 2 120; -quicksave; diff --git a/src/lang.zig b/src/lang.zig index 45b806c..ae3e8cd 100644 --- a/src/lang.zig +++ b/src/lang.zig @@ -39,9 +39,6 @@ pub const CommandType = enum { Invert, TapeDelay, ModDelay, - MultiChorus, - Saturator, - VintageDelay, Noise, WildNoise, @@ -210,9 +207,6 @@ pub const Lang = struct { _ = try self.keywords.put("invert", .Invert); _ = try self.keywords.put("tapedelay", .TapeDelay); _ = try self.keywords.put("moddelay", .ModDelay); - _ = try self.keywords.put("multichorus", .MultiChorus); - _ = try self.keywords.put("saturator", .Saturator); - _ = try self.keywords.put("vintagedelay", .VintageDelay); // custom implementations (not lv2) _ = try self.keywords.put("noise", .Noise); diff --git a/src/printer.zig b/src/printer.zig index 3cbcd72..6dfc508 100644 --- a/src/printer.zig +++ b/src/printer.zig @@ -33,9 +33,6 @@ pub fn printList(list: langs.CommandList, stream: var) !void { .Invert => "invert", .TapeDelay => "tapedelay", .ModDelay => "moddelay", - .MultiChorus => "multichorus", - .Saturator => "saturator", - .VintageDelay => "vintagedelay", .Noise => "noise", .WildNoise => "wildnoise", diff --git a/src/runner.zig b/src/runner.zig index b3c4ed6..3a9a007 100644 --- a/src/runner.zig +++ b/src/runner.zig @@ -359,21 +359,6 @@ pub const Runner = struct { try image.runPlugin("http://plugin.org.uk/swh-plugins/modDelay", pos, params); } - fn multichorusCmd(self: *Runner, pos: Position, params: ParamList) !void { - var image = try self.getImage(); - try image.runPlugin("http://calf.sourceforge.net/plugins/MultiChorus", pos, params); - } - - fn saturatorCmd(self: *Runner, pos: Position, params: ParamList) !void { - var image = try self.getImage(); - try image.runPlugin("http://calf.sourceforge.net/plugins/Saturator", pos, params); - } - - fn vintagedelayCmd(self: *Runner, pos: Position, params: ParamList) !void { - var image = try self.getImage(); - try image.runPlugin("http://calf.sourceforge.net/plugins/VintageDelay", pos, params); - } - fn runCommand(self: *Runner, cmd: *lang.Command) !void { var params = ParamList.init(self.allocator); defer params.deinit(); @@ -690,78 +675,6 @@ pub const Runner = struct { try self.moddelayCmd(pos, params); }, - .MultiChorus => { - const pos = try cmd.consumePosition(); - try cmd.appendParam(¶ms, "min_delay"); - try cmd.appendParam(¶ms, "mod_depth"); - try cmd.appendParam(¶ms, "mod_rate"); - try cmd.appendParam(¶ms, "stereo"); - try cmd.appendParam(¶ms, "voices"); - try cmd.appendParam(¶ms, "vphase"); - try cmd.appendParam(¶ms, "amount"); - try cmd.appendParam(¶ms, "dry"); - try cmd.appendParam(¶ms, "freq"); - try cmd.appendParam(¶ms, "freq2"); - try cmd.appendParam(¶ms, "q"); - try cmd.appendParam(¶ms, "overlap"); - try cmd.appendParam(¶ms, "level_in"); - try cmd.appendParam(¶ms, "level_out"); - try cmd.appendParam(¶ms, "lfo"); - try self.multichorusCmd(pos, params); - }, - - .Saturator => { - const pos = try cmd.consumePosition(); - - try cmd.appendParam(¶ms, "bypass"); - try cmd.appendParam(¶ms, "level_in"); - try cmd.appendParam(¶ms, "level_out"); - try cmd.appendParam(¶ms, "mix"); - try cmd.appendParam(¶ms, "drive"); - try cmd.appendParam(¶ms, "blend"); - try cmd.appendParam(¶ms, "lp_pre_freq"); - try cmd.appendParam(¶ms, "hp_pre_freq"); - try cmd.appendParam(¶ms, "lp_post_freq"); - try cmd.appendParam(¶ms, "hp_post_freq"); - try cmd.appendParam(¶ms, "p_freq"); - try cmd.appendParam(¶ms, "p_level"); - try cmd.appendParam(¶ms, "p_q"); - try cmd.appendParam(¶ms, "pre"); - try cmd.appendParam(¶ms, "post"); - try self.saturatorCmd(pos, params); - }, - - .VintageDelay => { - const pos = try cmd.consumePosition(); - const PARAMS = [_][]const u8{ - "level_in", - "level_out", - "subdiv", - "time_l", - "time_r", - "feedback", - "amount", - "mix_mode", - "medium", - "dry", - "width", - "fragmentation", - "pbeats", - "pfrag", - "timing", - "bpm", - "ms", - "hz", - "bpm_host", - }; - - inline for (PARAMS) |param| { - try cmd.appendParam(¶ms, param); - } - - try self.vintagedelayCmd(pos, params); - }, - else => blk: { std.debug.warn("Unsupported command: {}\n", .{cmd.command}); break :blk RunError.UnknownCommand;