summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-02-26 17:48:25 +0100
committerRobin Gareus <robin@gareus.org>2020-02-26 17:51:32 +0100
commit28accee44e94985c39583b9842566f5a2134922d (patch)
tree905fabab1245fe08ac38789b2ea8ba8536de25a6 /share
parent65425b9fe20590d0a37f91e5c8f88014bc3003d4 (diff)
Update script to use new process_map() API
Diffstat (limited to 'share')
-rw-r--r--share/scripts/_midigenerator2.lua9
-rw-r--r--share/scripts/_rawmidi.lua7
-rw-r--r--share/scripts/midimon.lua7
3 files changed, 16 insertions, 7 deletions
diff --git a/share/scripts/_midigenerator2.lua b/share/scripts/_midigenerator2.lua
index 6bd904b097..3dcb378d88 100644
--- a/share/scripts/_midigenerator2.lua
+++ b/share/scripts/_midigenerator2.lua
@@ -11,6 +11,11 @@ function dsp_ioconfig ()
return { { midi_in = 1, midi_out = 1, audio_in = -1, audio_out = -1}, }
end
+function dsp_configure (ins, outs)
+ n_out = outs
+ n_out:set_midi (0)
+end
+
function dsp_runmap (bufs, in_map, out_map, n_samples, offset)
local ob = out_map:get (ARDOUR.DataType ("midi"), 0)
if ob ~= ARDOUR.ChanMapping.Invalid then
@@ -28,7 +33,5 @@ function dsp_runmap (bufs, in_map, out_map, n_samples, offset)
ba:add ({0x80, 64, 127})
mb:push_back (n_samples - 1 - offset, ba:size (), ba:to_array());
end
-
- -- passthrough audio, apply pin/channel mapping
- ARDOUR.DSP.process_map (bufs, in_map, out_map, n_samples, offset, ARDOUR.DataType ("audio"))
+ ARDOUR.DSP.process_map (bufs, n_out, in_map, out_map, n_samples, offset)
end
diff --git a/share/scripts/_rawmidi.lua b/share/scripts/_rawmidi.lua
index dba45f5483..426feb6652 100644
--- a/share/scripts/_rawmidi.lua
+++ b/share/scripts/_rawmidi.lua
@@ -14,6 +14,10 @@ function dsp_ioconfig ()
return { { midi_in = 1, midi_out = 1, audio_in = -1, audio_out = -1}, }
end
+function dsp_configure (ins, outs)
+ n_out = outs
+end
+
-- "dsp_runmap" uses Ardour's internal processor API, eqivalent to
-- 'connect_and_run()". There is no overhead (mapping, translating buffers).
-- The lua implementation is responsible to map all the buffers directly.
@@ -41,8 +45,7 @@ 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.
- 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"))
+ ARDOUR.DSP.process_map (bufs, n_out, in_map, out_map, n_samples, offset)
-- equivalent lua code.
-- NOTE: the lua implementation below is intended for io-config [-1,-1].
diff --git a/share/scripts/midimon.lua b/share/scripts/midimon.lua
index 7f58fd34de..a4af172458 100644
--- a/share/scripts/midimon.lua
+++ b/share/scripts/midimon.lua
@@ -54,13 +54,16 @@ function dsp_init (rate)
end
end
+function dsp_configure (ins, outs)
+ n_out = outs
+end
+
function dsp_runmap (bufs, in_map, out_map, n_samples, offset)
local pos = self:shmem():atomic_get_int(0)
local buffer = self:shmem():to_int(1):array()
-- passthrough all data
- 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"))
+ ARDOUR.DSP.process_map (bufs, n_out, in_map, out_map, n_samples, offset)
-- then fill the event buffer
local ib = in_map:get (ARDOUR.DataType ("midi"), 0) -- index of 1st midi input