diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2021-03-27 15:52:06 +0100 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2021-03-27 16:06:07 +0100 |
commit | 542aa2de2bd24ccc0f6413138909a97a13cd5c7f (patch) | |
tree | 72cfef8c0702be76256b3024bb89ed8a3c7c1fb2 | |
parent | 14c689313ce8e5247f279cc6d7352f04cd843217 (diff) | |
download | airwindows-lv2-port-542aa2de2bd24ccc0f6413138909a97a13cd5c7f.tar.gz airwindows-lv2-port-542aa2de2bd24ccc0f6413138909a97a13cd5c7f.tar.bz2 airwindows-lv2-port-542aa2de2bd24ccc0f6413138909a97a13cd5c7f.zip |
LV2/makeplugin: Pick up var init from plugin cpp file.
-rw-r--r-- | plugins/LV2/Template/Plugin.cpp | 5 | ||||
-rw-r--r-- | plugins/LV2/lib/makeplugin/plugin_info.rb | 12 | ||||
-rwxr-xr-x | plugins/LV2/makeplugin | 1 |
3 files changed, 18 insertions, 0 deletions
diff --git a/plugins/LV2/Template/Plugin.cpp b/plugins/LV2/Template/Plugin.cpp index 49d4420..d6a775d 100644 --- a/plugins/LV2/Template/Plugin.cpp +++ b/plugins/LV2/Template/Plugin.cpp @@ -7,6 +7,11 @@ { } +void @Plugin@::activate() +{ +@VARINITS@ +} + void @Plugin@::run(uint32_t num_samples) { @AssignParams@ diff --git a/plugins/LV2/lib/makeplugin/plugin_info.rb b/plugins/LV2/lib/makeplugin/plugin_info.rb index 15de9d3..5b79032 100644 --- a/plugins/LV2/lib/makeplugin/plugin_info.rb +++ b/plugins/LV2/lib/makeplugin/plugin_info.rb @@ -28,11 +28,13 @@ module MakePlugin attr_reader :desc attr_reader :comment attr_reader :var_decls + attr_reader :var_inits def initialize(root, name) @name = name @ctrl_ports = [] @var_decls = [] + @var_inits = [] self.find_plugin_info(root) if @n_ctrl_ports != @ctrl_ports.length raise "Expected #{@n_ctrl_ports} but found #{@ctrl_ports.length}" @@ -105,8 +107,18 @@ module MakePlugin f.each_line do |line| if line =~ /void #{@name}::(\w+)/ fun = $1 + elsif line =~ /^#{@name}::#{@name}/ + fun = 'constructor_' elsif fun == 'getParameterName' and line =~ /case\s+kParam([A-Z])\:\s+vst_strncpy\s*\([^,]*,\s*\"(\w+)\",/ @ctrl_ports << { sym: $1, name: $2 } + elsif fun == 'constructor_' and line =~ /\{\s*$/ + fun = 'constructor' + elsif fun == 'constructor' + if line =~ /^\s+_canDo\./ + fun = '' + else + @var_inits << line.chomp + end end end end diff --git a/plugins/LV2/makeplugin b/plugins/LV2/makeplugin index 061d712..98ac700 100755 --- a/plugins/LV2/makeplugin +++ b/plugins/LV2/makeplugin @@ -49,6 +49,7 @@ begin .gsub('@NCtrlPorts@', pi.n_ctrl_ports.to_s) .gsub('@AssignParams@', make_param_assigns(pi.ctrl_ports)) .gsub('@VARDECLS@', pi.var_decls.join("\n")) + .gsub('@VARINITS@', pi.var_inits.join("\n")) fname = t.sub('Plugin', pi.name) |