diff --git a/src/caw/main.cfg b/src/caw/main.cfg index 15dae65..bf6b8ca 100644 --- a/src/caw/main.cfg +++ b/src/caw/main.cfg @@ -1,11 +1,13 @@ { - base_dir: "~/src/caw/examples", - proc_dict: "~/src/caw/src/libcw/flow/proc_dict.cfg", + base_dir: "~/src/caw/examples", + io_dict: "~/src/caw/src/caw/cfg/io.cfg" + proc_dict: "~/src/caw/src/libcw/flow/proc_dict.cfg", subnet_dict: "~/src/caw/src/libcw/flow/subnet_dict.cfg", programs: { rt_sine_00: { + network: { procs: { @@ -248,8 +250,134 @@ }, - + sample_gen_13: { + non_real_time_fl:false, + durLimitSecs: 30.0, + + network: { + procs: { + tempo: { class:number, args:{ in:2000.0 } }, + note_dur: { class:number, args:{ in:1000.0 } }, + + tmrA: { class: timer, in:{ period_ms:tempo.out } }, + cntA: { class: counter, in:{ trigger:tmrA.out }, args:{init:1, min:1, max:128, inc:7, repeat_fl:false, out_type:uint }}, + + tmrB: { class: timer, in:{ delay_ms:note_dur.out, period_ms:tempo.out } }, + zero: { class: number, in:{ trigger:tmrB.out }, args:{ in:0 }}, + + stop_cnt: { class: counter, in:{ trigger:zero.out }, args:{min:0, max:19, inc:1, repeat_fl:false } }, + stop: { class: halt, in:{ in:stop_cnt.upr_lim }}, + + vel: { class: number, in:{ in0:cntA.out, in1:zero.out }, args:{ out_type:uint }}, + + log: { class:print, in:{ in0:stop_cnt.out, in1:vel.out, eol_fl:vel.out },args:{ text:[ "i", "d1", ""] }}, + + + + note_msg: { class:midi_msg, in:{d1:vel.out, trigger:vel.out }, args:{ch:0, status:144, d0:60}}, + damp_msg: { class:midi_msg, args:{ch:0, status:176, d0:64}}, + mmerge: { class:midi_merge, in:{ in0:note_msg.out, in1:damp_msg.out }}, + mout: { class:midi_out in:{ in:mmerge.out} , args:{ dev_label:"MIDIFACE 2x2", port_label:"MIDIFACE 2x2 Midi Out 1" }} + + ain: { class: audio_in, args:{ dev_label:"main" }}, + split: { class: audio_split, in:{ in:ain.out } args:{ select: [0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1] }}, + mark: { class: audio_marker, in:{ in:split.out0, trigger:vel.out }}, + af: { class: audio_file_out, in:{ in:mark.out }, args:{ fname:"~/temp/samples1.wav"}}, + aout: { class: audio_out, in:{ in:ain.out }, args:{ dev_label:"main"}}, + + } + } + }, + + sample_gen_14: { + + non_real_time_fl:false, + + network: { + procs: { + tempo: { class: number, args:{ in:1500.0 } }, + tmrA: { class: timer, in:{ period_ms:tempo.out } }, + cntA: { class: counter, in:{ trigger:tmrA.out }, args:{ init:1, min:1, max:128, inc:7, repeat_fl:false, out_type:uint }}, + log: { class: print, in:{ in0:cntA.out, eol_fl:cntA.out }, args:{ text:["x",""] } }, + stop: { class: halt, in:{ in:cntA.upr_lim } } + + } + } + }, + + sample_gen_15: { + non_real_time_fl:false, + network: { + procs: { + mf: { class: midi_file, args:{ csv_fname:"~/temp/temp_midi.csv" }}, + mout: { class: midi_out in:{ in:mf.out }, args:{ dev_label:"MIDIFACE 2x2", port_label:"MIDIFACE 2x2 Midi Out 1" }}, + stop: { class: halt, in:{ in:mf.done_fl }} + + ain: { class: audio_in, args:{ dev_label:"main" }}, + split: { class: audio_split, in:{ in:ain.out } args:{ select: [0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1] }}, + af: { class: audio_file_out, in:{ in:split.out0 }, args:{ fname:"~/temp/samples.wav"}}, + aout: { class: audio_out, in:{ in:ain.out }, args:{ dev_label:"main"}}, + + } + } + }, + + midi_voice_16: { + non_real_time_fl:false, + network: { + procs: { + mf: { class: midi_file, args:{ csv_fname:"~/temp/temp_midi.csv" }}, + voc: { class: midi_voice, in: { in:mf.out } }, + stop: { class: halt, in:{ in:mf.done_fl }} + + af: { class: audio_file_out, in:{ in:voc.out }, args:{ fname:"~/temp/samples.wav"}}, + + } + } + }, + + + audio_mix_17: { + + network: { + + procs: { + oscA: { class:sine_tone, args:{ hz:100.0 }}, + oscB: { class:sine_tone, args:{ hz:101.0 }}, + amix: { class:audio_mix, in{ in0:oscA.out, in1:oscB.out }} + aout:{ class:audio_out, in:{ in:amix.out }, args:{ dev_label:"main"} } + } + } + } + + poly_voice_18: { + non_real_time_fl:false, + durLimitSecs:10, + + network: { + procs: { + + midi_in: { class:midi_in }, + + vctl: { class: poly_voice_ctl, in:{ in:midi_in.out }, args:{ voice_cnt:3 } }, + + voice_poly: { + class: poly, + args: { count:3 } + + network: { + procs: { + voc: { class:midi_voice, in:{ _.in:_.vctl.out_ } out:{ _.done_fl:_.vctl.done_fl_ } }, + } + } + } + + amix: { class: audio_mix, in:{ in_:voice_poly.voc_.out } }, + aout: { class: audio_out, in:{ in:amix.out }, args:{ dev_label:"main"}} + } + } + } }