; ; downlink_dynamics.dspg ; graphName downlink_dynamics ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Macros ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [def IO_SAMPLE_RATE 48000] [def VOICE_INPUT_CHANNEL_COUNT 2] [def MIX_OUTPUT_CHANNEL_COUNT 2] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Constants ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; I/O ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; in VoiceInput out MixOutput ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Boxes ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; box Meister (aufx mstk appl) 1 1 [if [!= [VOICE_INPUT_CHANNEL_COUNT] [MIX_OUTPUT_CHANNEL_COUNT]] { box MixOutputChannelSelector (aufx clsl appl) 1 1 }{}] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Wires ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; wire VoiceInput Meister ([IO_SAMPLE_RATE] [VOICE_INPUT_CHANNEL_COUNT]) [if [== [VOICE_INPUT_CHANNEL_COUNT] [MIX_OUTPUT_CHANNEL_COUNT]] { wire Meister MixOutput ([IO_SAMPLE_RATE] [MIX_OUTPUT_CHANNEL_COUNT]) }{ wire Meister MixOutputChannelSelector ([IO_SAMPLE_RATE] [VOICE_INPUT_CHANNEL_COUNT]) wire MixOutputChannelSelector MixOutput ([IO_SAMPLE_RATE] [MIX_OUTPUT_CHANNEL_COUNT]) }]