Use comptime for fully declarative LV2 and Custom commands #14
1 changed files with 18 additions and 1 deletions
19
src/lang.zig
19
src/lang.zig
|
@ -31,6 +31,23 @@ fn LV2Command(
|
|||
};
|
||||
}
|
||||
|
||||
fn CustomCommand(
|
||||
comptime tag: Command.tag,
|
||||
comptime plugin: type,
|
||||
comptime parameters: type,
|
||||
) type {
|
||||
return struct {
|
||||
pub const base_tag = tag;
|
||||
pub const command_type = CommandType.plugin_command;
|
||||
pub const plugin_type = plugin;
|
||||
|
||||
base: Command,
|
||||
split: usize,
|
||||
index: usize,
|
||||
parameters: LV2Parameters,
|
||||
};
|
||||
}
|
||||
|
||||
pub const Command = struct {
|
||||
tag: Tag,
|
||||
|
||||
|
@ -182,7 +199,7 @@ pub const Command = struct {
|
|||
pub const Rotate = struct {
|
||||
pub const base_tag = Tag.rotate;
|
||||
base: Command,
|
||||
deg: usize,
|
||||
deg: f32,
|
||||
bgfill: []const u8,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue