summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-10-05 16:07:03 +0200
committerRobin Gareus <robin@gareus.org>2016-10-05 16:07:03 +0200
commitcd5d4b081e4f2c79778994ec8906e1276e2d9e44 (patch)
treee1cd32c7573ad13fcedbe59a4a81ea3d0fe7c958 /scripts
parent6821f54817e03a55f100f422b6c0bba4328c8fb8 (diff)
elaborate Lua-Vamp example
Diffstat (limited to 'scripts')
-rw-r--r--scripts/_vamp_example.lua20
1 files changed, 17 insertions, 3 deletions
diff --git a/scripts/_vamp_example.lua b/scripts/_vamp_example.lua
index da400265ae..7b8b3e2a4e 100644
--- a/scripts/_vamp_example.lua
+++ b/scripts/_vamp_example.lua
@@ -1,8 +1,19 @@
ardour { ["type"] = "Snippet", name = "Vamp Plugin Example" }
function factory () return function ()
+
+ -- get a list of all available plugins
+ -- http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:LuaAPI:Vamp
+ -- returns a http://manual.ardour.org/lua-scripting/class_reference/#C:StringVector
+ local plugins = ARDOUR.LuaAPI.Vamp.list_plugins ();
+ for id in plugins:iter () do
+ print ("--", id)
+ end
+
local sel = Editor:get_selection ()
+ -- load the Vamp Plugin with Id "libardourvampplugins:dBTP"
+ -- http://manual.ardour.org/lua-scripting/class_reference/#ARDOUR:LuaAPI:Vamp
local vamp = ARDOUR.LuaAPI.Vamp("libardourvampplugins:dBTP", Session:nominal_frame_rate())
print (vamp:plugin():getName())
@@ -17,6 +28,7 @@ function factory () return function ()
local f = vamp:plugin ():getRemainingFeatures ()
-- f is-a Vamp::Plugin::FeatureSet aka std::map<int, Vamp::Plugin::FeatureList>
+ -- http://manual.ardour.org/lua-scripting/class_reference/#Vamp:Plugin:FeatureSet
for id, featlist in f:iter () do
print (id, featlist)
end
@@ -29,6 +41,7 @@ function factory () return function ()
end
-- get the first feature..
+ -- http://manual.ardour.org/lua-scripting/class_reference/#Vamp:Plugin:Feature
local feature = featurelist:at(0)
-- ..and the values of the feature, which is-a std::vector<float>
local values = feature.values
@@ -38,12 +51,13 @@ function factory () return function ()
end
-- access the first element of Vamp::Plugin::Feature's "values" vector
+ -- http://manual.ardour.org/lua-scripting/class_reference/#C:FloatVector
local value = values:at(0)
- -- in case of libardourvampplugins:dBTP that's the true-peak
- local dbtp = 20 * math.log (value) / math.log(10)
+ -- in case of libardourvampplugins:dBTP that's the true-peak (signal value)
+ local dbtp = 20 * math.log (value) / math.log(10) -- convert it to dB
print (string.format ("Region '%s': %.2f dBTP", r:name (), dbtp))
- -- reset the plugin
+ -- reset the plugin for the next iteration
vamp:reset ()
end
end end