flow/proc_dict.cfg : Added "notify" attribute to variables that depend on being tracked via notify().
This commit is contained in:
parent
edfd1bf6fd
commit
777c3bbd54
@ -1,4 +1,15 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
poly: {
|
||||||
|
vars: {
|
||||||
|
count: { type:uint, flags:["init"], value:1, doc:"Count of network duplicates." },
|
||||||
|
parallel_fl: { type:bool, flags:["init"], value:false, doc:"True to run voices concurrently." }
|
||||||
|
preset_sfx_id:{ type:uint, value:-1, doc:"The voice index to assign the prefix to or -1 if there is no preset to assign." },
|
||||||
|
preset_label: { type:string, value:"", doc:"The network preset to activate on voice channel 'preset_idx'." },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
balance: {
|
balance: {
|
||||||
doc: [ "Stereo balance control." ]
|
doc: [ "Stereo balance control." ]
|
||||||
vars: {
|
vars: {
|
||||||
@ -57,7 +68,7 @@
|
|||||||
fname: { type:string, doc:"Audio file name." },
|
fname: { type:string, doc:"Audio file name." },
|
||||||
out:{ type:audio, doc:"Audio file output" },
|
out:{ type:audio, doc:"Audio file output" },
|
||||||
on_off:{ type:bool, value:false, doc:"1=on 0=off" },,
|
on_off:{ type:bool, value:false, doc:"1=on 0=off" },,
|
||||||
seekSecs:{ type:ftime, value:0.0, doc:"Seek to the specified seconds offset." }
|
seekSecs:{ type:ftime, flags:["notify"], value:0.0, doc:"Seek to the specified seconds offset." }
|
||||||
eofFl:{ type:bool, value: true, doc:"Set the system 'halt' flag when the audio is completely read."},
|
eofFl:{ type:bool, value: true, doc:"Set the system 'halt' flag when the audio is completely read."},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -85,11 +96,11 @@
|
|||||||
|
|
||||||
audio_split: {
|
audio_split: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src"], doc:"Audio input." },
|
in: { type:audio, flags:["src"], doc:"Audio input." },
|
||||||
select: { type:cfg, flags:["init"], doc:"A list of integers where each value selects an output channel for the associated input channel." }
|
select: { type:cfg, flags:["init"], doc:"A list of integers where each value selects an output channel for the associated input channel." }
|
||||||
igain: { type:coeff, value:1.0, doc:"Audio gain for each input channel." }
|
igain: { type:coeff, flags:["notify"], value:1.0, doc:"Audio gain for each input channel." }
|
||||||
ogain: { type:coeff, flags["mult"], value:1.0, doc:"Audio gain for each output channel." }
|
ogain: { type:coeff, flags:["mult","notify"], value:1.0, doc:"Audio gain for each output channel." }
|
||||||
out: { type:audio, flags["mult"], doc:"Audio output." },
|
out: { type:audio, flags:["mult"], doc:"Audio output." },
|
||||||
}
|
}
|
||||||
|
|
||||||
presets:
|
presets:
|
||||||
@ -120,27 +131,27 @@
|
|||||||
|
|
||||||
audio_mix: {
|
audio_mix: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src","mult"], doc:"Audio input." },
|
in: { type:audio, flags:["src","mult"], doc:"Audio input." },
|
||||||
igain: { type:coeff, flags:["mult"], value:0.5, doc:"Audio gain for input 0." },
|
igain: { type:coeff, flags:["notify","mult"], value:0.5, doc:"Audio gain for input 0." },
|
||||||
ogain: { type:coeff, value:1.0, doc:"Output gain." },
|
ogain: { type:coeff, flags:["notify"], value:1.0, doc:"Output gain." },
|
||||||
out: { type:audio, doc:"Audio output. Channel count is max of the input signal channels." },
|
out: { type:audio, doc:"Audio output. Channel count is max of the input signal channels." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_marker: {
|
audio_marker: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src"], doc:"Audio input."},
|
in: { type:audio, flags:["src"], doc:"Audio input."},
|
||||||
trigger: { type:all, value:0, doc:"Marker trigger."},
|
trigger: { type:all, flags:["notify"], value:0, doc:"Marker trigger."},
|
||||||
out: { type:audio, doc:"Audio output."},
|
out: { type:audio, doc:"Audio output."},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_delay: {
|
audio_delay: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src"], doc:"Audio input." },
|
in: { type:audio, flags:["src"], doc:"Audio input." },
|
||||||
maxDelayMs: { type:ftime, value:1000.0 doc:"Maximum possible delay in milliseconds." },
|
maxDelayMs: { type:ftime, value:1000.0 doc:"Maximum possible delay in milliseconds." },
|
||||||
delayMs: { type:ftime, doc:"Delay in milliseconds." },
|
delayMs: { type:ftime, flags:["notify"], doc:"Delay in milliseconds." },
|
||||||
out: { type:audio, doc:"Audio output." },
|
out: { type:audio, doc:"Audio output." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,13 +188,13 @@
|
|||||||
|
|
||||||
pv_analysis: {
|
pv_analysis: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src"], doc:"Audio input." },
|
in: { type:audio, flags:["src"], doc:"Audio input." },
|
||||||
enable: { type:bool, value: true, doc:"Enable/disable the processor."}
|
enable: { type:bool, value: true, doc:"Enable/disable the processor."}
|
||||||
maxWndSmpN: { type:uint, value: 1024, doc:"Maximum window sample count." },
|
maxWndSmpN: { type:uint, value: 1024, doc:"Maximum window sample count." },
|
||||||
wndSmpN: { type:uint, value: 512, doc:"Window sample count." },
|
wndSmpN: { type:uint, flags:["notify"],value: 512, doc:"Window sample count." },
|
||||||
hopSmpN: { type:uint, value: 128, doc:"Hop sample count." },
|
hopSmpN: { type:uint, value: 128, doc:"Hop sample count." },
|
||||||
hzFl: { type:bool, value: false, doc:"Calculate frequency via the method of phase change of each bin." },
|
hzFl: { type:bool, value:false, doc:"Calculate frequency via the method of phase change of each bin." },
|
||||||
out: { type:spectrum, doc:"Spectrum output." }
|
out: { type:spectrum, doc:"Spectrum output." }
|
||||||
}
|
}
|
||||||
|
|
||||||
presets: {
|
presets: {
|
||||||
@ -270,15 +281,15 @@
|
|||||||
|
|
||||||
spec_dist: {
|
spec_dist: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:spectrum, flags:["src"], doc:"Spectrum input." },
|
in: { type:spectrum, flags:["src"], doc:"Spectrum input." },
|
||||||
enable: { type:bool, value: true, doc:"Enable/disable this processor."},
|
enable: { type:bool, flags:["notify"], value: true, doc:"Enable/disable this processor."},
|
||||||
bypass: { type:bool, value: false, doc:"Copy input to output without transform."},
|
bypass: { type:bool, flags:["notify"], value: false, doc:"Copy input to output without transform."},
|
||||||
ceiling: { type:coeff, value: 30.0, doc:"Ceiling parameter."},
|
ceiling: { type:coeff, flags:["notify"], value: 30.0, doc:"Ceiling parameter."},
|
||||||
expo: { type:coeff, value: 2.0, doc:"Exponent parameter."},
|
expo: { type:coeff, flags:["notify"], value: 2.0, doc:"Exponent parameter."},
|
||||||
thresh: { type:coeff, value: 54.0, doc:"Threshold parameter."},
|
thresh: { type:coeff, flags:["notify"], value: 54.0, doc:"Threshold parameter."},
|
||||||
upr: { type:coeff, value: -0.7, doc:"Upper slope parameter."},
|
upr: { type:coeff, flags:["notify"], value: -0.7, doc:"Upper slope parameter."},
|
||||||
lwr: { type:coeff, value: 2.0, doc:"Lower slope parameter."},
|
lwr: { type:coeff, flags:["notify"], value: 2.0, doc:"Lower slope parameter."},
|
||||||
mix: { type:coeff, value: 0.0, doc:"Basic/Bump Mix parameter."},
|
mix: { type:coeff, flags:["notify"], value: 0.0, doc:"Basic/Bump Mix parameter."},
|
||||||
|
|
||||||
out: { type:spectrum, doc:"Spectrum output." },
|
out: { type:spectrum, doc:"Spectrum output." },
|
||||||
|
|
||||||
@ -412,18 +423,18 @@
|
|||||||
|
|
||||||
compressor: {
|
compressor: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src"], doc:"Audio input." },
|
in: { type:audio, flags:["src"], doc:"Audio input." },
|
||||||
enable: { type:bool, value: true, doc:"Same as bypass with opposite polarity." },
|
enable: { type:bool, flags:["notify"], value: true, doc:"Same as bypass with opposite polarity." },
|
||||||
bypass: { type:bool, value: false, doc:"Bypass the compressor."},
|
bypass: { type:bool, flags:["notify"], value: false, doc:"Bypass the compressor."},
|
||||||
igain: { type:coeff, value: 1.0, doc:"Input gain."},
|
igain: { type:coeff, flags:["notify"], value: 1.0, doc:"Input gain."},
|
||||||
thresh: { type:coeff, value: 90.0, doc:"Attack threshold in dB."},
|
thresh: { type:coeff, flags:["notify"], value: 90.0, doc:"Attack threshold in dB."},
|
||||||
ratio: { type:coeff, value: 2.0, doc:"Compression ratio."},
|
ratio: { type:coeff, flags:["notify"], value: 2.0, doc:"Compression ratio."},
|
||||||
atk_ms: { type:coeff, value: 20.0, doc:"Attack time in milliseconds."},
|
atk_ms: { type:coeff, flags:["notify"], value: 20.0, doc:"Attack time in milliseconds."},
|
||||||
rls_ms: { type:coeff, value: 20.0, doc:"Release time in milliseconds."},
|
rls_ms: { type:coeff, flags:["notify"], value: 20.0, doc:"Release time in milliseconds."},
|
||||||
wnd_ms: { type:coeff, value: 200.0, doc:"RMS calc. window length in milliseconds."},
|
wnd_ms: { type:coeff, flags:["notify"], value: 200.0, doc:"RMS calc. window length in milliseconds."},
|
||||||
maxWnd_ms: { type:coeff, value: 1000.0, doc:"Maximim (allocated) window length in milliseconds."},
|
maxWnd_ms: { type:coeff, flags:["notify"], value: 1000.0, doc:"Maximim (allocated) window length in milliseconds."},
|
||||||
ogain: { type:coeff, value: 1.0, doc:"Output gain."},
|
ogain: { type:coeff, flags:["notify"], value: 1.0, doc:"Output gain."},
|
||||||
out: { type:audio, doc:"Audio output." },
|
out: { type:audio, doc:"Audio output." },
|
||||||
}
|
}
|
||||||
|
|
||||||
presets: {
|
presets: {
|
||||||
@ -529,12 +540,12 @@
|
|||||||
|
|
||||||
limiter: {
|
limiter: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src"], doc:"Audio input." },
|
in: { type:audio, flags:["src"], doc:"Audio input." },
|
||||||
bypass: { type:bool, value: false, doc:"Bypass the limiter."},
|
bypass: { type:bool, flags:["notify"], value: false, doc:"Bypass the limiter."},
|
||||||
igain: { type:coeff, value: 1.0, doc:"Input gain."},
|
igain: { type:coeff, flags:["notify"], value: 1.0, doc:"Input gain."},
|
||||||
thresh: { type:coeff, value: 0.0, doc:"Linear (0.0-1.0) threshold."},
|
thresh: { type:coeff, flags:["notify"], value: 0.0, doc:"Linear (0.0-1.0) threshold."},
|
||||||
ogain: { type:coeff, value: 1.0, doc:"Output gain."},
|
ogain: { type:coeff, flags:["notify"], value: 1.0, doc:"Output gain."},
|
||||||
out: { type:audio, doc:"Audio output." },
|
out: { type:audio, doc:"Audio output." },
|
||||||
}
|
}
|
||||||
|
|
||||||
presets: {
|
presets: {
|
||||||
@ -579,21 +590,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
poly: {
|
|
||||||
vars: {
|
|
||||||
count: { type:uint, flags:["init"], value:1, doc:"Count of network duplicates." },
|
|
||||||
parallel_fl: { type:bool, flags:["init"], value:false, doc:"True to run voices concurrently." }
|
|
||||||
preset_sfx_id:{ type:uint, value:-1, doc:"The voice index to assign the prefix to or -1 if there is no preset to assign." },
|
|
||||||
preset_label: { type:string, value:"", doc:"The network preset to activate on voice channel 'preset_idx'." },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sample_hold: {
|
sample_hold: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:audio, flags:["src"], doc:"Audio input source." },
|
in: { type:audio, flags:["src"], doc:"Audio input source." },
|
||||||
period_ms: { type:ftime, value:50, doc:"Sample period in milliseconds." },
|
period_ms: { type:ftime, flags:["notify"], value:50, doc:"Sample period in milliseconds." },
|
||||||
out: { type:sample, value:0.0, doc:"First value in the sample period." },
|
out: { type:sample, value:0.0, doc:"First value in the sample period." },
|
||||||
mean: { type:sample, value:0.0, doc:"Mean value of samples in period." },
|
mean: { type:sample, value:0.0, doc:"Mean value of samples in period." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -612,16 +614,16 @@
|
|||||||
"However, an explicit type may be set using the 'out_type' argument." ]
|
"However, an explicit type may be set using the 'out_type' argument." ]
|
||||||
|
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:numeric, value:0.0, flags["mult"], doc:"Set the current value."},
|
in: { type:numeric, value:0.0, flags:["notify","mult"], doc:"Set the current value."},
|
||||||
trigger: { type:all, value:0.0, doc:"Send the currrent value on the next exec cycle."},
|
trigger: { type:all, value:0.0, flags:["notify"], doc:"Send the currrent value on the next exec cycle."},
|
||||||
out_type: { type:string, value:"", flags:["init"], doc:"The type of the output value."},
|
out_type: { type:string, value:"", flags:["init"], doc:"The type of the output value."},
|
||||||
out: { type:runtime, flags:["no_src"], doc:"Output numeric value."},
|
out: { type:runtime, flags:["no_src"], doc:"Output numeric value."},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
halt:{
|
halt:{
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:all, value:0.0, flags:["src"], doc:"Any value halts the network."},
|
in: { type:all, value:0.0, flags:["src","notify"], doc:"Any value halts the network."},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -632,36 +634,36 @@
|
|||||||
// The data type of 'store' must be convertable to the data type of 'out'.
|
// The data type of 'store' must be convertable to the data type of 'out'.
|
||||||
reg: {
|
reg: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:all, flags:["src"], doc:"Input value."},
|
in: { type:all, flags:["notify","src"], doc:"Input value."},
|
||||||
store: { type:all, doc:"Alternate input value."},
|
store: { type:all, flags:["notify"], doc:"Alternate input value."},
|
||||||
out: { type:runtime, flags:["no_src"], doc:"Output value."},
|
out: { type:runtime, flags:["notify","no_src"], doc:"Output value."},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
timer: {
|
timer: {
|
||||||
vars: {
|
vars: {
|
||||||
srate: { type:srate, value:0, flags["src"], doc:"Sample rate to use as the time base. 0=Use default system sample rate." },
|
srate: { type:srate, value:0, flags:["src"], doc:"Sample rate to use as the time base. 0=Use default system sample rate." },
|
||||||
delay_ms: { type:ftime, value:0, doc:"Delay before the first output." },
|
delay_ms: { type:ftime, value:0, flags:["notify"], doc:"Delay before the first output." },
|
||||||
period_ms: { type:ftime, value:100, doc:"Timer period in milliseconds." },
|
period_ms: { type:ftime, value:100, flags:["notify"], doc:"Timer period in milliseconds." },
|
||||||
out: { type:bool, value:false, doc:"Output pulse." },
|
out: { type:bool, value:false, doc:"Output pulse." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
counter: {
|
counter: {
|
||||||
vars: {
|
vars: {
|
||||||
trigger: { type:all, flags["src"], doc:"Counter increments with each toggle of trigger." },
|
trigger: { type:all, flags:["notify","src"], doc:"Counter increments with each toggle of trigger." },
|
||||||
reset: { type:all, value:0.0, doc:"Reset the counter to the initial value." },
|
reset: { type:all, flags:["notify"], value:0.0, doc:"Reset the counter to the initial value." },
|
||||||
init: { type:numeric, value:0.0, doc:"Counter initial value." },
|
init: { type:numeric, value:0.0, doc:"Counter initial value." },
|
||||||
min: { type:numeric, value:0.0, doc:"Minimum output value." },
|
min: { type:numeric, value:0.0, doc:"Minimum output value." },
|
||||||
max: { type:numeric, value:10.0, doc:"Maximum output value." },
|
max: { type:numeric, value:10.0, doc:"Maximum output value." },
|
||||||
inc: { type:numeric, value:1.0, doc:"Incrment value." },
|
inc: { type:numeric, value:1.0, doc:"Incrment value." },
|
||||||
repeat_fl: { type:bool, value:true, doc:"Repeat on reaching the limits." },
|
repeat_fl: { type:bool, value:true, doc:"Repeat on reaching the limits." },
|
||||||
mode: { type:string, value:"modulo", doc:"limit mode: 'modulo'=wrap, 'reverse'=count in opposite direction, 'clip'=repeat limit value."},
|
mode: { type:string, flags:["notify"], value:"modulo", doc:"limit mode: 'modulo'=wrap, 'reverse'=count in opposite direction, 'clip'=repeat limit value."},
|
||||||
out_type: { type:string, value:double, flags:["init"], doc:"The type of the output value." },
|
out_type: { type:string, flags:["init"], value:double, doc:"The type of the output value." },
|
||||||
upr_lim: { type:bool, value:false, flags:["no_src"], doc:"Outputs 'true' if the upper limit is reached." },
|
upr_lim: { type:bool, flags:["no_src"], value:false, doc:"Outputs 'true' if the upper limit is reached." },
|
||||||
lwr_lim: { type:bool, value:false, flags:["no_src"], doc:"Outputs 'true' if the lower limit is reached." },
|
lwr_lim: { type:bool, flags:["no_src"], value:false, doc:"Outputs 'true' if the lower limit is reached." },
|
||||||
limit: { type:bool, value:false, flags:["no_src"], doc:"Outputs 'true' if the upper or lower limit is reached." },
|
limit: { type:bool, flags:["no_src"], value:false, doc:"Outputs 'true' if the upper or lower limit is reached." },
|
||||||
out: { type:runtime, value:0.0, doc:"Counter output value."},
|
out: { type:runtime, value:0.0, doc:"Counter output value."},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -670,16 +672,16 @@
|
|||||||
list: {
|
list: {
|
||||||
vars: {
|
vars: {
|
||||||
cfg_fname: { type:string, flags:["init"], value:"", doc:"List cfg file." },
|
cfg_fname: { type:string, flags:["init"], value:"", doc:"List cfg file." },
|
||||||
in: { type:uint, flags:["src"], doc:"List selection index." },
|
in: { type:uint, flags:["notify","src"], doc:"List selection index." },
|
||||||
list: { type:cfg, flags:["init"], value:{} doc:"List as a 'cfg' object." },
|
list: { type:cfg, flags:["init"], value:{} doc:"List as a 'cfg' object." },
|
||||||
out: { type:runtime, doc:"List output value." },
|
out: { type:runtime, doc:"List output value." },
|
||||||
value: { type:runtime, flags["mult"], doc:"List 'mult' output per list value." },
|
value: { type:runtime, flags:["mult"], doc:"List 'mult' output per list value." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
add: {
|
add: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:numeric, flags:["src","mult"], doc:"Operands" },
|
in: { type:numeric, flags:["notify","src","mult"], doc:"Operands" },
|
||||||
otype: { type:string, value:double, flags:["init"], doc:"The type of the output value." },
|
otype: { type:string, value:double, flags:["init"], doc:"The type of the output value." },
|
||||||
out: { type:runtime, flags:["no_src"], doc:"Result" },
|
out: { type:runtime, flags:["no_src"], doc:"Result" },
|
||||||
}
|
}
|
||||||
@ -687,7 +689,7 @@
|
|||||||
|
|
||||||
preset: {
|
preset: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:string, flags:["src"], doc:"Preset to select." },
|
in: { type:string, flags:["src","notify"], doc:"Preset to select." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -701,12 +703,12 @@
|
|||||||
// 2. The only purpose for the 'srateSrc' is to get the sample rate of the system.
|
// 2. The only purpose for the 'srateSrc' is to get the sample rate of the system.
|
||||||
|
|
||||||
vars: {
|
vars: {
|
||||||
net: { type:string, doc:"Proc name of the poly network."},
|
net: { type:string, doc:"Proc name of the poly network."},
|
||||||
netSfxId: { type:uint, value: 0, doc:"Label sfx id of the source poly instance."},
|
netSfxId: { type:uint, value: 0, doc:"Label sfx id of the source poly instance."},
|
||||||
srateSrc: { type:audio, flags:["src"], doc:"Audio source to derive the sample rate."},
|
srateSrc: { type:audio, flags:["src"], doc:"Audio source to derive the sample rate."},
|
||||||
durMs: { type:uint, value:1000, doc:"Cross-fade duration in milliseconds" },
|
durMs: { type:uint, value:1000, doc:"Cross-fade duration in milliseconds" },
|
||||||
trigger: { type:all, doc:"Start cross-fade." },
|
trigger: { type:all, flags:["notify"], doc:"Start cross-fade." },
|
||||||
preset: { type:string, doc:"Preset to apply to the poly network." },
|
preset: { type:string,flags:["notify"], doc:"Preset to apply to the poly network." },
|
||||||
|
|
||||||
gain: { type:coeff, flags:["mult"], value:0, doc:"Cross-fade gain output." }
|
gain: { type:coeff, flags:["mult"], value:0, doc:"Cross-fade gain output." }
|
||||||
}
|
}
|
||||||
@ -717,7 +719,7 @@
|
|||||||
vars: {
|
vars: {
|
||||||
in: { type:midi, doc:"MIDI in" },
|
in: { type:midi, doc:"MIDI in" },
|
||||||
gain: { type:coeff, value:1.0, doc:"Audio gain." },
|
gain: { type:coeff, value:1.0, doc:"Audio gain." },
|
||||||
chCnt: { type:uint, flags["init"], doc:"Output audio channel count."},
|
chCnt: { type:uint, flags:["init"], doc:"Output audio channel count."},
|
||||||
out: { type:audio, doc:"Audio out" },
|
out: { type:audio, doc:"Audio out" },
|
||||||
print_fl: { type:bool, value:false, doc:"Print MIDI message to console." },
|
print_fl: { type:bool, value:false, doc:"Print MIDI message to console." },
|
||||||
done_fl: { type:bool, value:false, doc:"Triggers when voice is available."}
|
done_fl: { type:bool, value:false, doc:"Triggers when voice is available."}
|
||||||
@ -752,28 +754,28 @@
|
|||||||
test_pitch: { type:uint, value:0, doc:"Pitch to test." },
|
test_pitch: { type:uint, value:0, doc:"Pitch to test." },
|
||||||
test_key_pitch: { type:uint, value:48, doc:"Base pitch to use for lowest velocity when in 'test' mode." },
|
test_key_pitch: { type:uint, value:48, doc:"Base pitch to use for lowest velocity when in 'test' mode." },
|
||||||
|
|
||||||
load_thread_cnt: { type:uint, flags["init"], value:16, doc:"Count of threads to use for wave table loading." }
|
load_thread_cnt: { type:uint, flags:["init"], value:16, doc:"Count of threads to use for wave table loading." }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
print: {
|
print: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:all, flags:["mult"], doc: "Value to print." },
|
in: { type:all, flags:["mult"], doc: "Value to print." },
|
||||||
eol_fl: { type:all, doc: "Trigger an end-of-line." },
|
eol_fl: { type:all, flags:["notify"], doc: "Trigger an end-of-line." },
|
||||||
text: { type:cfg, doc: "List of labels." },
|
text: { type:cfg, flags:["notify"], doc: "List of labels." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
midi_msg: {
|
midi_msg: {
|
||||||
vars: {
|
vars: {
|
||||||
ch: { type:uint, value:0, doc:"MIDI channel input." },
|
ch: { type:uint, flags:["notify"], value:0, doc:"MIDI channel input." },
|
||||||
status: { type:uint, value:0, doc:"MIDI status input."},
|
status: { type:uint, flags:["notify"], value:0, doc:"MIDI status input."},
|
||||||
d0: { type:uint, value:0, doc:"MIDI data byte 0."},
|
d0: { type:uint, flags:["notify"], value:0, doc:"MIDI data byte 0."},
|
||||||
d1: { type:uint, value:0, doc:"MIDI data byte 1."},
|
d1: { type:uint, flags:["notify"], value:0, doc:"MIDI data byte 1."},
|
||||||
trigger: { type:all, value:0, doc:"Send message."},
|
trigger: { type:all, flags:["notify"], value:0, doc:"Send message."},
|
||||||
buf_cnt: { type:uint, value:16, flags:["init"], doc:"Length of internal msg buffer."},
|
buf_cnt: { type:uint, value:16, flags:["init"], doc:"Length of internal msg buffer."},
|
||||||
out: { type:midi, doc:"MIDI output."},
|
out: { type:midi, doc:"MIDI output."},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -817,8 +819,8 @@
|
|||||||
out_ch_cnt:{ type:uint, flags:["init"], doc:"Count of audio output channels."},
|
out_ch_cnt:{ type:uint, flags:["init"], doc:"Count of audio output channels."},
|
||||||
in: { type:audio, flags:["src","mult"], doc:"Audio input." },
|
in: { type:audio, flags:["src","mult"], doc:"Audio input." },
|
||||||
midi: { type:midi, flags:["mult"], doc:"Per audio channel MIDI message from poly_voice_ctl." },
|
midi: { type:midi, flags:["mult"], doc:"Per audio channel MIDI message from poly_voice_ctl." },
|
||||||
donefl: { type:bool, flags["mult"], doc:"Per audio channel voice 'available' flags." },
|
donefl: { type:bool, flags:["mult"], doc:"Per audio channel voice 'available' flags." },
|
||||||
trig: { type:all, doc:"Trigger to advance to next channel."},
|
trig: { type:all, flags:["notify"], doc:"Trigger to advance to next channel."},
|
||||||
out_ch_idx:{ type:uint, value:0, doc:"Transform preset id. Change indicates that successive notes should go to a new output." },
|
out_ch_idx:{ type:uint, value:0, doc:"Transform preset id. Change indicates that successive notes should go to a new output." },
|
||||||
out: { type:audio, flags:["mult"] doc:"Audio output."},
|
out: { type:audio, flags:["mult"] doc:"Audio output."},
|
||||||
}
|
}
|
||||||
@ -827,16 +829,16 @@
|
|||||||
score_player: {
|
score_player: {
|
||||||
doc: [ "Generate MIDI and score location information from a score file." ]
|
doc: [ "Generate MIDI and score location information from a score file." ]
|
||||||
vars: {
|
vars: {
|
||||||
fname: { type:string, flags:["init"], value:"", doc:"Score file name." },
|
fname: { type:string, flags:["init"], value:"", doc:"Score file name." },
|
||||||
stopping_ms: { type:uint, flags:["init"], value:5000, doc:"Maximum stopping time in milliseconds." },
|
stopping_ms: { type:uint, flags:["init"], value:5000, doc:"Maximum stopping time in milliseconds." },
|
||||||
start: { type:all, value:false, doc:"Start playback" },
|
start: { type:all, flags:["notify"], value:false, doc:"Start playback" },
|
||||||
stop: { type:all, value:false, doc:"Stop playback" },
|
stop: { type:all, flags:["notify"], value:false, doc:"Stop playback" },
|
||||||
b_loc: { type:uint, value:0, doc:"Score begin location." },
|
b_loc: { type:uint, flags:["notify"], value:0, doc:"Score begin location." },
|
||||||
e_loc: { type:uint, value:0, doc:"Score end location." },
|
e_loc: { type:uint, flags:["notify"], value:0, doc:"Score end location." },
|
||||||
b_meas: { type:uint, value:0, doc:"Score begin measure." },
|
b_meas: { type:uint, flags:["notify"], value:0, doc:"Score begin measure." },
|
||||||
e_meas: { type:uint, value:0, doc:"Score end measure." },
|
e_meas: { type:uint, flags:["notify"], value:0, doc:"Score end measure." },
|
||||||
done_fl: { type:bool, value:false, doc:"Emits true on done." },
|
done_fl: { type:bool, value:false, doc:"Emits true on done." },
|
||||||
out: { type:record, doc:"Score event record.",
|
out: { type:record, doc:"Score event record.",
|
||||||
fmt: {
|
fmt: {
|
||||||
fields: {
|
fields: {
|
||||||
midi: { type:m3, doc:"MIDI channel event message" },
|
midi: { type:m3, doc:"MIDI channel event message" },
|
||||||
@ -871,7 +873,7 @@
|
|||||||
score_wnd: { type:uint, flags:["init"], value:7, doc:"Count of locations in the score search window." },
|
score_wnd: { type:uint, flags:["init"], value:7, doc:"Count of locations in the score search window." },
|
||||||
midi_wnd: { type:uint, flags:["init"], value:15, doc:"Count of MIDI events to align in the score search window." },
|
midi_wnd: { type:uint, flags:["init"], value:15, doc:"Count of MIDI events to align in the score search window." },
|
||||||
print_fl: { type:bool, flags:["init"], value:false, doc:"Set to print log of score follower state." },
|
print_fl: { type:bool, flags:["init"], value:false, doc:"Set to print log of score follower state." },
|
||||||
back_track_fl: { type:bool, flags["init"], value:false, doc:"Set if the score follower is allowed to report locations out of order." },
|
back_track_fl: { type:bool, flags:["init"], value:false, doc:"Set if the score follower is allowed to report locations out of order." },
|
||||||
loc: { type:uint, doc:"Score location." },
|
loc: { type:uint, doc:"Score location." },
|
||||||
out: { type:record, doc:"Input record with the 'loc' field set ." }
|
out: { type:record, doc:"Input record with the 'loc' field set ." }
|
||||||
}
|
}
|
||||||
@ -921,25 +923,25 @@
|
|||||||
cfg: { type:cfg, flags:["init"], doc:"Initial preset configuration." },
|
cfg: { type:cfg, flags:["init"], doc:"Initial preset configuration." },
|
||||||
fname: { type:string, flags:["init"], value:"", doc:"Preset file name."},
|
fname: { type:string, flags:["init"], value:"", doc:"Preset file name."},
|
||||||
in: { type:record, fmt:{ required:["loc"] }, doc:"Input record with 'loc' field." },
|
in: { type:record, fmt:{ required:["loc"] }, doc:"Input record with 'loc' field." },
|
||||||
loc: { type:uint, value:0, doc:"Seek to this location." },
|
loc: { type:uint, value:0, doc:"Seek to this location." },
|
||||||
reset: { type:bool, value:false, doc:"Reset to initial state."},
|
reset: { type:bool, flags:["notify"], value:false, doc:"Reset to initial state."},
|
||||||
per_note_fl: { type:bool, value:false, doc:"Update the selected preset on every note, otherwise update on new location values." },
|
per_note_fl: { type:bool, value:false, doc:"Update the selected preset on every note, otherwise update on new location values." },
|
||||||
|
|
||||||
pri_prob_fl: { type:bool, value: false, doc:"Select primary preset probabilstically." }
|
pri_prob_fl: { type:bool, flags:["notify"], value: false, doc:"Select primary preset probabilstically." }
|
||||||
pri_uniform_fl: { type:bool, flags:["ui_disable"], value: false, doc:"Use a uniform probability distribution rather than an 'order' weighted distribution." },
|
pri_uniform_fl: { type:bool, flags:["notify","ui_disable"], value: false, doc:"Use a uniform probability distribution rather than an 'order' weighted distribution." },
|
||||||
pri_dry_on_play_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if it is the manually selected preset." },
|
pri_dry_on_play_fl: { type: bool, flags:["notify","ui_disable"], value: true, doc:"Select 'dry' if it is the manually selected preset." },
|
||||||
pri_allow_all_fl: { type: bool, flags:["ui_disable"], value: false, doc:"Select from all possible presets rather than the presets with 'order' > 0." },
|
pri_allow_all_fl: { type: bool, flags:["notify","ui_disable"], value: false, doc:"Select from all possible presets rather than the presets with 'order' > 0." },
|
||||||
pri_dry_on_sel_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if 'allow_all' is selected and 'dry' has 'order' > 0." },
|
pri_dry_on_sel_fl: { type: bool, flags:["notify","ui_disable"], value: true, doc:"Select 'dry' if 'allow_all' is selected and 'dry' has 'order' > 0." },
|
||||||
|
|
||||||
interp_fl: { type: bool, value: false, doc:"Interpolate between the primary and secondary presets." },
|
interp_fl: { type: bool, flags:["notify"], value: false, doc:"Interpolate between the primary and secondary presets." },
|
||||||
interp_dist: { type: float, flags:["ui_disable"], value: 0.5, doc:"Unit fractionaly distance between primary and secondary preset." },
|
interp_dist: { type: float, flags:["notify","ui_disable"], value: 0.5, doc:"Unit fractionaly distance between primary and secondary preset." },
|
||||||
interp_rand_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Randomly select the distance between the primary and secondary preset." },
|
interp_rand_fl: { type: bool, flags:["notify","ui_disable"], value: true, doc:"Randomly select the distance between the primary and secondary preset." },
|
||||||
|
|
||||||
sec_prob_fl: { type:bool, flags:["ui_disable"], value: false, doc:"Select secondary preset probabilstically." }
|
sec_prob_fl: { type:bool, flags:["notify","ui_disable"], value: false, doc:"Select secondary preset probabilstically." }
|
||||||
sec_uniform_fl: { type:bool, flags:["ui_disable"], value: false, doc:"Use a uniform probability distribution rather than an 'order' weighted distribution." },
|
sec_uniform_fl: { type:bool, flags:["notify","ui_disable"], value: false, doc:"Use a uniform probability distribution rather than an 'order' weighted distribution." },
|
||||||
sec_dry_on_play_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if it is the manually selected preset." },
|
sec_dry_on_play_fl: { type: bool, flags:["notify","ui_disable"], value: true, doc:"Select 'dry' if it is the manually selected preset." },
|
||||||
sec_allow_all_fl: { type: bool, flags:["ui_disable"], value: false, doc:"Select from all possible presets rather than the presets with 'order' > 0." },
|
sec_allow_all_fl: { type: bool, flags:["notify","ui_disable"], value: false, doc:"Select from all possible presets rather than the presets with 'order' > 0." },
|
||||||
sec_dry_on_sel_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if 'allow_all' is selected and 'dry' has 'order' > 0." },
|
sec_dry_on_sel_fl: { type: bool, flags:["notify","ui_disable"], value: true, doc:"Select 'dry' if 'allow_all' is selected and 'dry' has 'order' > 0." },
|
||||||
|
|
||||||
|
|
||||||
midi_in: { type:midi, flags:["mult","no_ui"], doc:"Per voice MIDI in" },
|
midi_in: { type:midi, flags:["mult","no_ui"], doc:"Per voice MIDI in" },
|
||||||
|
Loading…
Reference in New Issue
Block a user