diff --git a/doc/README.md b/doc/README.md index e895de2..73b81b1 100644 --- a/doc/README.md +++ b/doc/README.md @@ -100,23 +100,9 @@ Run the Early Reflection Reverb from the Invada Studio plugins. Run the High Pass Filter from the Invada Studio plugins. Parameters: - - `freq`: Frequency. 20..20000, default 1000 - - `gain`: Gain, 0..12, default 0 - - `noClip`: Soft Clip (assumed boolean), 0..1, default 0 - -## `delay seed gain` - -Parameters: - - `seed`: Random seed, 0..1000, default 0 - - `gain`: Input gain (dB), -96..24, default 0 - - `feedback_pc`: Feedback (%), 0..100, default 0 - - `tap_count`: Number of taps, 2..128, default 2 - - `first_delay`: First delay (s), 0..5, default 0 - - `delay_range`: Delay range (s), 0..6, default 6 - - `delay_scale`: Delay change, 0..5, default 1 - - `delay_rand_pc`: Delay random (%), 0..100, default 0 - - `gain_scale`: Amplitude change, 0.2..5, default 1 - - `wet`: Dry/wet mix, 0..1, default 1 + - `freq`: Frequency. 20-20000, default 1000 + - `gain`: Gain, 0-12, default 0 + - `noClip`: Soft Clip (assumed boolean), 0-1, default 0 ## TODO `echo split index delay` diff --git a/examples/delay.scri b/examples/delay.scri deleted file mode 100644 index 538c565..0000000 --- a/examples/delay.scri +++ /dev/null @@ -1,3 +0,0 @@ -load :0; -delay 3 1 0 0 0 2 0 6 1 0 1 1; -quicksave; diff --git a/src/image.zig b/src/image.zig index 47991b3..27c3134 100644 --- a/src/image.zig +++ b/src/image.zig @@ -284,11 +284,9 @@ pub const Image = struct { out_file, file_copy_buf, usize(0), - seek_pos.start + @mod(seek_pos.start, BufferSize), + seek_pos.start - 1, ); - _ = c.sf_seek(self.sndfile, @intCast(i64, seek_pos.start), c.SEEK_SET); - var i: usize = seek_pos.start; std.debug.warn("\tseek pos start: {} end: {}\n", seek_pos.start, seek_pos.end); @@ -303,14 +301,12 @@ pub const Image = struct { try swrite(out_file, rctx.out_buf.ptr, 1); } - _ = c.sf_seek(self.sndfile, @intCast(i64, seek_pos.end), c.SEEK_SET); - // post-plugin copy try self.copyBytes( out_file, file_copy_buf, seek_pos.end + 1, - file_end + @mod(file_end, BufferSize), + file_end, ); c.sf_write_sync(out_file); diff --git a/src/lang.zig b/src/lang.zig index fc5f1d6..d15e657 100644 --- a/src/lang.zig +++ b/src/lang.zig @@ -23,7 +23,6 @@ pub const CommandType = enum { PitchScaler, Reverb, Highpass, - Delay, }; pub const Command = struct { @@ -138,7 +137,6 @@ pub const Lang = struct { _ = try self.keywords.put("pitchscaler", .PitchScaler); _ = try self.keywords.put("reverb", .Reverb); _ = try self.keywords.put("highpass", .Highpass); - _ = try self.keywords.put("delay", .Delay); } pub fn parse(self: *Lang, data: []const u8) !CommandList { diff --git a/src/runner.zig b/src/runner.zig index a8042ca..d272fac 100644 --- a/src/runner.zig +++ b/src/runner.zig @@ -230,11 +230,6 @@ pub const Runner = struct { try image.runPlugin("http://invadarecords.com/plugins/lv2/filter/hpf/mono", pos, params); } - fn delayCmd(self: *Runner, pos: Position, params: ParamList) !void { - var image = try self.getImage(); - try image.runPlugin("http://plugin.org.uk/swh-plugins/delayorama", pos, params); - } - fn runCommand(self: *Runner, cmd: *lang.Command) !void { var params = ParamList.init(self.allocator); defer params.deinit(); @@ -333,23 +328,6 @@ pub const Runner = struct { try self.highpassCmd(pos, params); }, - .Delay => blk: { - const pos = try cmd.consumePosition(); - - try cmd.appendParam(¶ms, "seed"); - try cmd.appendParam(¶ms, "gain"); - try cmd.appendParam(¶ms, "feedback_pc"); - try cmd.appendParam(¶ms, "tap_count"); - try cmd.appendParam(¶ms, "first_delay"); - try cmd.appendParam(¶ms, "delay_range"); - try cmd.appendParam(¶ms, "delay_scale"); - try cmd.appendParam(¶ms, "delay_rand_pc"); - try cmd.appendParam(¶ms, "gain_scale"); - try cmd.appendParam(¶ms, "wet"); - - try self.delayCmd(pos, params); - }, - else => blk: { std.debug.warn("Unsupported command: {}\n", cmd.command); break :blk RunError.UnknownCommand;