From 76b353e5934d406f634fb7bfac6811072d9a019f Mon Sep 17 00:00:00 2001 From: Luna Date: Mon, 1 Jun 2020 21:51:51 -0300 Subject: [PATCH 1/3] remove code for old runner commands --- src/runner.zig | 63 -------------------------------------------------- 1 file changed, 63 deletions(-) diff --git a/src/runner.zig b/src/runner.zig index dd5fcd2..def019d 100644 --- a/src/runner.zig +++ b/src/runner.zig @@ -307,69 +307,6 @@ pub const Runner = struct { }, } } - - fn runCommand(self: *Runner, cmd: *lang.Command) !void { - var params = ParamList.init(self.allocator); - defer params.deinit(); - - var map = ParamMap.init(self.allocator); - defer map.deinit(); - - return switch (cmd.command) { - .Noop => {}, - .Load => blk: { - var path = cmd.args.items[0]; - try self.loadCmd(path); - - // TODO is this needed? - break :blk; - }, - .Quicksave => try self.quicksaveCmd(), - .RunQS => try self.runQSCmd(cmd.args.items[0]), - - .Noise => blk: { - const pos = try cmd.consumePosition(); - - try cmd.appendParamMap(&map, "seed"); - try cmd.appendParamMap(&map, "fill_bytes"); - - try self.noiseCmd(pos, &map); - }, - - .WildNoise => blk: { - const pos = try cmd.consumePosition(); - - try cmd.appendParamMap(&map, "seed"); - try cmd.appendParamMap(&map, "fill_bytes"); - - try self.wildNoiseCmd(pos, &map); - }, - - .Write => blk: { - const pos = try cmd.consumePosition(); - try cmd.appendParamMap(&map, "data"); - try self.writeCmd(pos, &map); - }, - - .Embed => blk: { - const pos = try cmd.consumePosition(); - const path = cmd.args.items[2]; - try self.embedCmd(pos, path); - }, - - .Rotate => blk: { - const deg = try cmd.floatArgAt(0); - const bgfill = try cmd.argAt(1); - try self.rotateCmd(deg, bgfill); - }, - - else => blk: { - std.debug.warn("Unsupported command: {}\n", .{cmd.command}); - break :blk RunError.UnknownCommand; - }, - }; - } - /// Run a list of commands. pub fn runCommands( self: *Runner, From 54919110a5c63b951bdf83d5b98f5dfb8593be0b Mon Sep 17 00:00:00 2001 From: Luna Date: Mon, 1 Jun 2020 21:54:10 -0300 Subject: [PATCH 2/3] refactor: remove 'new' prefix from functions --- src/runner.zig | 74 +++++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/src/runner.zig b/src/runner.zig index def019d..c4b916d 100644 --- a/src/runner.zig +++ b/src/runner.zig @@ -224,7 +224,7 @@ pub const Runner = struct { try image.runPlugin(typ.lv2_url, pos, params); } - fn executePlugin(self: *@This(), command: var) !void { + fn executeCustomCommand(self: *@This(), command: var) !void { const pos = plugin.Position{ .split = command.split, .index = command.index, @@ -234,7 +234,7 @@ pub const Runner = struct { try image.runCustomPlugin(@TypeOf(command).plugin_type, pos, command.parameters); } - fn newRunCommandSingle( + fn runSingleCommand( self: *@This(), cmd: lang.Command, comptime tag: lang.Command.Tag, @@ -251,13 +251,13 @@ pub const Runner = struct { const ctype = typ.command_type; switch (ctype) { .lv2_command => try self.executeLV2Command(command.*), - .custom_command => try self.executePlugin(command.*), + .custom_command => try self.executeCustomCommand(command.*), else => @panic("TODO support command type"), } } } - fn newRunCommand(self: *@This(), cmd: lang.Command) !void { + fn runCommand(self: *@This(), cmd: lang.Command) !void { switch (cmd.tag) { .load => { const command = cmd.cast(lang.Command.Load).?; @@ -266,40 +266,40 @@ pub const Runner = struct { .quicksave => { try self.quicksaveCmd(); }, - .amp => try self.newRunCommandSingle(cmd, .amp), + .amp => try self.runSingleCommand(cmd, .amp), - .rflanger => try self.newRunCommandSingle(cmd, .rflanger), - .eq => try self.newRunCommandSingle(cmd, .eq), - .phaser => try self.newRunCommandSingle(cmd, .phaser), - .mbeq => try self.newRunCommandSingle(cmd, .mbeq), - .chorus => try self.newRunCommandSingle(cmd, .chorus), - .pitchscaler => try self.newRunCommandSingle(cmd, .pitchscaler), - .reverb => try self.newRunCommandSingle(cmd, .reverb), - .highpass => try self.newRunCommandSingle(cmd, .highpass), - .delay => try self.newRunCommandSingle(cmd, .delay), - .vinyl => try self.newRunCommandSingle(cmd, .vinyl), - .revdelay => try self.newRunCommandSingle(cmd, .revdelay), - .gate => try self.newRunCommandSingle(cmd, .gate), - .detune => try self.newRunCommandSingle(cmd, .detune), - .overdrive => try self.newRunCommandSingle(cmd, .overdrive), - .degrade => try self.newRunCommandSingle(cmd, .degrade), - .repsycho => try self.newRunCommandSingle(cmd, .repsycho), - .talkbox => try self.newRunCommandSingle(cmd, .talkbox), - .dyncomp => try self.newRunCommandSingle(cmd, .dyncomp), - .thruzero => try self.newRunCommandSingle(cmd, .thruzero), - .foverdrive => try self.newRunCommandSingle(cmd, .foverdrive), - .gverb => try self.newRunCommandSingle(cmd, .gverb), - .invert => try self.newRunCommandSingle(cmd, .invert), - .tapedelay => try self.newRunCommandSingle(cmd, .tapedelay), - .moddelay => try self.newRunCommandSingle(cmd, .moddelay), - .multichorus => try self.newRunCommandSingle(cmd, .multichorus), - .saturator => try self.newRunCommandSingle(cmd, .saturator), - .vintagedelay => try self.newRunCommandSingle(cmd, .vintagedelay), + .rflanger => try self.runSingleCommand(cmd, .rflanger), + .eq => try self.runSingleCommand(cmd, .eq), + .phaser => try self.runSingleCommand(cmd, .phaser), + .mbeq => try self.runSingleCommand(cmd, .mbeq), + .chorus => try self.runSingleCommand(cmd, .chorus), + .pitchscaler => try self.runSingleCommand(cmd, .pitchscaler), + .reverb => try self.runSingleCommand(cmd, .reverb), + .highpass => try self.runSingleCommand(cmd, .highpass), + .delay => try self.runSingleCommand(cmd, .delay), + .vinyl => try self.runSingleCommand(cmd, .vinyl), + .revdelay => try self.runSingleCommand(cmd, .revdelay), + .gate => try self.runSingleCommand(cmd, .gate), + .detune => try self.runSingleCommand(cmd, .detune), + .overdrive => try self.runSingleCommand(cmd, .overdrive), + .degrade => try self.runSingleCommand(cmd, .degrade), + .repsycho => try self.runSingleCommand(cmd, .repsycho), + .talkbox => try self.runSingleCommand(cmd, .talkbox), + .dyncomp => try self.runSingleCommand(cmd, .dyncomp), + .thruzero => try self.runSingleCommand(cmd, .thruzero), + .foverdrive => try self.runSingleCommand(cmd, .foverdrive), + .gverb => try self.runSingleCommand(cmd, .gverb), + .invert => try self.runSingleCommand(cmd, .invert), + .tapedelay => try self.runSingleCommand(cmd, .tapedelay), + .moddelay => try self.runSingleCommand(cmd, .moddelay), + .multichorus => try self.runSingleCommand(cmd, .multichorus), + .saturator => try self.runSingleCommand(cmd, .saturator), + .vintagedelay => try self.runSingleCommand(cmd, .vintagedelay), - .noise => try self.newRunCommandSingle(cmd, .noise), - .wildnoise => try self.newRunCommandSingle(cmd, .wildnoise), - .write => try self.newRunCommandSingle(cmd, .write), - .embed => try self.newRunCommandSingle(cmd, .embed), + .noise => try self.runSingleCommand(cmd, .noise), + .wildnoise => try self.runSingleCommand(cmd, .wildnoise), + .write => try self.runSingleCommand(cmd, .write), + .embed => try self.runSingleCommand(cmd, .embed), else => { std.debug.warn("TODO support {}\n", .{@tagName(cmd.tag)}); @@ -315,7 +315,7 @@ pub const Runner = struct { ) !void { for (cmds.items) |cmd| { cmd.print(); - try self.newRunCommand(cmd.*); + try self.runCommand(cmd.*); } } }; From b0525f23862d98900799be4d0c1c031eb3a5ff9b Mon Sep 17 00:00:00 2001 From: Luna Date: Mon, 1 Jun 2020 22:06:15 -0300 Subject: [PATCH 3/3] add proper support on rotateCmd for lang.Command.Rotate --- src/runner.zig | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/runner.zig b/src/runner.zig index c4b916d..445c391 100644 --- a/src/runner.zig +++ b/src/runner.zig @@ -190,16 +190,14 @@ pub const Runner = struct { _ = try proc.spawnAndWait(); } - fn rotateCmd( - self: *Runner, - deg: f32, - bgfill: []const u8, - ) !void { + fn rotateCmd(self: *Runner, cmd: lang.Command) !void { + const rotate_cmd = cmd.cast(lang.Command.Rotate).?; + var image = try self.getImage(); - var c_bgfill = try std.cstr.addNullByte(self.allocator, bgfill); + var c_bgfill = try std.cstr.addNullByte(self.allocator, rotate_cmd.bgfill); defer self.allocator.free(c_bgfill); - try magick.runRotate(image, deg, c_bgfill); + try magick.runRotate(image, rotate_cmd.deg, c_bgfill); } fn executeLV2Command(self: *@This(), command: var) !void { @@ -263,11 +261,10 @@ pub const Runner = struct { const command = cmd.cast(lang.Command.Load).?; try self.loadCmd(command.path); }, - .quicksave => { - try self.quicksaveCmd(); - }, - .amp => try self.runSingleCommand(cmd, .amp), + .quicksave => try self.quicksaveCmd(), + .rotate => try self.rotateCmd(cmd), + .amp => try self.runSingleCommand(cmd, .amp), .rflanger => try self.runSingleCommand(cmd, .rflanger), .eq => try self.runSingleCommand(cmd, .eq), .phaser => try self.runSingleCommand(cmd, .phaser),