diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2020-07-22 16:47:13 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2020-07-22 16:47:13 +0200 |
commit | 8e1de3ce53f1e61d24578379bd38a42401fa37e8 (patch) | |
tree | 9655239b75c471f823194f51f5fef82ff511c01c /plugins/LV2/makeplugin | |
parent | b11ed1fabd9c6db06e7aa7d4ad046d934bd113a7 (diff) | |
download | airwindows-lv2-port-8e1de3ce53f1e61d24578379bd38a42401fa37e8.tar.gz airwindows-lv2-port-8e1de3ce53f1e61d24578379bd38a42401fa37e8.tar.bz2 airwindows-lv2-port-8e1de3ce53f1e61d24578379bd38a42401fa37e8.zip |
LV2: makeplugin script not handles number of control ports.
If specified, the correct number will be put in the class declaration,
and the correct number of params will be assigned to their respecive
param instance variables.
The ttl file is not updated with this info yet.
Diffstat (limited to 'plugins/LV2/makeplugin')
-rwxr-xr-x | plugins/LV2/makeplugin | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/plugins/LV2/makeplugin b/plugins/LV2/makeplugin index 8fc98eb..5b11a87 100755 --- a/plugins/LV2/makeplugin +++ b/plugins/LV2/makeplugin @@ -1,7 +1,13 @@ #!/usr/bin/env ruby -unless ARGV[0] - puts "Give me the name of a plugin to make." +def make_param_assigns(num) + (0 ... num) + .map { |n| "#{('A'.ord + n).chr} = *param[#{n}];" } + .join("\n ") +end + +if ARGV.length < 1 + puts "Usage: #{__FILE__} <PluginName> [<NCtrlPorts>]" exit end @@ -10,6 +16,8 @@ root = File.dirname(__FILE__) plugin_name = ARGV[0] plugin_slug = plugin_name.downcase +n_ctrl_ports = ARGV[1] || '1' + target_dir = File.join(root, 'src', plugin_name) template_dir = File.join(root, 'Template') @@ -29,6 +37,8 @@ begin tpl = IO.read(File.join(template_dir, t)) .gsub('@Plugin@', plugin_name) .gsub('@plugin@', plugin_slug) + .gsub('@NCtrlPorts@', n_ctrl_ports) + .gsub('@AssignParams@', make_param_assigns(n_ctrl_ports.to_i)) fname = t.sub('Plugin', plugin_name) |