diff options
Diffstat (limited to 'plugins/LV2/makeplugin')
-rwxr-xr-x | plugins/LV2/makeplugin | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/plugins/LV2/makeplugin b/plugins/LV2/makeplugin index 809b967..48854e0 100755 --- a/plugins/LV2/makeplugin +++ b/plugins/LV2/makeplugin @@ -1,21 +1,17 @@ #!/usr/bin/env ruby require_relative 'lib/makeplugin/plugin_info' -def param_sym(n) - ('A'.ord + n).chr -end - -def make_param_assigns(num) - (0 ... num) - .map { |n| "#{param_sym(n)} = *param[#{n}];" } +def make_param_assigns(ctrl_ports) + ctrl_ports + .map.with_index { |p, n| "#{p[:sym]} = *param[#{n}];" } .join("\n ") end -def make_ctrl_port(n, name) +def make_ctrl_port(n, ctrl_port) %Q{ a lv2:InputPort , lv2:ControlPort ; lv2:index #{n} ; - lv2:symbol "#{param_sym(n)}" ; - lv2:name "#{name}" ; + lv2:symbol "#{ctrl_port[:sym]}" ; + lv2:name "#{ctrl_port[:name]}" ; lv2:default 0.5 ; lv2:minimum 0.0 ; lv2:maximum 1.0 ;} @@ -23,8 +19,8 @@ end def make_lv2_port_defs(pi) num = pi.n_ctrl_ports - ctrlports = (0 ... num) - .map { |n| make_ctrl_port(n, pi.ctrl_ports[n]) } + ctrlports = pi.ctrl_ports + .map.with_index { |p, n| make_ctrl_port(n, p) } .join("\n ] , [\n") ctrlports + %Q{ @@ -87,7 +83,7 @@ begin .gsub('@Plugin@', pi.name) .gsub('@plugin@', plugin_slug) .gsub('@NCtrlPorts@', pi.n_ctrl_ports.to_s) - .gsub('@AssignParams@', make_param_assigns(pi.n_ctrl_ports)) + .gsub('@AssignParams@', make_param_assigns(pi.ctrl_ports)) .gsub('@TTLPortDefs@', make_lv2_port_defs(pi)) .gsub('@TTLPluginType@', pi.type) |