aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/lib/makeplugin/plugin_info.rb
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LV2/lib/makeplugin/plugin_info.rb')
-rw-r--r--plugins/LV2/lib/makeplugin/plugin_info.rb12
1 files changed, 12 insertions, 0 deletions
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