diff --git a/flow/proc_dict.cfg b/flow/proc_dict.cfg index a027964..ee0ba51 100644 --- a/flow/proc_dict.cfg +++ b/flow/proc_dict.cfg @@ -171,11 +171,10 @@ pv_analysis: { vars: { in: { type:audio, flags:["src"], doc:"Audio input." }, - maxWndSmpN: { type:uint, value: 512, doc:"Maximum window sample count." }, + maxWndSmpN: { type:uint, value: 1024, doc:"Maximum window sample count." }, wndSmpN: { type:uint, value: 512, doc:"Window sample count." }, hopSmpN: { type:uint, value: 128, doc:"Hop sample count." }, - hzFl: { type:bool, value: false, doc:"Calculate frequency via the method of phase changeof each bin." }, - //args: { type:record, doc:"Parameter record with fields 'wndSmpN' and 'hopSmpN'." }, + hzFl: { type:bool, value: false, doc:"Calculate frequency via the method of phase change of each bin." }, out: { type:spectrum, doc:"Spectrum output." } } @@ -192,62 +191,62 @@ } a: { - wndSmpN: 512, + wndSmpN: [512,1024], hopSmpN: 128 } b: { - wndSmpN: 512, + wndSmpN: [1024,512], hopSmpN: 128 } c: { - wndSmpN: 512, + wndSmpN: [512,1024], hopSmpN: 128 } d: { - wndSmpN: 512, + wndSmpN: [1024,512], hopSmpN: 128 } f_1: { - wndSmpN: 512, + wndSmpN: [512,1024], hopSmpN: 128 } f_2: { - wndSmpN: 512, + wndSmpN: [1024,512], hopSmpN: 128 } f_3: { - wndSmpN: 512, + wndSmpN: [512,1024], hopSmpN: 128 } f_4: { - wndSmpN: 512, + wndSmpN: [1024,512], hopSmpN: 128 } g: { - wndSmpN: 512, + wndSmpN: [512,1024], hopSmpN: 128 } g_a: { - wndSmpN: 512, + wndSmpN: [1024,512], hopSmpN: 128 } g_1_a: { - wndSmpN: 512, + wndSmpN: [512,1024], hopSmpN: 128 } g_1_d: { - wndSmpN: 512, + wndSmpN: [1024,512], hopSmpN: 128 } } @@ -736,8 +735,11 @@ in: { type:midi, doc:"MIDI in" }, out: { type:audio, doc:"Audio out" }, done_fl: { type:bool, value:false, doc:"Triggers when voice is available."}, - 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." }, + + load_thread_cnt: { type:uint, flags["init"], value:16, doc:"Count of threads to use for wave table loading." } } }, @@ -812,10 +814,16 @@ score_player: { doc: [ "Generate MIDI and score location information from a score file." ] vars: { - fname: { type:string, flags:["init"], value:"", doc:"Score file name." }, - 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.", + fname: { type:string, flags:["init"], value:"", doc:"Score file name." }, + stopping_ms: { type:uint, flags:["init"], value:5000, doc:"Maximum stopping time in milliseconds." }, + start: { type:all, value:false, doc:"Start playback" }, + stop: { type:all, value:false, doc:"Stop playback" }, + b_loc: { type:uint, value:0, doc:"Score begin location." }, + e_loc: { type:uint, value:0, doc:"Score end location." }, + b_meas: { type:uint, value:0, doc:"Score begin measure." }, + e_meas: { type:uint, value:0, doc:"Score end measure." }, + done_fl: { type:bool, value:false, doc:"Emits true on done." }, + out: { type:record, doc:"Score event record.", fmt: { fields: { midi: { type:m3, doc:"MIDI channel event message" }, @@ -858,17 +866,15 @@ preset_select: { - doc:[ "Given a score location return a preset id and record."], + doc:[ "Given a score location emit a preset label."], vars: { cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." }, - //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 this location." }, //out_idx: { type:uint, value:0, doc:"Transform output index." }, preset_label: { type:string, value:"", doc:"Preset label to apply." } - } presets: { @@ -887,9 +893,90 @@ default_master_wet_out_gain: 1.0, default_master_dry_gain: 1.0, default_master_sync_delay_ms: 400, // spirio 400 - }, + + + + } + } + + } + + gutim_ps: { + doc:[ "Given score location and MIDI note messages emit transform parameters."], + vars: { + cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." }, + fname: { type:string, flags:["init"], value:"", doc:"Preset file name."}, + in: { type:record, fmt:{ required:["loc"] }, doc:"Input record with 'loc' field." }, + loc: { type:uint, value:0, doc:"Seek to this location." }, + reset: { type:bool, 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." }, + + pri_prob_fl: { type:bool, 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_dry_on_play_fl: { type: bool, flags:["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_dry_on_sel_fl: { type: bool, flags:["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_dist: { type: float, flags:["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." }, + + sec_prob_fl: { type:bool, flags:["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_dry_on_play_fl: { type: bool, flags:["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_dry_on_sel_fl: { type: bool, flags:["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" }, + wnd_smp_cnt: { type:uint, value:512, flags:["mult","no_ui"], doc:"PVA window sample count" }, + ceiling: { type:coeff, value:20, flags:["mult","no_ui"], doc:"SD ceiling parameter" }, + expo: { type:coeff, value:2.0, flags:["mult","no_ui"], doc:"SD expo parameter" }, + thresh: { type:coeff, value:70.0, flags:["mult","no_ui"], doc:"SD thresh parameter" }, + upr: { type:coeff, value:0.0, flags:["mult","no_ui"], doc:"SD upr parameter" }, + lwr: { type:coeff, value:2.0, flags:["mult","no_ui"], doc:"SD lwr parameter" }, + mix: { type:coeff, value:0.0, flags:["mult","no_ui"], doc:"SD mix parameter" }, + c_igain: { type:coeff, value:1.0, flags:["mult","no_ui"], doc:"Compressor igain parameter" }, + c_ogain: { type:coeff, value:1.0, flags:["mult","no_ui"], doc:"Compressor ogain paramter" }, + dry_gain: { type:coeff, value:1.0, flags:["mult","no_ui"], doc:"Output gain." }, + } + + + presets: { + dry: { dry_gain:0 }, + a: { dry_gain:1.0 }, + b: { dry_gain:1.0 }, + c: { dry_gain:1.0 }, + d: { dry_gain:1.0 }, + f_1: { dry_gain:1.0 }, + f_2: { dry_gain:1.0 }, + f_3: { dry_gain:1.0 }, + f_4: { dry_gain:1.0 }, + g: { dry_gain:1.0 }, + g_a: { dry_gain:1.0 }, + g_1_a: { dry_gain:1.0 }, + g_1_d: { dry_gain:1.0 }, + + init: { + cfg: { + preset_labelL: [ "dry", "a", "b", "c", "d", "f1", "f2", "f3", "f4", "g", "ga", "g1a", "g1d" ], + + alt_labelL: [ "A","B","C","D","E","F","G" ], + + default_gain: 1.0, + default_wet_dry_gain: 0.5, + default_fade_ms: 50.0, + default_preset: "dry", + + default_master_wet_in_gain: 1.0, + default_master_wet_out_gain: 1.0, + default_master_dry_gain: 1.0, + default_master_sync_delay_ms: 400, // spirio 400 + }, + + + } } },