From e095b0ccd82523006bf481e9ec8e62281e9db8c4 Mon Sep 17 00:00:00 2001 From: kevin Date: Mon, 23 Dec 2024 16:36:20 -0500 Subject: [PATCH] proc_dict.cfg : Added vel_table. Added out_idx and preset_label to preset_sel. Added rin to midi_out --- flow/proc_dict.cfg | 70 ++++++++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/flow/proc_dict.cfg b/flow/proc_dict.cfg index 83ae88a..4d6787a 100644 --- a/flow/proc_dict.cfg +++ b/flow/proc_dict.cfg @@ -20,10 +20,12 @@ midi_out: { doc: [ "MIDI output device."], vars: { - dev_label: { type:string, doc:"MIDI output device label."}, - port_label:{ type:string, doc:"MIDI output device port label."}, + dev_label: { type:string, flags:["init"], doc:"MIDI output device label."}, + port_label:{ type:string, flags:["init"], doc:"MIDI output device port label."}, buf_cnt: { type:uint, flags:["init"], value:64, doc:"MIDI message buffer count." }, - in: { type:midi, doc:"MIDI output port."} + in: { type:midi, doc:"MIDI messages to send."}, + rin: { type:record, fmt:{ required:["midi"]}, doc:"Record input. (must have 'midi' field)"}, + print_fl: { type:bool, value:false, doc:"Print the output to the console."} } } @@ -159,7 +161,10 @@ a220 : { hz:220 }, a440 : { hz:440 }, a880 : { hz:880 }, - mono: { ch_cnt:1, gain:0.75 } + mono: { ch_cnt:1, gain:0.75 }, + lfo1: { hz:1, phase:0.11 }, + lfo2: { hz:2, phase:0.22 }, + lfo3: { hz:3, phase:0.33 }, } } @@ -569,6 +574,8 @@ 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'." }, } } @@ -702,7 +709,8 @@ in: { type:midi, doc:"MIDI in" }, gain: { type:coeff, value:1.0, doc:"Audio gain." }, 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." }, done_fl: { type:bool, value:false, doc:"Triggers when voice is available."} } }, @@ -713,7 +721,7 @@ vars: { - in: { type:record, doc:"MIDI input."}, + in: { type:record, fmt:{ required:["midi"]} doc:"MIDI input."}, voice_cnt: { type:uint, value:3, flags:["init"], doc:"Count of voices." }, out: { type:midi, flags:["mult"], doc:"MIDI output to voices. One per voice." }, done_fl: { type:bool, value:false, flags:["mult"], doc:"Voice available feedback triggers from voices. One per voice."}, @@ -804,9 +812,6 @@ doc: [ "Generate MIDI and score location information from a score file." ] vars: { fname: { type:string, flags:["init"], value:"", doc:"Score file name." }, - vel_tbl_fname:{ type:string, flags:["init"], value:"", doc:"Velocity table filename as create by vwVelTableTuner." }, - vel_tbl_label:{ type:string, value:"", doc:"Name of the active velocity table referenced by 'vel_fname."}, - //out: { type:midi, doc:"MIDI output." }, loc: { type:uint, value:0, doc:"Score location output." }, done_fl: { type:bool, value:false, doc:"Emits true on done." }, out: { type:record, doc:"Score event record.", @@ -821,21 +826,20 @@ } }, - // out: { type:record - // fmt: { - // fields: { - // midi: { type:midi, doc:"MIDI channel event message."}, - // loc: { type:uint, value:-1, doc:"Score location id."}, - // meas: { type:uint, value:-1, doc:"Score measure location."} - // blah: { type:group, doc:"My group" - // fields: { - // foo: { type:float, value:3, doc:"Three, always three"} - // } - // } - // } - // } - - + vel_table: { + doc:[ "Remap MIDI velocity values."] + vars: { + vel_tbl_fname:{ type:string, flags:["init"], value:"", doc:"Velocity table filename as create by vwVelTableTuner." }, + vel_tbl_label:{ type:string, flags:["init"], value:"", doc:"Name of the active velocity table referenced by 'vel_fname'."}, + in: { type:record, fmt:{ required:["midi"]}, doc:"Record with 'midi' field."}, + out:{ type:record, doc:"Same as input record with midi velocity remapped according the velocity table." + fmt: { fields: { midi: { type:m3, doc:"MIDI channel event message" } }} + + } + recdbufN: { type:uint, flags:["init"], value:128, doc:"Internal record buffer size."} + } + } + score_follower: { doc:[ "MIDI score follower: Sets the 'loc' field of the output record according to the score location." ] vars: { @@ -855,14 +859,17 @@ preset_select: { doc:[ "Given a score location return a preset id and record."], vars: { - cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." }, - preset_proc: { type:string, flags:["init"], value:"", doc:"Proc containing a network to search for preset label->value mappings." }, - xf_cnt: { type:uint, flags:["init"], value:3, doc:"Transform channel count." }, - in: { type:record, doc:"Input record with 'loc' field." }, - fname: { type:string, flags:["init"], value:"", doc:"Preset file name."}, - loc: { type:uint, value:0, doc:"Seek to location." }, + cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." }, + preset_proc: { type:string, flags:["init"], value:"", doc:"Proc containing a network to search for preset label->value mappings." }, + xf_cnt: { type:uint, flags:["init"], value:3, doc:"Transform channel count." }, + in: { type:record, fmt:{ required:["loc"]} doc:"Input record with 'loc' field." }, + fname: { type:string, flags:["init"], value:"", doc:"Preset file name."}, + loc: { type:uint, value:0, doc:"Seek to location." }, - out_idx:{ type:uint, value:0, doc:"Transform output index." }, + out_idx: { type:uint, value:0, doc:"Transform output index." }, + preset_label: { type:string, value:"", doc:"Preset label to apply." } + + /* xf_args: { type:record, flags["mult"], doc:"Transform parameter record." fmt: { fields: { @@ -899,6 +906,7 @@ } } } + */ } presets: {