mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 07:45:00 +01:00
add a convenient lua forward mapped buffers method
This commit is contained in:
parent
4537f5fb20
commit
57df370e2a
4 changed files with 60 additions and 2 deletions
|
|
@ -46,8 +46,24 @@ function dsp_runmap (bufs, in_map, out_map, n_samples, offset)
|
|||
-- The following code is needed with "dsp_runmap" to work for arbitrary pin connections
|
||||
-- this passes though all audio/midi data unprocessed.
|
||||
|
||||
local audio_ins = in_map:count (): n_audio () -- number of audio input buffers
|
||||
local audio_outs = out_map:count (): n_audio () -- number of audio output buffers
|
||||
ARDOUR.DSP.process_map (bufs, in_map, out_map, n_samples, offset, ARDOUR.DataType ("audio"))
|
||||
ARDOUR.DSP.process_map (bufs, in_map, out_map, n_samples, offset, ARDOUR.DataType ("midi"))
|
||||
|
||||
-- equivalent lua code.
|
||||
-- NOTE: the lua implementation below is intended for io-config [-1,-1].
|
||||
-- It only works for actually mapped channels due to in_map:count() out_map:count()
|
||||
-- being identical to the i/o pin count in this case.
|
||||
--
|
||||
-- Plugins that have multiple possible configurations will need to implement
|
||||
-- dsp_configure() and remember the actual channel count.
|
||||
--
|
||||
-- ARDOUR.DSP.process_map() does iterate over the mapping itself and works generally.
|
||||
-- Still the lua code below does lend itself as elaborate example.
|
||||
--
|
||||
--[[
|
||||
|
||||
local audio_ins = in_map:count (): n_audio () -- number of mapped audio input buffers
|
||||
local audio_outs = out_map:count (): n_audio () -- number of mapped audio output buffers
|
||||
assert (audio_outs, audio_ins) -- ioconfig [-1, -1]: must match
|
||||
|
||||
-- copy audio data if any
|
||||
|
|
@ -94,4 +110,5 @@ function dsp_runmap (bufs, in_map, out_map, n_samples, offset)
|
|||
bufs:get_midi (ob):silence (n_samples, offset)
|
||||
end
|
||||
end
|
||||
--]]
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue