Home › Forums › Products › Vsig and Preset Development › H9000+Vsig3 bugs
Tagged: bugs
- This topic has 50 replies, 5 voices, and was last updated 6 months ago by Puppeteer.
-
AuthorPosts
-
-
March 6, 2020 at 3:45 am #115812patchenParticipant
mknob(mkb) – Appearence setting do not work, always appear as round knobs with any setting of:
0 – numeric1 – horizontal fader2 – vertical fader3 – roundThis is true of Emote software and hardware interface -
March 6, 2020 at 5:50 am #154234patchenParticipant
Preset #654 – Vintage Delay is broken
Nothing but digital hash comes out of this one
-
March 6, 2020 at 4:27 pm #154240
Thanks much patchen for the bug reports, I'll make a note of these and look into them.
-David
-
April 8, 2020 at 3:21 pm #154550patchenParticipant
I unforutnatly encountered this last night.
Procedure:
1. Save sessions, aglrorithms, and presets to included usb thumb drive.
2. Hard reset of unit to diagnose possible hardware failure.
3. Restore of algorithms to H9k
Resut:
Algorithms seem to load into slots, but only show up as a ‘thru’ algorithm. Attempting to download algortithms to Vsig results in crash of Vsig.
Note:
These were modified factory algorithms, not made from scratch. Attempting to restore from usb drive a second time delivered the same result.
-
April 9, 2020 at 4:45 pm #154560
Hi patchen,
Could you send those sigfiles that didn't transfer properly to support@eventide.com, referencing this forum thread? We can take a look at them and determine what's going wrong.
Thanks,
David
-
April 9, 2020 at 6:36 pm #154561patchenParticipant
Done, Thank you David. I have been in contact and have an open ticket with Jerome. I’ve referenced that ticket as welll.
-
March 10, 2021 at 8:20 pm #157408John BayliesParticipant
Preset #654 – Vintage Delay sounds broken because the RATE parameter instantiates at 300Hz, despite having a default value of 1.11Hz.
The RATE parameter uses the sknob3 module, whose MERGE input has an initialization bug, which we're looking into.
Set the RATE parameter to 1.11Hz and the algorithm sounds fine.
-
September 21, 2021 at 8:20 am #158691PuppeteerParticipant
I’m having the same issue with all algorithms loading onto the H9000 as Thru.
I followed this tutorial https://www.youtube.com/watch?v=jTPCzBjj8iI and it loads as thru with no parameters or any functionality, and have tried to load a few of my own simple algorithms, with no luck at all.
If I download an algorithm from the H9000 and reupload it, then it seems to upload OK.
I’m using VSig 3.3.0 on Windows 10
H9000 is running firmware version 2.0.2[9]. I’m connected over hardwired LAN with DHCP, and emote seems to work well. I’ve had VSig crash a few times when downloading algorithms, but it seems to be pretty random.
Any suggestions to try. I’m really keen to get into algorithm building.
-
September 21, 2021 at 5:11 pm #158693John BayliesParticipant
Try using Vsig 3.3.2 https://www.eventideaudio.com/support/product/9106/installers
-
September 22, 2021 at 12:32 am #158700PuppeteerParticipant
The link on that page to the windows version actually downloads 3.3.0
-
September 22, 2021 at 4:05 pm #158703John BayliesParticipant
That's unfortunate. That'll be fixed soon. In the meantime, https://etide.io/6w8cc
-
September 23, 2021 at 7:24 am #158707PuppeteerParticipant
I’m getting the same behaviour with 3.3.2
The only difference is that the proper name flashes up before the algorithm is replaced with Thru.
I’ll uninstall completely and retry to see if I can get it working.
-
September 23, 2021 at 9:43 pm #158712John BayliesParticipant
Ok so,
If you make a new file in Vsig, save it, then open it in a text editor, it looks like this:
HEADM|adc|ninputs=2|noutputs=2|name=0|tag=0|nkids=1|out1=adc-null|out2=adc-null|kids1=adc-nullobj
TAIL|
—
adc| ;=30,30,100,0
tail|
If you open factory algorithms in a text editor and look after the TAIL| you'll usually see the initials of the person who made the algorithm.
That second lowercase tail| is superfluous, but that first uppercase TAIL| needs something after it, or else the algorithm will turn into a TRHU alg after being uploaded to the H9000.
So in Vsig 3.3, if you want to upload an algorithm that you started creating by clicking File > New File, you'll have to open the sigfile in a text editor and type anything after TAIL|
TAIL|patchen would work fine. Sorry about that.
-
September 24, 2021 at 4:40 pm #158717PuppeteerParticipant
That fixed the problem, thankyou.
Next question, is there a trick to getting a textblock called info to show some text when you right click on the algorithm in emote? I’m trying to copy factory programs, but no luck getting text to show.
-
September 25, 2021 at 5:48 pm #158721John BayliesParticipant
There's no trick for that yet, but that feature will certainly be added one day.
-
September 28, 2021 at 3:51 am #158736patchenParticipant
Hi there. I’ve got a new problem that has popped up upon updating to the Emote 2.0.4(5)
I’ve got several self created algorithms that use the tapknob that no longer work in Emote. This because the “steps’ setting did nothing prior to this release (and stills doesn’t seem to do anything on the H9000). Because of this and the lack of good documentation on the subject I didn’t really know what to set it to so sometimes just set it to 2. Now those knobs only have 2 states in Emote, although they work perfectly fine on the H9k.
I’d like to know if I need to worry if they are going to stop working correctly on the H9000 front panel at some point as well. I’ve used these algorithms in projects and since there is no real way to ‘update’ them in the H9000 I’d have to make whole new versions just for this one fix, which would be a real drag.
Thanks in advance for your help
-
September 28, 2021 at 4:27 pm #158737John BayliesParticipant
Thanks for bringing this up. I've never noticed this because I've always used a large number of steps for tapknob.
The documentation seems clear to me but I can understand that it'd be confusing since the behavior it describes was not present.
`steps` is similar to `resolution`
`resolution` defines the size of the steps, and then the number of steps is calculated automatically.
`steps` defines the number of steps, and then their sizes are calculated automatically.
Seems to me that as of emote 2.0.4.5, tapknob's step parameter is now functioning correctly in emote, but still does not operate correctly on the front panel. Eventually tapknobs on the front panel will indeed operate the same way as they do in emote, but that won't happen anytime soon, and even when it does, the H9K will always allow you to type in values that are between steps.
-
September 29, 2021 at 1:08 am #158747patchenParticipant
Ok, Thanks for this info John. Yes, it was confusing. Is there a ‘recommended’ number of steps for most cases where you want smooth behavior? Basically how much is too much, and how much is not enough?
Thanks!
-
September 29, 2021 at 1:12 am #158748patchenParticipant
Also, a better system for ‘updating’ a user created algorithm without duplicating it sure would be nice! I understand it may be no easy task.
If I were to take on the practice of version # iterating my algorithms it would be nice at the very least to have a ‘legacy’ folder in the H9k menu hierarchy. This way older versions of algorithms could be ‘hidden’ within it but any projects that need those old algos would still be able to find them.
-
September 29, 2021 at 3:18 pm #158757John BayliesParticipant
> Is there a 'recommended' number of steps for most cases where you want smooth behavior? Basically how much is too much, and how much is not enough?
It depends on what you're controlling with it.
For this sort of investigation I'd recommend downloading an alg that already has a tapknob, like SRV, and noting its values.
1000 steps from 20 to 20000 Hz is enough for me, but if you highlight the `steps` parameter and look at the bottom of the sidebar, you'll see that parameter's min and max, which goes up to 32767 steps.
> Also, a better system for 'updating' a user created algorithm without duplicating it sure would be nice! I understand it may be no easy task.
Currently the only way to do that is with Vsig's `Send To FX Chain 1 Slot 1`, which does not save the alg to the h9k, but does instantiate it in an FX Chain, which allows for easy prototyping, aside from the non-persistent presets and mappings. The implementation of the ability to update user-created algs without losing presets is something we're keeping in mind.
> If I were to take on the practice of version # iterating my algorithms it would be nice at the very least to have a 'legacy' folder in the H9k menu hierarchy. This way older versions of algorithms could be 'hidden' within it but any projects that need those old algos would still be able to find them.
Folders for the Browser is something we're keeping in mind as well.
-
November 3, 2021 at 6:40 am #159950PuppeteerParticipant
Bug with the module documentation
Under Bridge: a_to_c appears twice. Both of them give the biquad documentation when selected.
-
November 3, 2021 at 11:15 am #159951John BayliesParticipant
Bug with the module documentation Under Bridge: a_to_c appears twice. Both of them give the biquad documentation when selected.
upgrade to vsig 3.3.3
-
April 15, 2022 at 11:52 am #163450patchenParticipant
Hi ya’ll.
The midi clock module is still broken. I reported this issue with reproduction steps and attached Vsig files back in October but never heard anything back from support …..which was frustrating, but understandable. (AUD-39086). I sent another follow up email to that thread a week ago and have received no reply.
In short, MIDI sync doesn’t, and hasn’t worked when you need actual clock info for building loopers. With current software/firmware Sync always drifts, and often ‘glitches’ no matter how you set it up.
Here are some of the things I have tried:
-Tempo Mode set to DAW-Tempo Mode set to MIDI clock, both USB and DIN tested
-Sending Midi Clock From Logic Pro, (every possible permutation of sync options tried multiple times)
-Sending MIDI clock from Arturia Keystep connected directly to the H9K with no interface or DAW in between, direct cable connection
DAW mode is altogether useless and all of the clock methods drift out of sync or ‘glitch’, sometimes after a few seconds, sometimes after a couple minutes.
Mac OS 12.3.1
Logic 10.7.3
Aggregate audio device via USB; Lynx Hilo and H9k.
Emote 2.0.5{1}
H9K 2.0.5{2}
I’ve attached the VSIG file I sent back in October to test with.
-
April 15, 2022 at 3:07 pm #163459John BayliesParticipant
Hi Patchen, sorry for not getting back to you on this.
I just tested this in a few ways w/ Emote 2.0.5[1], H9000 2.0.5[2], macOS 11.6.5. Here are my results:
- Emote plugin, TEMPO MODE = DAW, Ableton Live 11
The MIDICLOCK module’s BPMOUT precisely follows the DAW’s tempo while Emote is active as a plugin in the DAW and the algorithm’s TEMPO MODE is on. BEATOUT drifts from the DAW’s metronome, and STARTOUT and STOPOUT don’t respond to the DAW’s transport.
- Emote standalone, TEMPO MODE = midi clock, Ableton Live 11 -> USB to MIDI DIN adapter
The MIDICLOCK module’s BPMOUT imprecisely follows the DAW’s tempo while the algorithm’s TEMPO MODE is on. BEATOUT does not drift from the DAW’s metronome, and STARTOUT and STOPOUT respond to the DAW’s transport.
- Emote standalone, TEMPO MODE = midi clock, Ableton Live 11 -> H9000 USB Audio
The MIDICLOCK module’s BPMOUT imprecisely follows the DAW’s tempo while the algorithm’s TEMPO MODE is on. BEATOUT does not drift from the DAW’s metronome, and STARTOUT and STOPOUT respond to the DAW’s transport.
Here’s the sigfile that I used to test the MIDICLOCK module with. I let it run for about 10 minutes to check for drift, and it seemed fine when the H9000’s TEMPO MODE = midi clock. How are you hooking the MIDICLOCK module up to your looper?
-
April 15, 2022 at 4:44 pm #163461studionebulaParticipant
Some documentation issues found while using VSig 3.3.3 on Windows:
No documentation at all for these modules:
- tjknobs
- presetchange
- auxxin
simpletone: high-frequency range is incorrectly stated as the same as the low-frequency range
surroundfeedbackcontroller: Text isn’t wrapped so it’s unreadable
distort: it would be nice if even a teeny bit of info about the different curves were present. I went to the length of running ramp waves through the thing and looking at the output with an oscilloscope plugin. It appears that the first is a relatively soft clipping curve while the rest are more extreme boost/clip curves.
Forgive my nit-picking but I used to make a living writing technical documentation and I still have to write the manuals for my own company. 🙂
-
April 15, 2022 at 5:13 pm #163462patchenParticipant
Hi John,
I’ve tried your test algo. and it behaves the same as mine. FWIW my clock module is setup differently, I have nothing connected to any of the inputs or audio rate outputs but that doesn’t appear to matter. I’ve now tried using emote in standalone, but before I wasn’t using it at all, just looking at the front panel of the unit.
The beat counter occasionally glitches/hangs but then catches back up. However, it eventually just starts running behind the beat.
The ‘beat’ output is what is crucial to my looper. I’m using it in conjunction with ‘Start’ and ‘Stop’ outputs to control the looper.
Thanks for your help on this. Really hope to get this sorted soon.
-
April 15, 2022 at 5:16 pm #163463patchenParticipant
Speaking of documentation, it might help us if the MidiClock module actually had complete documentation……
-
April 15, 2022 at 5:39 pm #163464patchenParticipant
deleted
-
April 15, 2022 at 6:33 pm #163465patchenParticipant
I’ve double checked this now. It may be my looper algo but I’m not sure how. I can send it to you to test but since there is also a long standing text trigger bug that remains unfixed you won’t be able to use it via emote. Front panel usage only. I’ve tested midi sync with both Logic and an Arturia key step sending clock directly to the H9k.
What happens is eventually sync kind of ‘pops’ out of place and notes are delayed. A reset is the only solution at that point. Sometimes it happens within seconds, sometimes not for minutes. It’s maddeningly inconsistent and I’ve spent many hours trying to track it down. It seems like, but it’s hard to tell, that the longer the algorithm has been loaded the quicker it goes out of sync.
Here is the looper Sig file inline:
HEADM|adc|ninputs=2|noutputs=8|name=0|tag=0|nkids=1|out1=Sum:1-out|out2=Sum:2-out|out3=Sum:3-out|out4=Sum:4-out|out5=Sum:5-out|out6=Sum:6-out|out7=Sum:7-out|out8=Sum:8-out|kids1=uo_switch:1-obj
MIDICLOCK|_midiclock>>|time_in=500|freq_in=1|start_in=0|stop_in=0|remote_mode=0|clock_in=1
C_ADDER|>FromStop:1|ninputs=2|in1=_midiclock>>-stop_out|in2=0
C_ADDER|>FromBeat:1|ninputs=2|in1=_midiclock>>-beat_out|in2=0
KNOB|Beats:1|statement=ReTrigger Beats:%1.f|name=0|min=2|max=128|res=1|default=8
C_SUBTRACT|c_subtract:1|in1=Beats:1-out|in2=2
C_COMPARATOR|c_comparator:1|in1=BeatCounter:1-out|in2=c_subtract:1-out
C_ADDER|Clock_Stop_In:1|ninputs=2|in1=>FromStop:1-out|in2=c_comparator:1-out
C_ADDER|Add_Reset_Signal_to_clock_signal_for_reset|ninputs=2|in1=>FromBeat:1-out|in2=>FromStop:1-out
C_RESET|Ignore_first_otherwise_starts_recording_on_Load|time=100
C_AND|Gate_for_ignore_first>>|in1=Add_Reset_Signal_to_clock_signal_for_reset-out|in2=Ignore_first_otherwise_starts_recording_on_Load-nout
C_COUNT2|BeatCounter:1|clock=Gate_for_ignore_first>>-out|incr=1|maxcount=32000|reset=Clock_Stop_In:1-out
C_CMP2|Send_signal_on_first_beat|in1=BeatCounter:1-out|in2=1
TEXTTRIGGER|Record_Trigger:1|nstrings=4|textnum=Process_status_signal_for_text_trigger-out|text1=Stop|text2=Set Loop|text3=Play|text4=Overdub
TRIGGER|Clear:1|name=CLEAR|statement=Clear|tag=Clear
C_ADDER|Record_button_mixed_here_to_increase_count|ninputs=3|in1=ArmSwitch-out|in2=Clear:1-out|in3=Record_Trigger:1-out
C_COUNT2|Counter_for_inital_auto_record_mechanism|clock=Record_button_mixed_here_to_increase_count-out|incr=1|maxcount=4|reset=Clear:1-out
C_CMP2|Only_count_first_2_beat_1_signls|in1=Counter_for_inital_auto_record_mechanism-out|in2=2
C_AND|Once_first_2_beat_1_signals_have_played_allow_loop_retrigger|in1=Send_signal_on_first_beat-eq|in2=Only_count_first_2_beat_1_signls-ge
TEXTTRIGGER|AutoloopArm:1|nstrings=2|textnum=Disable_arm_on_first_loop_retrigger-out|text1=Arm Autoloop|text2=Armed
C_ADDER|Clear_button_Also_Disables_Autoarm|ninputs=2|in1=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger-out|in2=Clear:1-out
C_FLOP|Disable_arm_on_first_loop_retrigger|reset=Clear_button_Also_Disables_Autoarm-out|set=0|toggle=AutoloopArm:1-out
C_MULTIPLY|ArmSwitch|in1=Send_signal_on_first_beat-eq|in2=Disable_arm_on_first_loop_retrigger-out
C_AND|Gate_open_for_1st_2_beat1_triggers|in1=ArmSwitch-out|in2=Only_count_first_2_beat_1_signls-le
C_ADDER|Mix_Beat_Triggers_with_record_button|ninputs=2|in1=Gate_open_for_1st_2_beat1_triggers-out|in2=Record_Trigger:1-out
C_ADDER|RecTrigAdder:1|ninputs=2|in1=Record_Trigger:1-out|in2=AuTrgMath5:1-out
C_ADDER|Mix_Free&Sync_Rec_Triggers:1|ninputs=2|in1=Mix_Beat_Triggers_with_record_button-out|in2=RecTrigAdder:1-out
C_TO_A|RecTrigConvert:1|in=Mix_Free&Sync_Rec_Triggers:1-out
C_TO_A|c_to_a:2|in=Clear:1-out
TEXTKNOB|OneShotPlay:1|statement=One Shot: %s|name=Direction|nchoices=2|default=0|choices1=OFF|choices2=ON
C_OSWITCH|OneShotSwitch|noutputs=2|select=OneShotPlay:1-out|in=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger-out|defaultout1=0|defaultout2=0
TEXTKNOB|_ModeSwitch>|statement=Looper Mode:%s|name=0|nchoices=2|default=0|choices1=Sync|choices2=Free
C_ADDER|>FromModeSw:1|ninputs=2|in1=_ModeSwitch>-out|in2=0
C_NOT|c_not:1|in=>FromModeSw:1-out
C_AND|Dont_allow_loopRetrigger_if_in_FreeMode:1|in1=c_not:1-out|in2=OneShotSwitch-out1
C_TO_A|LoopConvert:1|in=Dont_allow_loopRetrigger_if_in_FreeMode:1-out
TEXTKNOB|Direction:1|statement=Direction: %s|name=Direction|nchoices=2|default=0|choices1=Forward|choices2=Reverse
C_TABLE|DirectionMath1:1|nentries=2|select=Direction:1-out|in1=1|in2=-1
KNOB|Speed:1|statement=Pitch:%2.0f|name=Speed|min=-60|max=0|res=1|default=0
C_ADDER|SpeedMath1:1|ninputs=2|in1=Speed:1-out|in2=60
C_TABLE|SpeedMath2:1|nentries=61|select=SpeedMath1:1-out|in1=3.125|in2=3.311|in3=3.508|in4=3.716|in5=3.938|in6=4.172|in7=4.42|in8=4.683|in9=4.961|in10=5.256|in11=5.569|in12=5.9|in13=6.25|in14=6.622|in15=7.016|in16=7.433|in17=7.875|in18=8.344|in19=8.84|in20=9.365|in21=9.92|in22=10.51|in23=11.14|in24=11.8|in25=12.5|in26=13.24|in27=14.03|in28=14.87|in29=15.75|in30=16.69|in31=17.68|in32=18.73|in33=19.84|in34=21.02|in35=22.27|in36=23.6|in37=25|in38=26.49|in39=28.06|in40=29.73|in41=31.5|in42=33.37|in43=35.36|in44=37.46|in45=39.69|in46=42.05|in47=44.55|in48=47.2|in49=50|in50=52.98|in51=56.13|in52=59.47|in53=63|in54=66.75|in55=70.71|in56=74.92|in57=79.38|in58=84.1|in59=89.1|in60=94.4|in61=100
C_MULTIPLY|SpeednDirectn:1|in1=SpeedMath2:1-out|in2=DirectionMath1:1-out
TRIGGER|Undo:1|name=Undo|statement=Undo|tag=Undo
C_TO_A|c_to_a:4|in=Undo:1-out
KNOB|TrimEnd:1|statement=Trim End:%3.2f%%|name=0|min=-100|max=0|res=.01|default=0
C_DIVIDE|c_divide:9|in1=TrimEnd:1-out|in2=100
C_MULTIPLY|c_multiply:1|in1=dlysmp2n:1-reclength|in2=c_divide:9-out
TEXTKNOB|InSelect:1|statement=Input Select:%s|name=0|nchoices=4|default=0|choices1=Input|choices2=B Loop Resamp|choices3=C Loop Resamp|choices4=D Loop Resamp
ISWITCH|In_Switch_R:1|numins=4|select=InSelect:1-out|in1=adc-in2|in2=Filter_R:2-out|in3=Filter_R:3-out|in4=Filter_R:4-out
ISWITCH|In_Switch_L:1|numins=4|select=InSelect:1-out|in1=adc-in1|in2=Filter_L:2-out|in3=Filter_L:3-out|in4=Filter_L:4-out
TAPKNOB|SpliceFade:1|statement=Splice Fade:%3.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
TAPKNOB|DubFade:1|statement=Dub Fade:%4.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
C_NOT|InvertShotSignal|in=OneShotPlay:1-out
C_1SHOT|Send_Play_Signal_When_OneShot_turns_Off|in=InvertShotSignal-out
C_ADDER|Mix_in_Shot_Off_Play_Signal|ninputs=2|in1=OneShotSwitch-out2|in2=Send_Play_Signal_When_OneShot_turns_Off-out
C_AND|Dont_allow_PlayTrigger_if_in_FreeMode:1|in1=c_not:1-out|in2=Mix_in_Shot_Off_Play_Signal-out
C_1SHOT|c_1shot:1|in=>FromModeSw:1-out
C_AND|Send_signal_if_OneShotMode_turned_On|in1=c_1shot:1-out|in2=OneShotPlay:1-out
C_ADDER|Mix_Play_Signal_at_Switch_to_Free_Mode|ninputs=2|in1=Send_signal_if_OneShotMode_turned_On-out|in2=Dont_allow_PlayTrigger_if_in_FreeMode:1-out
C_TO_A|PlayConvert:1|in=Mix_Play_Signal_at_Switch_to_Free_Mode-out
KNOB|TrimStart:1|statement=Trim Start:%3.2f%%|name=0|min=0|max=100|res=.01|default=0
C_DIVIDE|c_divide:10|in1=TrimStart:1-out|in2=100
C_MULTIPLY|c_multiply:2|in1=dlysmp2n:1-reclength|in2=c_divide:10-out
KNOB|Decay:1|statement=Decay:%3.0f%%|name=Decay|min=0|max=100|res=1|default=100
C_MULTIPLY|DecayInvert1:1|in1=Decay:1-out|in2=-1
C_ADDER|c_adder:3|ninputs=2|in1=DecayInvert1:1-out|in2=100
C_SWITCH|OneShot_not_allowed_in_free_mode|ninputs=2|select=>FromModeSw:1-out|in1=InvertShotSignal-out|in2=1
DLYSMP2N|dlysmp2n:1|numtracks=2|maxdelay=500|maxsplice=100|rectrigger=RecTrigConvert:1-out|stoptrigger=c_to_a:2-out|playtrigger=PlayConvert:1-out|looptrigger=LoopConvert:1-out|undo_redo=c_to_a:4-out|begin_mod=adc-null|end_mod=adc-null|maxlength=124.9|beginpt=c_multiply:2-out|endpt=c_multiply:1-out|dubfade=DubFade:1-out|splicelength=SpliceFade:1-out|playspeed=SpeednDirectn:1-out|decay=c_adder:3-out|loopmode=OneShot_not_allowed_in_free_mode-out|playmode=0|timeoutmode=1|dubmode=0|in1=In_Switch_L:1-out|in2=In_Switch_R:1-out
C_DIVIDE|Process_status_signal_for_text_trigger|in1=dlysmp2n:1-statusout|in2=4
C_DIVIDE|c_divide:1|in1=dlysmp2n:1-position|in2=dlysmp2n:1-reclength
C_MERGE|ClearButton_Resets_Display:1|ninputs=2|in1=c_divide:1-out|in2=Clear:1-out
HMONITOR|LoopPosition:1|in=ClearButton_Resets_Display:1-out|minimum=0.0|maximum=1.0|name=Loop Position|tag=Loop Position
TEXTKNOB|OutSelect:1|statement=Output Assign:%s|name=0|nchoices=4|default=0|choices1=1 + 2|choices2=3 + 4|choices3=5 + 6|choices4=7 + 8
KNOB|Pan1:1|statement=Pan:%1.0f|name=0|min=-50|max=50|res=1|default=0
TAPKNOB|Volume1:1|statement=Volume:%1.1f db|name=0|min=-100|max=0|steps=200|default=0|taper=3|alpha=1
C_DIVIDE|c_divide:2|in1=Pan1:1-out|in2=25
C_ADDER|c_adder:4|ninputs=2|in1=c_divide:2-out|in2=1
C_ADDER|c_adder:5|ninputs=2|in1=c_divide:2-out|in2=-1
C_ABS|PanLaw1:1|input=Pan1:1-out
C_DIVIDE|PanLaw2:1|in1=PanLaw1:1-output|in2=-16
C_ADDER|MixPanning:1|ninputs=2|in1=Volume1:1-out|in2=PanLaw2:1-out
TEXTKNOB|MuteSwitch:1|statement=A:%s|name=0|nchoices=2|default=1|choices1=Mute|choices2=Active
C_SWITCH|MuteSel:1|ninputs=2|select=MuteSwitch:1-out|in1=-100|in2=MixPanning:1-out
STEREOMIXER|stereomixer:1|ninputs=2|time_constant=20|clipvalue=10000|processoff=0|in1=dlysmp2n:1-out1|in2=dlysmp2n:1-out2|gain1=MuteSel:1-out|gain2=MuteSel:1-out|pan1=c_adder:5-out|pan2=c_adder:4-out
TEXTKNOB|FilterType:1|statement=Filter Type:%s|name=0|nchoices=3|default=0|choices1=Bypass|choices2=Lowpass|choices3=Highpass
C_TABLE|c_table:1|nentries=3|select=FilterType:1-out|in1=10|in2=8|in3=1
TAPKNOB|Q:1|statement=Q:%2.2f|name=0|min=.5|max=20|steps=300|default=.8|taper=2|alpha=1
TAPKNOB|Frequency:1|statement=Cutoff:%4.1fHz|name=0|min=20|max=20000|steps=1000|default=2700|taper=2|alpha=1
EQS|Filter_R:1|neqs=1|clipvalue=10000|in=stereomixer:1-right|processoff=0|freq1=Frequency:1-out|qfactor1=Q:1-out|boost1=0|type1=c_table:1-out
EQS|Filter_L:1|neqs=1|clipvalue=10000|in=stereomixer:1-left|processoff=0|freq1=Frequency:1-out|qfactor1=Q:1-out|boost1=0|type1=c_table:1-out
OSWITCH|LSwitch:1|numouts=4|in=Filter_L:1-out|select=OutSelect:1-out
OSWITCH|RSwitch:1|numouts=4|in=Filter_R:1-out|select=OutSelect:1-out
MENUPAGE|Sync_Pg1:1|name=A_LOOP_A|tag=0|nsubuos=8|obj1=Record_Trigger:1-obj|obj2=Clear:1-obj|obj3=Undo:1-obj|obj4=Decay:1-obj|obj5=AutoloopArm:1-obj|obj6=Beats:1-obj|obj7=OneShotPlay:1-obj|obj8=LoopPosition:1-obj
MENUPAGE|Playback:1|name=A_Playback_A|tag=0|nsubuos=8|obj1=Direction:1-obj|obj2=Speed:1-obj|obj3=TrimStart:1-obj|obj4=TrimEnd:1-obj|obj5=FilterType:1-obj|obj6=Frequency:1-obj|obj7=Q:1-obj|obj8=LoopPosition:1-obj
MENUPAGE|Mix-Details:1|name=A_Mix/Details_A|tag=0|nsubuos=7|obj1=Volume1:1-obj|obj2=Pan1:1-obj|obj3=SpliceFade:1-obj|obj4=DubFade:1-obj|obj5=InSelect:1-obj|obj6=OutSelect:1-obj|obj7=LoopPosition:1-obj
TAPKNOB|Global_Threshold:1|statement=Auto Threshld:%0.3f%|name=0|min=.00002|max=.2|steps=300|default=.002|taper=1|alpha=1
MENUPAGE|Global|name=Global Settings|tag=0|nsubuos=2|obj1=_ModeSwitch>-obj|obj2=Global_Threshold:1-obj
TEXTTRIGGER|Auto_Thresh_Arm_freemode:1|nstrings=2|textnum=Hitting_record_disables_Auto_threshold_record:1-out|text1=Arm Auto Thresh|text2=Armed
MENUPAGE|Free_Pg1:1|name=A_LOOP_A|tag=0|nsubuos=6|obj1=Record_Trigger:1-obj|obj2=Clear:1-obj|obj3=Undo:1-obj|obj4=Decay:1-obj|obj5=Auto_Thresh_Arm_freemode:1-obj|obj6=LoopPosition:1-obj
C_NOT|input_from_StatusOut_Freemode:1|in=dlysmp2n:1-statusout
ADD|In_from_ADC:1|clipvalue=10000|in1=adc-in1|in2=adc-in2
ONESHOT|AuTrgMath1:1|in=In_from_ADC:1-out|time=10|threshold=Global_Threshold:1-out
A_TO_C|_AudioTrigOut>|in=AuTrgMath1:1-out
C_ADDER|>FromAudioTrg:1|ninputs=2|in1=_AudioTrigOut>-out|in2=Record_Trigger:1-out
C_FLOP|Hitting_record_disables_Auto_threshold_record:1|reset=RecTrigAdder:1-out|set=0|toggle=Auto_Thresh_Arm_freemode:1-out
C_AND|AudioTrgIn:1|in1=Hitting_record_disables_Auto_threshold_record:1-out|in2=input_from_StatusOut_Freemode:1-out
C_COUNT2|AuTrgMath4:1|clock=>FromAudioTrg:1-out|incr=1|maxcount=AudioTrgIn:1-out|reset=Clear:1-out
C_1SHOT|AuTrgMath5:1|in=AuTrgMath4:1-out
C_ADDER|>FromStop:2|ninputs=2|in1=_midiclock>>-stop_out|in2=0
C_ADDER|>FromBeat:2|ninputs=2|in1=_midiclock>>-beat_out|in2=0
KNOB|Beats:2|statement=ReTrigger Beats:%1.f|name=0|min=2|max=128|res=1|default=8
C_SUBTRACT|c_subtract:2|in1=Beats:2-out|in2=2
C_COMPARATOR|c_comparator:2|in1=BeatCounter:2-out|in2=c_subtract:2-out
C_ADDER|Clock_Stop_In:2|ninputs=2|in1=>FromStop:2-out|in2=c_comparator:2-out
C_ADDER|Add_Reset_Signal_to_clock_signal_for_reset:1|ninputs=2|in1=>FromBeat:2-out|in2=>FromStop:2-out
C_RESET|Ignore_first_otherwise_starts_recording_on_Load:1|time=100
C_AND|Gate_for_ignore_first>>:1|in1=Add_Reset_Signal_to_clock_signal_for_reset:1-out|in2=Ignore_first_otherwise_starts_recording_on_Load:1-nout
C_COUNT2|BeatCounter:2|clock=Gate_for_ignore_first>>:1-out|incr=1|maxcount=32000|reset=Clock_Stop_In:2-out
C_CMP2|Send_signal_on_first_beat:1|in1=BeatCounter:2-out|in2=1
TEXTTRIGGER|Record_Trigger:2|nstrings=4|textnum=Process_status_signal_for_text_trigger:1-out|text1=Stop|text2=Set Loop|text3=Play|text4=Overdub
TRIGGER|Clear:2|name=CLEAR|statement=Clear|tag=Clear
C_ADDER|Record_button_mixed_here_to_increase_count:1|ninputs=3|in1=ArmSwitch:1-out|in2=Clear:2-out|in3=Record_Trigger:2-out
C_COUNT2|Counter_for_inital_auto_record_mechanism:1|clock=Record_button_mixed_here_to_increase_count:1-out|incr=1|maxcount=4|reset=Clear:2-out
C_CMP2|Only_count_first_2_beat_1_signls:1|in1=Counter_for_inital_auto_record_mechanism:1-out|in2=2
C_AND|Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:1|in1=Send_signal_on_first_beat:1-eq|in2=Only_count_first_2_beat_1_signls:1-ge
TEXTTRIGGER|AutoloopArm:2|nstrings=2|textnum=Disable_arm_on_first_loop_retrigger:1-out|text1=Arm Autoloop|text2=Armed
C_ADDER|Clear_button_Also_Disables_Autoarm:1|ninputs=2|in1=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:1-out|in2=Clear:2-out
C_FLOP|Disable_arm_on_first_loop_retrigger:1|reset=Clear_button_Also_Disables_Autoarm:1-out|set=0|toggle=AutoloopArm:2-out
C_MULTIPLY|ArmSwitch:1|in1=Send_signal_on_first_beat:1-eq|in2=Disable_arm_on_first_loop_retrigger:1-out
C_AND|Gate_open_for_1st_2_beat1_triggers:1|in1=ArmSwitch:1-out|in2=Only_count_first_2_beat_1_signls:1-le
C_ADDER|Mix_Beat_Triggers_with_record_button:1|ninputs=2|in1=Gate_open_for_1st_2_beat1_triggers:1-out|in2=Record_Trigger:2-out
C_ADDER|RecTrigAdder:2|ninputs=2|in1=Record_Trigger:2-out|in2=AuTrgMath5:2-out
C_ADDER|Mix_Free&Sync_Rec_Triggers:2|ninputs=2|in1=Mix_Beat_Triggers_with_record_button:1-out|in2=RecTrigAdder:2-out
C_TO_A|RecTrigConvert:2|in=Mix_Free&Sync_Rec_Triggers:2-out
C_TO_A|c_to_a:3|in=Clear:2-out
TEXTKNOB|OneShotPlay:2|statement=One Shot: %s|name=Direction|nchoices=2|default=0|choices1=OFF|choices2=ON
C_OSWITCH|OneShotSwitch:1|noutputs=2|select=OneShotPlay:2-out|in=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:1-out|defaultout1=0|defaultout2=0
C_ADDER|>FromModeSw:2|ninputs=2|in1=_ModeSwitch>-out|in2=0
C_NOT|c_not:2|in=>FromModeSw:2-out
C_AND|Dont_allow_loopRetrigger_if_in_FreeMode:2|in1=c_not:2-out|in2=OneShotSwitch:1-out1
C_TO_A|LoopConvert:2|in=Dont_allow_loopRetrigger_if_in_FreeMode:2-out
TEXTKNOB|Direction:2|statement=Direction: %s|name=Direction|nchoices=2|default=0|choices1=Forward|choices2=Reverse
C_TABLE|DirectionMath1:2|nentries=2|select=Direction:2-out|in1=1|in2=-1
KNOB|Speed:2|statement=Pitch:%2.0f|name=Speed|min=-60|max=0|res=1|default=0
C_ADDER|SpeedMath1:2|ninputs=2|in1=Speed:2-out|in2=60
C_TABLE|SpeedMath2:2|nentries=61|select=SpeedMath1:2-out|in1=3.125|in2=3.311|in3=3.508|in4=3.716|in5=3.938|in6=4.172|in7=4.42|in8=4.683|in9=4.961|in10=5.256|in11=5.569|in12=5.9|in13=6.25|in14=6.622|in15=7.016|in16=7.433|in17=7.875|in18=8.344|in19=8.84|in20=9.365|in21=9.92|in22=10.51|in23=11.14|in24=11.8|in25=12.5|in26=13.24|in27=14.03|in28=14.87|in29=15.75|in30=16.69|in31=17.68|in32=18.73|in33=19.84|in34=21.02|in35=22.27|in36=23.6|in37=25|in38=26.49|in39=28.06|in40=29.73|in41=31.5|in42=33.37|in43=35.36|in44=37.46|in45=39.69|in46=42.05|in47=44.55|in48=47.2|in49=50|in50=52.98|in51=56.13|in52=59.47|in53=63|in54=66.75|in55=70.71|in56=74.92|in57=79.38|in58=84.1|in59=89.1|in60=94.4|in61=100
C_MULTIPLY|SpeednDirectn:2|in1=SpeedMath2:2-out|in2=DirectionMath1:2-out
TRIGGER|Undo:2|name=Undo|statement=Undo|tag=Undo
C_TO_A|c_to_a:5|in=Undo:2-out
KNOB|TrimEnd:2|statement=Trim End:%3.2f%%|name=0|min=-100|max=0|res=.01|default=0
C_DIVIDE|c_divide:11|in1=TrimEnd:2-out|in2=100
C_MULTIPLY|c_multiply:3|in1=dlysmp2n:2-reclength|in2=c_divide:11-out
TEXTKNOB|InSelect:2|statement=Input Select:%s|name=0|nchoices=4|default=0|choices1=Input|choices2=A Loop Resamp|choices3=C Loop Resamp|choices4=D Loop Resamp
ISWITCH|In_Switch_R:2|numins=4|select=InSelect:2-out|in1=adc-in2|in2=Filter_R:1-out|in3=Filter_R:3-out|in4=Filter_R:4-out
ISWITCH|In_Switch_L:2|numins=4|select=InSelect:2-out|in1=adc-in1|in2=Filter_L:1-out|in3=Filter_L:3-out|in4=Filter_L:4-out
TAPKNOB|SpliceFade:2|statement=Splice Fade:%3.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
TAPKNOB|DubFade:2|statement=Dub Fade:%4.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
C_NOT|InvertShotSignal:1|in=OneShotPlay:2-out
C_1SHOT|Send_Play_Signal_When_OneShot_turns_Off:1|in=InvertShotSignal:1-out
C_ADDER|Mix_in_Shot_Off_Play_Signal:1|ninputs=2|in1=OneShotSwitch:1-out2|in2=Send_Play_Signal_When_OneShot_turns_Off:1-out
C_AND|Dont_allow_PlayTrigger_if_in_FreeMode:2|in1=c_not:2-out|in2=Mix_in_Shot_Off_Play_Signal:1-out
C_1SHOT|c_1shot:2|in=>FromModeSw:2-out
C_AND|Send_signal_if_OneShotMode_turned_On:1|in1=c_1shot:2-out|in2=OneShotPlay:2-out
C_ADDER|Mix_Play_Signal_at_Switch_to_Free_Mode:1|ninputs=2|in1=Send_signal_if_OneShotMode_turned_On:1-out|in2=Dont_allow_PlayTrigger_if_in_FreeMode:2-out
C_TO_A|PlayConvert:2|in=Mix_Play_Signal_at_Switch_to_Free_Mode:1-out
KNOB|TrimStart:2|statement=Trim Start:%3.2f%%|name=0|min=0|max=100|res=.01|default=0
C_DIVIDE|c_divide:12|in1=TrimStart:2-out|in2=100
C_MULTIPLY|c_multiply:4|in1=dlysmp2n:2-reclength|in2=c_divide:12-out
KNOB|Decay:2|statement=Decay:%3.0f%%|name=Decay|min=0|max=100|res=1|default=100
C_MULTIPLY|DecayInvert1:2|in1=Decay:2-out|in2=-1
C_ADDER|c_adder:6|ninputs=2|in1=DecayInvert1:2-out|in2=100
C_SWITCH|OneShot_not_allowed_in_free_mode:1|ninputs=2|select=>FromModeSw:2-out|in1=InvertShotSignal:1-out|in2=1
DLYSMP2N|dlysmp2n:2|numtracks=2|maxdelay=500|maxsplice=100|rectrigger=RecTrigConvert:2-out|stoptrigger=c_to_a:3-out|playtrigger=PlayConvert:2-out|looptrigger=LoopConvert:2-out|undo_redo=c_to_a:5-out|begin_mod=adc-null|end_mod=adc-null|maxlength=124.9|beginpt=c_multiply:4-out|endpt=c_multiply:3-out|dubfade=DubFade:2-out|splicelength=SpliceFade:2-out|playspeed=SpeednDirectn:2-out|decay=c_adder:6-out|loopmode=OneShot_not_allowed_in_free_mode:1-out|playmode=0|timeoutmode=1|dubmode=0|in1=In_Switch_L:2-out|in2=In_Switch_R:2-out
C_DIVIDE|Process_status_signal_for_text_trigger:1|in1=dlysmp2n:2-statusout|in2=4
C_DIVIDE|c_divide:3|in1=dlysmp2n:2-position|in2=dlysmp2n:2-reclength
C_MERGE|ClearButton_Resets_Display:2|ninputs=2|in1=c_divide:3-out|in2=Clear:2-out
HMONITOR|LoopPosition:2|in=ClearButton_Resets_Display:2-out|minimum=0.0|maximum=1.0|name=Loop Position|tag=Loop Position
TEXTKNOB|OutSelect:2|statement=Output Assign:%s|name=0|nchoices=4|default=0|choices1=1 + 2|choices2=3 + 4|choices3=5 + 6|choices4=7 + 8
KNOB|Pan1:2|statement=Pan:%1.0f|name=0|min=-50|max=50|res=1|default=0
TAPKNOB|Volume1:2|statement=Volume:%1.1f db|name=0|min=-100|max=0|steps=200|default=0|taper=3|alpha=1
C_DIVIDE|c_divide:4|in1=Pan1:2-out|in2=25
C_ADDER|c_adder:7|ninputs=2|in1=c_divide:4-out|in2=1
C_ADDER|c_adder:8|ninputs=2|in1=c_divide:4-out|in2=-1
C_ABS|PanLaw1:2|input=Pan1:2-out
C_DIVIDE|PanLaw2:2|in1=PanLaw1:2-output|in2=-16
C_ADDER|MixPanning:2|ninputs=2|in1=Volume1:2-out|in2=PanLaw2:2-out
TEXTKNOB|MuteSwitch:2|statement=B:%s|name=0|nchoices=2|default=1|choices1=Mute|choices2=Active
C_SWITCH|MuteSel:2|ninputs=2|select=MuteSwitch:2-out|in1=-100|in2=MixPanning:2-out
STEREOMIXER|stereomixer:2|ninputs=2|time_constant=20|clipvalue=10000|processoff=0|in1=dlysmp2n:2-out1|in2=dlysmp2n:2-out2|gain1=MuteSel:2-out|gain2=MuteSel:2-out|pan1=c_adder:8-out|pan2=c_adder:7-out
TEXTKNOB|FilterType:2|statement=Filter Type:%s|name=0|nchoices=3|default=0|choices1=Bypass|choices2=Lowpass|choices3=Highpass
C_TABLE|c_table:2|nentries=3|select=FilterType:2-out|in1=10|in2=8|in3=1
TAPKNOB|Q:2|statement=Q:%2.2f|name=0|min=.5|max=20|steps=300|default=.8|taper=2|alpha=1
TAPKNOB|Frequency:2|statement=Cutoff:%4.1fHz|name=0|min=20|max=20000|steps=1000|default=2700|taper=2|alpha=1
EQS|Filter_R:2|neqs=1|clipvalue=10000|in=stereomixer:2-right|processoff=0|freq1=Frequency:2-out|qfactor1=Q:2-out|boost1=0|type1=c_table:2-out
EQS|Filter_L:2|neqs=1|clipvalue=10000|in=stereomixer:2-left|processoff=0|freq1=Frequency:2-out|qfactor1=Q:2-out|boost1=0|type1=c_table:2-out
OSWITCH|LSwitch:2|numouts=4|in=Filter_L:2-out|select=OutSelect:2-out
OSWITCH|RSwitch:2|numouts=4|in=Filter_R:2-out|select=OutSelect:2-out
MENUPAGE|Sync_Pg1:2|name=B_LOOP_B|tag=0|nsubuos=8|obj1=Record_Trigger:2-obj|obj2=Clear:2-obj|obj3=Undo:2-obj|obj4=Decay:2-obj|obj5=AutoloopArm:2-obj|obj6=Beats:2-obj|obj7=OneShotPlay:2-obj|obj8=LoopPosition:2-obj
MENUPAGE|Playback:2|name=B_Playback_B|tag=0|nsubuos=8|obj1=Direction:2-obj|obj2=Speed:2-obj|obj3=TrimStart:2-obj|obj4=TrimEnd:2-obj|obj5=FilterType:2-obj|obj6=Frequency:2-obj|obj7=Q:2-obj|obj8=LoopPosition:2-obj
MENUPAGE|Mix-Details:2|name=B_Mix/Details_B|tag=0|nsubuos=7|obj1=Volume1:2-obj|obj2=Pan1:2-obj|obj3=SpliceFade:2-obj|obj4=DubFade:2-obj|obj5=InSelect:2-obj|obj6=OutSelect:2-obj|obj7=LoopPosition:2-obj
TEXTTRIGGER|Auto_Thresh_Arm_freemode:2|nstrings=2|textnum=Hitting_record_disables_Auto_threshold_record:2-out|text1=Arm Auto Thresh|text2=Armed
MENUPAGE|Free_Pg1:2|name=B_LOOP_B|tag=0|nsubuos=6|obj1=Record_Trigger:2-obj|obj2=Clear:2-obj|obj3=Undo:2-obj|obj4=Decay:2-obj|obj5=Auto_Thresh_Arm_freemode:2-obj|obj6=LoopPosition:2-obj
C_NOT|input_from_StatusOut_Freemode:2|in=dlysmp2n:2-statusout
C_ADDER|>FromAudioTrg:2|ninputs=2|in1=_AudioTrigOut>-out|in2=Record_Trigger:2-out
C_FLOP|Hitting_record_disables_Auto_threshold_record:2|reset=RecTrigAdder:2-out|set=0|toggle=Auto_Thresh_Arm_freemode:2-out
C_AND|AudioTrgIn:2|in1=Hitting_record_disables_Auto_threshold_record:2-out|in2=input_from_StatusOut_Freemode:2-out
C_COUNT2|AuTrgMath4:2|clock=>FromAudioTrg:2-out|incr=1|maxcount=AudioTrgIn:2-out|reset=Clear:2-out
C_1SHOT|AuTrgMath5:2|in=AuTrgMath4:2-out
C_ADDER|>FromStop:3|ninputs=2|in1=_midiclock>>-stop_out|in2=0
C_ADDER|>FromBeat:3|ninputs=2|in1=_midiclock>>-beat_out|in2=0
KNOB|Beats:3|statement=ReTrigger Beats:%1.f|name=0|min=2|max=128|res=1|default=8
C_SUBTRACT|c_subtract:3|in1=Beats:3-out|in2=2
C_COMPARATOR|c_comparator:3|in1=BeatCounter:3-out|in2=c_subtract:3-out
C_ADDER|Clock_Stop_In:3|ninputs=2|in1=>FromStop:3-out|in2=c_comparator:3-out
C_ADDER|Add_Reset_Signal_to_clock_signal_for_reset:2|ninputs=2|in1=>FromBeat:3-out|in2=>FromStop:3-out
C_RESET|Ignore_first_otherwise_starts_recording_on_Load:2|time=100
C_AND|Gate_for_ignore_first>>:2|in1=Add_Reset_Signal_to_clock_signal_for_reset:2-out|in2=Ignore_first_otherwise_starts_recording_on_Load:2-nout
C_COUNT2|BeatCounter:3|clock=Gate_for_ignore_first>>:2-out|incr=1|maxcount=32000|reset=Clock_Stop_In:3-out
C_CMP2|Send_signal_on_first_beat:2|in1=BeatCounter:3-out|in2=1
TEXTTRIGGER|Record_Trigger:3|nstrings=4|textnum=Process_status_signal_for_text_trigger:2-out|text1=Stop|text2=Set Loop|text3=Play|text4=Overdub
TRIGGER|Clear:3|name=CLEAR|statement=Clear|tag=Clear
C_ADDER|Record_button_mixed_here_to_increase_count:2|ninputs=3|in1=ArmSwitch:2-out|in2=Clear:3-out|in3=Record_Trigger:3-out
C_COUNT2|Counter_for_inital_auto_record_mechanism:2|clock=Record_button_mixed_here_to_increase_count:2-out|incr=1|maxcount=4|reset=Clear:3-out
C_CMP2|Only_count_first_2_beat_1_signls:2|in1=Counter_for_inital_auto_record_mechanism:2-out|in2=2
C_AND|Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:2|in1=Send_signal_on_first_beat:2-eq|in2=Only_count_first_2_beat_1_signls:2-ge
TEXTTRIGGER|AutoloopArm:3|nstrings=2|textnum=Disable_arm_on_first_loop_retrigger:2-out|text1=Arm Autoloop|text2=Armed
C_ADDER|Clear_button_Also_Disables_Autoarm:2|ninputs=2|in1=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:2-out|in2=Clear:3-out
C_FLOP|Disable_arm_on_first_loop_retrigger:2|reset=Clear_button_Also_Disables_Autoarm:2-out|set=0|toggle=AutoloopArm:3-out
C_MULTIPLY|ArmSwitch:2|in1=Send_signal_on_first_beat:2-eq|in2=Disable_arm_on_first_loop_retrigger:2-out
C_AND|Gate_open_for_1st_2_beat1_triggers:2|in1=ArmSwitch:2-out|in2=Only_count_first_2_beat_1_signls:2-le
C_ADDER|Mix_Beat_Triggers_with_record_button:2|ninputs=2|in1=Gate_open_for_1st_2_beat1_triggers:2-out|in2=Record_Trigger:3-out
C_ADDER|RecTrigAdder:3|ninputs=2|in1=Record_Trigger:3-out|in2=AuTrgMath5:3-out
C_ADDER|Mix_Free&Sync_Rec_Triggers:3|ninputs=2|in1=Mix_Beat_Triggers_with_record_button:2-out|in2=RecTrigAdder:3-out
C_TO_A|RecTrigConvert:3|in=Mix_Free&Sync_Rec_Triggers:3-out
C_TO_A|c_to_a:6|in=Clear:3-out
TEXTKNOB|OneShotPlay:3|statement=One Shot: %s|name=Direction|nchoices=2|default=0|choices1=OFF|choices2=ON
C_OSWITCH|OneShotSwitch:2|noutputs=2|select=OneShotPlay:3-out|in=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:2-out|defaultout1=0|defaultout2=0
C_ADDER|>FromModeSw:3|ninputs=2|in1=_ModeSwitch>-out|in2=0
C_NOT|c_not:3|in=>FromModeSw:3-out
C_AND|Dont_allow_loopRetrigger_if_in_FreeMode:3|in1=c_not:3-out|in2=OneShotSwitch:2-out1
C_TO_A|LoopConvert:3|in=Dont_allow_loopRetrigger_if_in_FreeMode:3-out
TEXTKNOB|Direction:3|statement=Direction: %s|name=Direction|nchoices=2|default=0|choices1=Forward|choices2=Reverse
C_TABLE|DirectionMath1:3|nentries=2|select=Direction:3-out|in1=1|in2=-1
KNOB|Speed:3|statement=Pitch:%2.0f|name=Speed|min=-60|max=0|res=1|default=0
C_ADDER|SpeedMath1:3|ninputs=2|in1=Speed:3-out|in2=60
C_TABLE|SpeedMath2:3|nentries=61|select=SpeedMath1:3-out|in1=3.125|in2=3.311|in3=3.508|in4=3.716|in5=3.938|in6=4.172|in7=4.42|in8=4.683|in9=4.961|in10=5.256|in11=5.569|in12=5.9|in13=6.25|in14=6.622|in15=7.016|in16=7.433|in17=7.875|in18=8.344|in19=8.84|in20=9.365|in21=9.92|in22=10.51|in23=11.14|in24=11.8|in25=12.5|in26=13.24|in27=14.03|in28=14.87|in29=15.75|in30=16.69|in31=17.68|in32=18.73|in33=19.84|in34=21.02|in35=22.27|in36=23.6|in37=25|in38=26.49|in39=28.06|in40=29.73|in41=31.5|in42=33.37|in43=35.36|in44=37.46|in45=39.69|in46=42.05|in47=44.55|in48=47.2|in49=50|in50=52.98|in51=56.13|in52=59.47|in53=63|in54=66.75|in55=70.71|in56=74.92|in57=79.38|in58=84.1|in59=89.1|in60=94.4|in61=100
C_MULTIPLY|SpeednDirectn:3|in1=SpeedMath2:3-out|in2=DirectionMath1:3-out
TRIGGER|Undo:3|name=Undo|statement=Undo|tag=Undo
C_TO_A|c_to_a:7|in=Undo:3-out
KNOB|TrimEnd:3|statement=Trim End:%3.2f%%|name=0|min=-100|max=0|res=.01|default=0
C_DIVIDE|c_divide:13|in1=TrimEnd:3-out|in2=100
C_MULTIPLY|c_multiply:5|in1=dlysmp2n:3-reclength|in2=c_divide:13-out
TEXTKNOB|InSelect:3|statement=Input Select:%s|name=0|nchoices=4|default=0|choices1=Input|choices2=A Loop Resamp|choices3=B Loop Resamp|choices4=D Loop Resamp
ISWITCH|In_Switch_R:3|numins=4|select=InSelect:3-out|in1=adc-in2|in2=Filter_R:1-out|in3=Filter_R:2-out|in4=Filter_R:4-out
ISWITCH|In_Switch_L:3|numins=4|select=InSelect:3-out|in1=adc-in1|in2=Filter_L:1-out|in3=Filter_L:2-out|in4=Filter_L:4-out
TAPKNOB|SpliceFade:3|statement=Splice Fade:%3.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
TAPKNOB|DubFade:3|statement=Dub Fade:%4.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
C_NOT|InvertShotSignal:2|in=OneShotPlay:3-out
C_1SHOT|Send_Play_Signal_When_OneShot_turns_Off:2|in=InvertShotSignal:2-out
C_ADDER|Mix_in_Shot_Off_Play_Signal:2|ninputs=2|in1=OneShotSwitch:2-out2|in2=Send_Play_Signal_When_OneShot_turns_Off:2-out
C_AND|Dont_allow_PlayTrigger_if_in_FreeMode:3|in1=c_not:3-out|in2=Mix_in_Shot_Off_Play_Signal:2-out
C_1SHOT|c_1shot:3|in=>FromModeSw:3-out
C_AND|Send_signal_if_OneShotMode_turned_On:2|in1=c_1shot:3-out|in2=OneShotPlay:3-out
C_ADDER|Mix_Play_Signal_at_Switch_to_Free_Mode:2|ninputs=2|in1=Send_signal_if_OneShotMode_turned_On:2-out|in2=Dont_allow_PlayTrigger_if_in_FreeMode:3-out
C_TO_A|PlayConvert:3|in=Mix_Play_Signal_at_Switch_to_Free_Mode:2-out
KNOB|TrimStart:3|statement=Trim Start:%3.2f%%|name=0|min=0|max=100|res=.01|default=0
C_DIVIDE|c_divide:14|in1=TrimStart:3-out|in2=100
C_MULTIPLY|c_multiply:6|in1=dlysmp2n:3-reclength|in2=c_divide:14-out
KNOB|Decay:3|statement=Decay:%3.0f%%|name=Decay|min=0|max=100|res=1|default=100
C_MULTIPLY|DecayInvert1:3|in1=Decay:3-out|in2=-1
C_ADDER|c_adder:9|ninputs=2|in1=DecayInvert1:3-out|in2=100
C_SWITCH|OneShot_not_allowed_in_free_mode:2|ninputs=2|select=>FromModeSw:3-out|in1=InvertShotSignal:2-out|in2=1
DLYSMP2N|dlysmp2n:3|numtracks=2|maxdelay=500|maxsplice=100|rectrigger=RecTrigConvert:3-out|stoptrigger=c_to_a:6-out|playtrigger=PlayConvert:3-out|looptrigger=LoopConvert:3-out|undo_redo=c_to_a:7-out|begin_mod=adc-null|end_mod=adc-null|maxlength=124.9|beginpt=c_multiply:6-out|endpt=c_multiply:5-out|dubfade=DubFade:3-out|splicelength=SpliceFade:3-out|playspeed=SpeednDirectn:3-out|decay=c_adder:9-out|loopmode=OneShot_not_allowed_in_free_mode:2-out|playmode=0|timeoutmode=1|dubmode=0|in1=In_Switch_L:3-out|in2=In_Switch_R:3-out
C_DIVIDE|Process_status_signal_for_text_trigger:2|in1=dlysmp2n:3-statusout|in2=4
C_DIVIDE|c_divide:5|in1=dlysmp2n:3-position|in2=dlysmp2n:3-reclength
C_MERGE|ClearButton_Resets_Display:3|ninputs=2|in1=c_divide:5-out|in2=Clear:3-out
HMONITOR|LoopPosition:3|in=ClearButton_Resets_Display:3-out|minimum=0.0|maximum=1.0|name=Loop Position|tag=Loop Position
TEXTKNOB|OutSelect:3|statement=Output Assign:%s|name=0|nchoices=4|default=0|choices1=1 + 2|choices2=3 + 4|choices3=5 + 6|choices4=7 + 8
KNOB|Pan1:3|statement=Pan:%1.0f|name=0|min=-50|max=50|res=1|default=0
TAPKNOB|Volume1:3|statement=Volume:%1.1f db|name=0|min=-100|max=0|steps=200|default=0|taper=3|alpha=1
C_DIVIDE|c_divide:6|in1=Pan1:3-out|in2=25
C_ADDER|c_adder:10|ninputs=2|in1=c_divide:6-out|in2=1
C_ADDER|c_adder:11|ninputs=2|in1=c_divide:6-out|in2=-1
C_ABS|PanLaw1:3|input=Pan1:3-out
C_DIVIDE|PanLaw2:3|in1=PanLaw1:3-output|in2=-16
C_ADDER|MixPanning:3|ninputs=2|in1=Volume1:3-out|in2=PanLaw2:3-out
TEXTKNOB|MuteSwitch:3|statement=C:%s|name=0|nchoices=2|default=1|choices1=Mute|choices2=Active
C_SWITCH|MuteSel:3|ninputs=2|select=MuteSwitch:3-out|in1=-100|in2=MixPanning:3-out
STEREOMIXER|stereomixer:3|ninputs=2|time_constant=20|clipvalue=10000|processoff=0|in1=dlysmp2n:3-out1|in2=dlysmp2n:3-out2|gain1=MuteSel:3-out|gain2=MuteSel:3-out|pan1=c_adder:11-out|pan2=c_adder:10-out
TEXTKNOB|FilterType:3|statement=Filter Type:%s|name=0|nchoices=3|default=0|choices1=Bypass|choices2=Lowpass|choices3=Highpass
C_TABLE|c_table:3|nentries=3|select=FilterType:3-out|in1=10|in2=8|in3=1
TAPKNOB|Q:3|statement=Q:%2.2f|name=0|min=.5|max=20|steps=300|default=.8|taper=2|alpha=1
TAPKNOB|Frequency:3|statement=Cutoff:%4.1fHz|name=0|min=20|max=20000|steps=1000|default=2700|taper=2|alpha=1
EQS|Filter_R:3|neqs=1|clipvalue=10000|in=stereomixer:3-right|processoff=0|freq1=Frequency:3-out|qfactor1=Q:3-out|boost1=0|type1=c_table:3-out
EQS|Filter_L:3|neqs=1|clipvalue=10000|in=stereomixer:3-left|processoff=0|freq1=Frequency:3-out|qfactor1=Q:3-out|boost1=0|type1=c_table:3-out
OSWITCH|LSwitch:3|numouts=4|in=Filter_L:3-out|select=OutSelect:3-out
OSWITCH|RSwitch:3|numouts=4|in=Filter_R:3-out|select=OutSelect:3-out
MENUPAGE|Sync_Pg1:3|name=C_LOOP_C|tag=0|nsubuos=8|obj1=Record_Trigger:3-obj|obj2=Clear:3-obj|obj3=Undo:3-obj|obj4=Decay:3-obj|obj5=AutoloopArm:3-obj|obj6=Beats:3-obj|obj7=OneShotPlay:3-obj|obj8=LoopPosition:3-obj
MENUPAGE|Playback:3|name=C_Playback_C|tag=0|nsubuos=8|obj1=Direction:3-obj|obj2=Speed:3-obj|obj3=TrimStart:3-obj|obj4=TrimEnd:3-obj|obj5=FilterType:3-obj|obj6=Frequency:3-obj|obj7=Q:3-obj|obj8=LoopPosition:3-obj
MENUPAGE|Mix-Details:3|name=C_Mix/Details_C|tag=0|nsubuos=7|obj1=Volume1:3-obj|obj2=Pan1:3-obj|obj3=SpliceFade:3-obj|obj4=DubFade:3-obj|obj5=InSelect:3-obj|obj6=OutSelect:3-obj|obj7=LoopPosition:3-obj
TEXTTRIGGER|Auto_Thresh_Arm_freemode:3|nstrings=2|textnum=Hitting_record_disables_Auto_threshold_record:3-out|text1=Arm Auto Thresh|text2=Armed
MENUPAGE|Free_Pg1:3|name=C_LOOP_C|tag=0|nsubuos=6|obj1=Record_Trigger:3-obj|obj2=Clear:3-obj|obj3=Undo:3-obj|obj4=Decay:3-obj|obj5=Auto_Thresh_Arm_freemode:3-obj|obj6=LoopPosition:3-obj
C_NOT|input_from_StatusOut_Freemode:3|in=dlysmp2n:3-statusout
C_ADDER|>FromAudioTrg:3|ninputs=2|in1=_AudioTrigOut>-out|in2=Record_Trigger:3-out
C_FLOP|Hitting_record_disables_Auto_threshold_record:3|reset=RecTrigAdder:3-out|set=0|toggle=Auto_Thresh_Arm_freemode:3-out
C_AND|AudioTrgIn:3|in1=Hitting_record_disables_Auto_threshold_record:3-out|in2=input_from_StatusOut_Freemode:3-out
C_COUNT2|AuTrgMath4:3|clock=>FromAudioTrg:3-out|incr=1|maxcount=AudioTrgIn:3-out|reset=Clear:3-out
C_1SHOT|AuTrgMath5:3|in=AuTrgMath4:3-out
C_ADDER|>FromStop:4|ninputs=2|in1=_midiclock>>-stop_out|in2=0
C_ADDER|>FromBeat:4|ninputs=2|in1=_midiclock>>-beat_out|in2=0
KNOB|Beats:4|statement=ReTrigger Beats:%1.f|name=0|min=2|max=128|res=1|default=8
C_SUBTRACT|c_subtract:4|in1=Beats:4-out|in2=2
C_COMPARATOR|c_comparator:4|in1=BeatCounter:4-out|in2=c_subtract:4-out
C_ADDER|Clock_Stop_In:4|ninputs=2|in1=>FromStop:4-out|in2=c_comparator:4-out
C_ADDER|Add_Reset_Signal_to_clock_signal_for_reset:3|ninputs=2|in1=>FromBeat:4-out|in2=>FromStop:4-out
C_RESET|Ignore_first_otherwise_starts_recording_on_Load:3|time=100
C_AND|Gate_for_ignore_first>>:3|in1=Add_Reset_Signal_to_clock_signal_for_reset:3-out|in2=Ignore_first_otherwise_starts_recording_on_Load:3-nout
C_COUNT2|BeatCounter:4|clock=Gate_for_ignore_first>>:3-out|incr=1|maxcount=32000|reset=Clock_Stop_In:4-out
C_CMP2|Send_signal_on_first_beat:3|in1=BeatCounter:4-out|in2=1
TEXTTRIGGER|Record_Trigger:4|nstrings=4|textnum=Process_status_signal_for_text_trigger:3-out|text1=Stop|text2=Set Loop|text3=Play|text4=Overdub
TRIGGER|Clear:4|name=CLEAR|statement=Clear|tag=Clear
C_ADDER|Record_button_mixed_here_to_increase_count:3|ninputs=3|in1=ArmSwitch:3-out|in2=Clear:4-out|in3=Record_Trigger:4-out
C_COUNT2|Counter_for_inital_auto_record_mechanism:3|clock=Record_button_mixed_here_to_increase_count:3-out|incr=1|maxcount=4|reset=Clear:4-out
C_CMP2|Only_count_first_2_beat_1_signls:3|in1=Counter_for_inital_auto_record_mechanism:3-out|in2=2
C_AND|Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:3|in1=Send_signal_on_first_beat:3-eq|in2=Only_count_first_2_beat_1_signls:3-ge
TEXTTRIGGER|AutoloopArm:4|nstrings=2|textnum=Disable_arm_on_first_loop_retrigger:3-out|text1=Arm Autoloop|text2=Armed
C_ADDER|Clear_button_Also_Disables_Autoarm:3|ninputs=2|in1=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:3-out|in2=Clear:4-out
C_FLOP|Disable_arm_on_first_loop_retrigger:3|reset=Clear_button_Also_Disables_Autoarm:3-out|set=0|toggle=AutoloopArm:4-out
C_MULTIPLY|ArmSwitch:3|in1=Send_signal_on_first_beat:3-eq|in2=Disable_arm_on_first_loop_retrigger:3-out
C_AND|Gate_open_for_1st_2_beat1_triggers:3|in1=ArmSwitch:3-out|in2=Only_count_first_2_beat_1_signls:3-le
C_ADDER|Mix_Beat_Triggers_with_record_button:3|ninputs=2|in1=Gate_open_for_1st_2_beat1_triggers:3-out|in2=Record_Trigger:4-out
C_ADDER|RecTrigAdder:4|ninputs=2|in1=Record_Trigger:4-out|in2=AuTrgMath5:4-out
C_ADDER|Mix_Free&Sync_Rec_Triggers:4|ninputs=2|in1=Mix_Beat_Triggers_with_record_button:3-out|in2=RecTrigAdder:4-out
C_TO_A|RecTrigConvert:4|in=Mix_Free&Sync_Rec_Triggers:4-out
C_TO_A|c_to_a:8|in=Clear:4-out
TEXTKNOB|OneShotPlay:4|statement=One Shot: %s|name=Direction|nchoices=2|default=0|choices1=OFF|choices2=ON
C_OSWITCH|OneShotSwitch:3|noutputs=2|select=OneShotPlay:4-out|in=Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:3-out|defaultout1=0|defaultout2=0
C_ADDER|>FromModeSw:4|ninputs=2|in1=_ModeSwitch>-out|in2=0
C_NOT|c_not:4|in=>FromModeSw:4-out
C_AND|Dont_allow_loopRetrigger_if_in_FreeMode:4|in1=c_not:4-out|in2=OneShotSwitch:3-out1
C_TO_A|LoopConvert:4|in=Dont_allow_loopRetrigger_if_in_FreeMode:4-out
TEXTKNOB|Direction:4|statement=Direction: %s|name=Direction|nchoices=2|default=0|choices1=Forward|choices2=Reverse
C_TABLE|DirectionMath1:4|nentries=2|select=Direction:4-out|in1=1|in2=-1
KNOB|Speed:4|statement=Pitch:%2.0f|name=Speed|min=-60|max=0|res=1|default=0
C_ADDER|SpeedMath1:4|ninputs=2|in1=Speed:4-out|in2=60
C_TABLE|SpeedMath2:4|nentries=61|select=SpeedMath1:4-out|in1=3.125|in2=3.311|in3=3.508|in4=3.716|in5=3.938|in6=4.172|in7=4.42|in8=4.683|in9=4.961|in10=5.256|in11=5.569|in12=5.9|in13=6.25|in14=6.622|in15=7.016|in16=7.433|in17=7.875|in18=8.344|in19=8.84|in20=9.365|in21=9.92|in22=10.51|in23=11.14|in24=11.8|in25=12.5|in26=13.24|in27=14.03|in28=14.87|in29=15.75|in30=16.69|in31=17.68|in32=18.73|in33=19.84|in34=21.02|in35=22.27|in36=23.6|in37=25|in38=26.49|in39=28.06|in40=29.73|in41=31.5|in42=33.37|in43=35.36|in44=37.46|in45=39.69|in46=42.05|in47=44.55|in48=47.2|in49=50|in50=52.98|in51=56.13|in52=59.47|in53=63|in54=66.75|in55=70.71|in56=74.92|in57=79.38|in58=84.1|in59=89.1|in60=94.4|in61=100
C_MULTIPLY|SpeednDirectn:4|in1=SpeedMath2:4-out|in2=DirectionMath1:4-out
TRIGGER|Undo:4|name=Undo|statement=Undo|tag=Undo
C_TO_A|c_to_a:9|in=Undo:4-out
KNOB|TrimEnd:4|statement=Trim End:%3.2f%%|name=0|min=-100|max=0|res=.01|default=0
C_DIVIDE|c_divide:15|in1=TrimEnd:4-out|in2=100
C_MULTIPLY|c_multiply:7|in1=dlysmp2n:4-reclength|in2=c_divide:15-out
TEXTKNOB|InSelect:4|statement=Input Select:%s|name=0|nchoices=4|default=0|choices1=Input|choices2=A Loop Resamp|choices3=B Loop Resamp|choices4=C Loop Resamp
ISWITCH|In_Switch_R:4|numins=4|select=InSelect:4-out|in1=adc-in2|in2=Filter_R:1-out|in3=Filter_R:2-out|in4=Filter_R:3-out
ISWITCH|In_Switch_L:4|numins=4|select=InSelect:4-out|in1=adc-in1|in2=Filter_L:1-out|in3=Filter_L:2-out|in4=Filter_L:3-out
TAPKNOB|SpliceFade:4|statement=Splice Fade:%3.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
TAPKNOB|DubFade:4|statement=Dub Fade:%4.1fms|name=0|min=0|max=100|steps=1000|default=5|taper=1|alpha=1
C_NOT|InvertShotSignal:3|in=OneShotPlay:4-out
C_1SHOT|Send_Play_Signal_When_OneShot_turns_Off:3|in=InvertShotSignal:3-out
C_ADDER|Mix_in_Shot_Off_Play_Signal:3|ninputs=2|in1=OneShotSwitch:3-out2|in2=Send_Play_Signal_When_OneShot_turns_Off:3-out
C_AND|Dont_allow_PlayTrigger_if_in_FreeMode:4|in1=c_not:4-out|in2=Mix_in_Shot_Off_Play_Signal:3-out
C_1SHOT|c_1shot:4|in=>FromModeSw:4-out
C_AND|Send_signal_if_OneShotMode_turned_On:3|in1=c_1shot:4-out|in2=OneShotPlay:4-out
C_ADDER|Mix_Play_Signal_at_Switch_to_Free_Mode:3|ninputs=2|in1=Send_signal_if_OneShotMode_turned_On:3-out|in2=Dont_allow_PlayTrigger_if_in_FreeMode:4-out
C_TO_A|PlayConvert:4|in=Mix_Play_Signal_at_Switch_to_Free_Mode:3-out
KNOB|TrimStart:4|statement=Trim Start:%3.2f%%|name=0|min=0|max=100|res=.01|default=0
C_DIVIDE|c_divide:16|in1=TrimStart:4-out|in2=100
C_MULTIPLY|c_multiply:8|in1=dlysmp2n:4-reclength|in2=c_divide:16-out
KNOB|Decay:4|statement=Decay:%3.0f%%|name=Decay|min=0|max=100|res=1|default=100
C_MULTIPLY|DecayInvert1:4|in1=Decay:4-out|in2=-1
C_ADDER|c_adder:12|ninputs=2|in1=DecayInvert1:4-out|in2=100
C_SWITCH|OneShot_not_allowed_in_free_mode:3|ninputs=2|select=>FromModeSw:4-out|in1=InvertShotSignal:3-out|in2=1
DLYSMP2N|dlysmp2n:4|numtracks=2|maxdelay=500|maxsplice=100|rectrigger=RecTrigConvert:4-out|stoptrigger=c_to_a:8-out|playtrigger=PlayConvert:4-out|looptrigger=LoopConvert:4-out|undo_redo=c_to_a:9-out|begin_mod=adc-null|end_mod=adc-null|maxlength=124.9|beginpt=c_multiply:8-out|endpt=c_multiply:7-out|dubfade=DubFade:4-out|splicelength=SpliceFade:4-out|playspeed=SpeednDirectn:4-out|decay=c_adder:12-out|loopmode=OneShot_not_allowed_in_free_mode:3-out|playmode=0|timeoutmode=1|dubmode=0|in1=In_Switch_L:4-out|in2=In_Switch_R:4-out
C_DIVIDE|Process_status_signal_for_text_trigger:3|in1=dlysmp2n:4-statusout|in2=4
C_DIVIDE|c_divide:7|in1=dlysmp2n:4-position|in2=dlysmp2n:4-reclength
C_MERGE|ClearButton_Resets_Display:4|ninputs=2|in1=c_divide:7-out|in2=Clear:4-out
HMONITOR|LoopPosition:4|in=ClearButton_Resets_Display:4-out|minimum=0.0|maximum=1.0|name=Loop Position|tag=Loop Position
TEXTKNOB|OutSelect:4|statement=Output Assign:%s|name=0|nchoices=4|default=0|choices1=1 + 2|choices2=3 + 4|choices3=5 + 6|choices4=7 + 8
KNOB|Pan1:4|statement=Pan:%1.0f|name=0|min=-50|max=50|res=1|default=0
TAPKNOB|Volume1:4|statement=Volume:%1.1f db|name=0|min=-100|max=0|steps=200|default=0|taper=3|alpha=1
C_DIVIDE|c_divide:8|in1=Pan1:4-out|in2=25
C_ADDER|c_adder:13|ninputs=2|in1=c_divide:8-out|in2=1
C_ADDER|c_adder:14|ninputs=2|in1=c_divide:8-out|in2=-1
C_ABS|PanLaw1:4|input=Pan1:4-out
C_DIVIDE|PanLaw2:4|in1=PanLaw1:4-output|in2=-16
C_ADDER|MixPanning:4|ninputs=2|in1=Volume1:4-out|in2=PanLaw2:4-out
TEXTKNOB|MuteSwitch:4|statement=D:%s|name=0|nchoices=2|default=1|choices1=Mute|choices2=Active
C_SWITCH|MuteSel:4|ninputs=2|select=MuteSwitch:4-out|in1=-100|in2=MixPanning:4-out
STEREOMIXER|stereomixer:4|ninputs=2|time_constant=20|clipvalue=10000|processoff=0|in1=dlysmp2n:4-out1|in2=dlysmp2n:4-out2|gain1=MuteSel:4-out|gain2=MuteSel:4-out|pan1=c_adder:14-out|pan2=c_adder:13-out
TEXTKNOB|FilterType:4|statement=Filter Type:%s|name=0|nchoices=3|default=0|choices1=Bypass|choices2=Lowpass|choices3=Highpass
C_TABLE|c_table:4|nentries=3|select=FilterType:4-out|in1=10|in2=8|in3=1
TAPKNOB|Q:4|statement=Q:%2.2f|name=0|min=.5|max=20|steps=300|default=.8|taper=2|alpha=1
TAPKNOB|Frequency:4|statement=Cutoff:%4.1fHz|name=0|min=20|max=20000|steps=1000|default=2700|taper=2|alpha=1
EQS|Filter_R:4|neqs=1|clipvalue=10000|in=stereomixer:4-right|processoff=0|freq1=Frequency:4-out|qfactor1=Q:4-out|boost1=0|type1=c_table:4-out
EQS|Filter_L:4|neqs=1|clipvalue=10000|in=stereomixer:4-left|processoff=0|freq1=Frequency:4-out|qfactor1=Q:4-out|boost1=0|type1=c_table:4-out
OSWITCH|LSwitch:4|numouts=4|in=Filter_L:4-out|select=OutSelect:4-out
OSWITCH|RSwitch:4|numouts=4|in=Filter_R:4-out|select=OutSelect:4-out
MENUPAGE|Sync_Pg1:4|name=D_LOOP_D|tag=0|nsubuos=8|obj1=Record_Trigger:4-obj|obj2=Clear:4-obj|obj3=Undo:4-obj|obj4=Decay:4-obj|obj5=AutoloopArm:4-obj|obj6=Beats:4-obj|obj7=OneShotPlay:4-obj|obj8=LoopPosition:4-obj
MENUPAGE|Playback:4|name=D_Playback_D|tag=0|nsubuos=8|obj1=Direction:4-obj|obj2=Speed:4-obj|obj3=TrimStart:4-obj|obj4=TrimEnd:4-obj|obj5=FilterType:4-obj|obj6=Frequency:4-obj|obj7=Q:4-obj|obj8=LoopPosition:4-obj
MENUPAGE|Mix-Details:4|name=D_Mix/Details_D|tag=0|nsubuos=7|obj1=Volume1:4-obj|obj2=Pan1:4-obj|obj3=SpliceFade:4-obj|obj4=DubFade:4-obj|obj5=InSelect:4-obj|obj6=OutSelect:4-obj|obj7=LoopPosition:4-obj
MENUPAGE|Mutes|name=Track Mutes|tag=0|nsubuos=8|obj1=MuteSwitch:1-obj|obj2=MuteSwitch:2-obj|obj3=MuteSwitch:3-obj|obj4=MuteSwitch:4-obj|obj5=LoopPosition:1-obj|obj6=LoopPosition:2-obj|obj7=LoopPosition:3-obj|obj8=LoopPosition:4-obj
MENUPAGE|MainMenu_Sync|name=0|tag=0|nsubuos=14|obj1=Global-obj|obj2=Mutes-obj|obj3=Sync_Pg1:1-obj|obj4=Playback:1-obj|obj5=Mix-Details:1-obj|obj6=Sync_Pg1:2-obj|obj7=Playback:2-obj|obj8=Mix-Details:2-obj|obj9=Sync_Pg1:3-obj|obj10=Playback:3-obj|obj11=Mix-Details:3-obj|obj12=Sync_Pg1:4-obj|obj13=Playback:4-obj|obj14=Mix-Details:4-obj
ADDER|Sum:8|ninputs=4|clipvalue=10000|in1=RSwitch:1-out4|in2=RSwitch:2-out4|in3=RSwitch:3-out4|in4=RSwitch:4-out4
ADDER|Sum:1|ninputs=4|clipvalue=10000|in1=LSwitch:1-out1|in2=LSwitch:2-out1|in3=LSwitch:3-out1|in4=LSwitch:4-out1
ADDER|Sum:3|ninputs=4|clipvalue=10000|in1=LSwitch:1-out2|in2=LSwitch:2-out2|in3=LSwitch:3-out2|in4=LSwitch:4-out2
ADDER|Sum:5|ninputs=4|clipvalue=10000|in1=LSwitch:1-out3|in2=LSwitch:2-out3|in3=LSwitch:3-out3|in4=LSwitch:4-out3
ADDER|Sum:7|ninputs=4|clipvalue=10000|in1=LSwitch:1-out4|in2=LSwitch:2-out4|in3=LSwitch:3-out4|in4=LSwitch:4-out4
ADDER|Sum:2|ninputs=4|clipvalue=10000|in1=RSwitch:1-out1|in2=RSwitch:2-out1|in3=RSwitch:3-out1|in4=RSwitch:4-out1
ADDER|Sum:4|ninputs=4|clipvalue=10000|in1=RSwitch:1-out2|in2=RSwitch:2-out2|in3=RSwitch:3-out2|in4=RSwitch:4-out2
ADDER|Sum:6|ninputs=4|clipvalue=10000|in1=RSwitch:1-out3|in2=RSwitch:2-out3|in3=RSwitch:3-out3|in4=RSwitch:4-out3
TEXTTRIGGER|Auto_Thresh_Arm_freemode:4|nstrings=2|textnum=Hitting_record_disables_Auto_threshold_record:4-out|text1=Arm Auto Thresh|text2=Armed
MENUPAGE|Free_Pg1:4|name=D_LOOP_D|tag=0|nsubuos=6|obj1=Record_Trigger:4-obj|obj2=Clear:4-obj|obj3=Undo:4-obj|obj4=Decay:4-obj|obj5=Auto_Thresh_Arm_freemode:4-obj|obj6=LoopPosition:4-obj
C_NOT|input_from_StatusOut_Freemode:4|in=dlysmp2n:4-statusout
C_ADDER|>FromAudioTrg:4|ninputs=2|in1=_AudioTrigOut>-out|in2=Record_Trigger:4-out
C_FLOP|Hitting_record_disables_Auto_threshold_record:4|reset=RecTrigAdder:4-out|set=0|toggle=Auto_Thresh_Arm_freemode:4-out
C_AND|AudioTrgIn:4|in1=Hitting_record_disables_Auto_threshold_record:4-out|in2=input_from_StatusOut_Freemode:4-out
C_COUNT2|AuTrgMath4:4|clock=>FromAudioTrg:4-out|incr=1|maxcount=AudioTrgIn:4-out|reset=Clear:4-out
C_1SHOT|AuTrgMath5:4|in=AuTrgMath4:4-out
MENUPAGE|MainMenu_Free|name=0|tag=0|nsubuos=14|obj1=Global-obj|obj2=Mutes-obj|obj3=Free_Pg1:1-obj|obj4=Playback:1-obj|obj5=Mix-Details:1-obj|obj6=Free_Pg1:2-obj|obj7=Playback:2-obj|obj8=Mix-Details:2-obj|obj9=Free_Pg1:3-obj|obj10=Playback:3-obj|obj11=Mix-Details:3-obj|obj12=Free_Pg1:4-obj|obj13=Playback:4-obj|obj14=Mix-Details:4-obj
UO_SWITCH|uo_switch:1|nsubuos=2|in=_ModeSwitch>-out|subuos1=MainMenu_Sync-obj|subuos2=MainMenu_Free-obj
TAIL|sdg
—
adc| ;=30,30,100,0
_midiclock>>| ;=48,144,100,0
>FromStop:1| ;=424,168,100,0
>FromBeat:1| ;=424,280,100,0
Beats:1| ;=632,472,100,0
c_subtract:1| ;=648,600,100,0
c_comparator:1| ;=784,568,100,0
Clock_Stop_In:1| ;=880,340,100,0
Add_Reset_Signal_to_clock_signal_for_reset| ;=872,224,100,0
Ignore_first_otherwise_starts_recording_on_Load| ;=880,460,100,0
Gate_for_ignore_first>>| ;=1020,220,100,0
BeatCounter:1| ;=1160,220,100,0
Send_signal_on_first_beat| ;=1300,220,100,0
Record_Trigger:1| ;=2980,1980,100,0
Clear:1| ;=736,1288,100,0
Record_button_mixed_here_to_increase_count| ;=872,1288,100,0
Counter_for_inital_auto_record_mechanism| ;=1016,1288,100,0
Only_count_first_2_beat_1_signls| ;=1152,1288,100,0
Once_first_2_beat_1_signals_have_played_allow_loop_retrigger| ;=1296,1288,100,0
AutoloopArm:1| ;=872,1544,100,0
Clear_button_Also_Disables_Autoarm| ;=872,1424,100,0
Disable_arm_on_first_loop_retrigger| ;=1016,1424,100,0
ArmSwitch| ;=1440,220,100,0
Gate_open_for_1st_2_beat1_triggers| ;=1580,220,100,0
Mix_Beat_Triggers_with_record_button| ;=1720,220,100,0
RecTrigAdder:1| ;=3120,1980,100,0
Mix_Free&Sync_Rec_Triggers:1| ;=1860,220,100,0
RecTrigConvert:1| ;=2000,200,100,0
c_to_a:2| ;=2000,320,100,0
OneShotPlay:1| ;=1296,1168,100,0
OneShotSwitch| ;=1432,1168,100,0
_ModeSwitch>| ;=3816,1192,100,0
>FromModeSw:1| ;=424,392,100,0
c_not:1| ;=1432,1048,100,0
Dont_allow_loopRetrigger_if_in_FreeMode:1| ;=1576,1048,100,0
LoopConvert:1| ;=2000,560,100,0
Direction:1| ;=2980,460,100,0
DirectionMath1:1| ;=3120,680,100,0
Speed:1| ;=2840,800,100,0
SpeedMath1:1| ;=2980,820,100,0
SpeedMath2:1| ;=3120,800,100,0
SpeednDirectn:1| ;=3260,680,100,0
Undo:1| ;=2980,2220,100,0
c_to_a:4| ;=2000,680,100,0
TrimEnd:1| ;=2980,700,100,0
c_divide:9| ;=3120,1040,100,0
c_multiply:1| ;=3260,1040,100,0
InSelect:1| ;=1860,100,100,0
In_Switch_R:1| ;=2000,800,100,0
In_Switch_L:1| ;=2000,20,100,0
SpliceFade:1| ;=2980,1400,100,0
DubFade:1| ;=2980,1860,100,0
InvertShotSignal| ;=1432,1328,100,0
Send_Play_Signal_When_OneShot_turns_Off| ;=1576,1328,100,0
Mix_in_Shot_Off_Play_Signal| ;=1712,1328,100,0
Dont_allow_PlayTrigger_if_in_FreeMode:1| ;=1856,1328,100,0
c_1shot:1| ;=1712,1448,100,0
Send_signal_if_OneShotMode_turned_On| ;=1856,1448,100,0
Mix_Play_Signal_at_Switch_to_Free_Mode| ;=1992,1328,100,0
PlayConvert:1| ;=2000,440,100,0
TrimStart:1| ;=2980,580,100,0
c_divide:10| ;=3120,920,100,0
c_multiply:2| ;=3260,920,100,0
Decay:1| ;=2980,2340,100,0
DecayInvert1:1| ;=3120,2340,100,0
c_adder:3| ;=3260,2340,100,0
OneShot_not_allowed_in_free_mode| ;=1576,1448,100,0
dlysmp2n:1| ;=2280,1136,100,0
Process_status_signal_for_text_trigger| ;=2840,1980,100,0
c_divide:1| ;=2584,624,100,0
ClearButton_Resets_Display:1| ;=2696,656,100,0
LoopPosition:1| ;=3384,672,100,0
OutSelect:1| ;=3240,88,100,0
Pan1:1| ;=2700,1500,100,0
Volume1:1| ;=2980,1280,100,0
c_divide:2| ;=2840,1620,100,0
c_adder:4| ;=2980,1620,100,0
c_adder:5| ;=2980,1740,100,0
PanLaw1:1| ;=2840,1500,100,0
PanLaw2:1| ;=2980,1520,100,0
MixPanning:1| ;=3120,1500,100,0
MuteSwitch:1| ;=3384,560,100,0
MuteSel:1| ;=2400,112,100,0
stereomixer:1| ;=2560,20,100,0
FilterType:1| ;=2980,920,100,0
c_table:1| ;=3120,1160,100,0
Q:1| ;=2980,1040,100,0
Frequency:1| ;=2980,240,100,0
Filter_R:1| ;=3120,240,100,0
Filter_L:1| ;=3120,20,100,0
LSwitch:1| ;=3384,24,100,0
RSwitch:1| ;=3384,160,100,0
Sync_Pg1:1| ;=3384,312,100,0
Playback:1| ;=3120,460,100,0
Mix-Details:1| ;=3376,1224,100,0
Global_Threshold:1| ;=40,720,100,0
Global| ;=4008,1576,100,0
Auto_Thresh_Arm_freemode:1| ;=3120,2100,100,0
Free_Pg1:1| ;=3376,1464,100,0
input_from_StatusOut_Freemode:1| ;=3260,2120,100,0
In_from_ADC:1| ;=40,456,100,0
AuTrgMath1:1| ;=40,576,100,0
_AudioTrigOut>| ;=40,840,100,0
>FromAudioTrg:1| ;=424,512,100,0
Hitting_record_disables_Auto_threshold_record:1| ;=3256,1992,100,0
AudioTrgIn:1| ;=3400,1980,100,0
AuTrgMath4:1| ;=872,1664,100,0
AuTrgMath5:1| ;=2980,2100,100,0
>FromStop:2| ;=424,2736,100,0
>FromBeat:2| ;=424,2848,100,0
Beats:2| ;=632,3040,100,0
c_subtract:2| ;=648,3168,100,0
c_comparator:2| ;=784,3136,100,0
Clock_Stop_In:2| ;=880,2904,100,0
Add_Reset_Signal_to_clock_signal_for_reset:1| ;=872,2792,100,0
Ignore_first_otherwise_starts_recording_on_Load:1| ;=880,3024,100,0
Gate_for_ignore_first>>:1| ;=1016,2784,100,0
BeatCounter:2| ;=1160,2784,100,0
Send_signal_on_first_beat:1| ;=1296,2784,100,0
Record_Trigger:2| ;=2976,4544,100,0
Clear:2| ;=736,3856,100,0
Record_button_mixed_here_to_increase_count:1| ;=872,3856,100,0
Counter_for_inital_auto_record_mechanism:1| ;=1016,3856,100,0
Only_count_first_2_beat_1_signls:1| ;=1152,3856,100,0
Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:1| ;=1296,3856,100,0
AutoloopArm:2| ;=872,4112,100,0
Clear_button_Also_Disables_Autoarm:1| ;=872,3992,100,0
Disable_arm_on_first_loop_retrigger:1| ;=1016,3992,100,0
ArmSwitch:1| ;=1440,2784,100,0
Gate_open_for_1st_2_beat1_triggers:1| ;=1576,2784,100,0
Mix_Beat_Triggers_with_record_button:1| ;=1720,2784,100,0
RecTrigAdder:2| ;=3120,4544,100,0
Mix_Free&Sync_Rec_Triggers:2| ;=1856,2784,100,0
RecTrigConvert:2| ;=2000,2768,100,0
c_to_a:3| ;=2000,2888,100,0
OneShotPlay:2| ;=1296,3736,100,0
OneShotSwitch:1| ;=1432,3736,100,0
>FromModeSw:2| ;=424,2960,100,0
c_not:2| ;=1432,3616,100,0
Dont_allow_loopRetrigger_if_in_FreeMode:2| ;=1576,3616,100,0
LoopConvert:2| ;=2000,3128,100,0
Direction:2| ;=2976,3024,100,0
DirectionMath1:2| ;=3120,3248,100,0
Speed:2| ;=2840,3368,100,0
SpeedMath1:2| ;=2976,3384,100,0
SpeedMath2:2| ;=3120,3368,100,0
SpeednDirectn:2| ;=3256,3248,100,0
Undo:2| ;=2976,4784,100,0
c_to_a:5| ;=2000,3248,100,0
TrimEnd:2| ;=2976,3264,100,0
c_divide:11| ;=3120,3608,100,0
c_multiply:3| ;=3256,3608,100,0
InSelect:2| ;=1856,2664,100,0
In_Switch_R:2| ;=2000,3368,100,0
In_Switch_L:2| ;=2000,2584,100,0
SpliceFade:2| ;=2976,3968,100,0
DubFade:2| ;=2976,4424,100,0
InvertShotSignal:1| ;=1432,3896,100,0
Send_Play_Signal_When_OneShot_turns_Off:1| ;=1576,3896,100,0
Mix_in_Shot_Off_Play_Signal:1| ;=1712,3896,100,0
Dont_allow_PlayTrigger_if_in_FreeMode:2| ;=1856,3896,100,0
c_1shot:2| ;=1712,4016,100,0
Send_signal_if_OneShotMode_turned_On:1| ;=1856,4016,100,0
Mix_Play_Signal_at_Switch_to_Free_Mode:1| ;=1992,3896,100,0
PlayConvert:2| ;=2000,3008,100,0
TrimStart:2| ;=2976,3144,100,0
c_divide:12| ;=3120,3488,100,0
c_multiply:4| ;=3256,3488,100,0
Decay:2| ;=2976,4904,100,0
DecayInvert1:2| ;=3120,4904,100,0
c_adder:6| ;=3256,4904,100,0
OneShot_not_allowed_in_free_mode:1| ;=1576,4016,100,0
dlysmp2n:2| ;=2280,3704,100,0
Process_status_signal_for_text_trigger:1| ;=2840,4544,100,0
c_divide:3| ;=2584,3192,100,0
ClearButton_Resets_Display:2| ;=2696,3224,100,0
LoopPosition:2| ;=3384,3240,100,0
OutSelect:2| ;=3240,2656,100,0
Pan1:2| ;=2696,4064,100,0
Volume1:2| ;=2976,3848,100,0
c_divide:4| ;=2840,4184,100,0
c_adder:7| ;=2976,4184,100,0
c_adder:8| ;=2976,4304,100,0
PanLaw1:2| ;=2840,4064,100,0
PanLaw2:2| ;=2976,4088,100,0
MixPanning:2| ;=3120,4064,100,0
MuteSwitch:2| ;=3384,3128,100,0
MuteSel:2| ;=2400,2680,100,0
stereomixer:2| ;=2560,2584,100,0
FilterType:2| ;=2976,3488,100,0
c_table:2| ;=3120,3728,100,0
Q:2| ;=2976,3608,100,0
Frequency:2| ;=2976,2808,100,0
Filter_R:2| ;=3120,2808,100,0
Filter_L:2| ;=3120,2584,100,0
LSwitch:2| ;=3384,2592,100,0
RSwitch:2| ;=3384,2728,100,0
Sync_Pg1:2| ;=3384,2880,100,0
Playback:2| ;=3120,3024,100,0
Mix-Details:2| ;=3376,3792,100,0
Auto_Thresh_Arm_freemode:2| ;=3120,4664,100,0
Free_Pg1:2| ;=3376,4032,100,0
input_from_StatusOut_Freemode:2| ;=3256,4688,100,0
>FromAudioTrg:2| ;=424,3080,100,0
Hitting_record_disables_Auto_threshold_record:2| ;=3256,4560,100,0
AudioTrgIn:2| ;=3400,4544,100,0
AuTrgMath4:2| ;=872,4232,100,0
AuTrgMath5:2| ;=2976,4664,100,0
>FromStop:3| ;=288,5352,100,0
>FromBeat:3| ;=288,5464,100,0
Beats:3| ;=496,5656,100,0
c_subtract:3| ;=512,5784,100,0
c_comparator:3| ;=648,5752,100,0
Clock_Stop_In:3| ;=744,5528,100,0
Add_Reset_Signal_to_clock_signal_for_reset:2| ;=736,5408,100,0
Ignore_first_otherwise_starts_recording_on_Load:2| ;=744,5648,100,0
Gate_for_ignore_first>>:2| ;=880,5408,100,0
BeatCounter:3| ;=1024,5408,100,0
Send_signal_on_first_beat:2| ;=1160,5408,100,0
Record_Trigger:3| ;=2840,7168,100,0
Clear:3| ;=600,6472,100,0
Record_button_mixed_here_to_increase_count:2| ;=736,6472,100,0
Counter_for_inital_auto_record_mechanism:2| ;=880,6472,100,0
Only_count_first_2_beat_1_signls:2| ;=1016,6472,100,0
Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:2| ;=1160,6472,100,0
AutoloopArm:3| ;=736,6728,100,0
Clear_button_Also_Disables_Autoarm:2| ;=736,6608,100,0
Disable_arm_on_first_loop_retrigger:2| ;=880,6608,100,0
ArmSwitch:2| ;=1304,5408,100,0
Gate_open_for_1st_2_beat1_triggers:2| ;=1440,5408,100,0
Mix_Beat_Triggers_with_record_button:2| ;=1584,5408,100,0
RecTrigAdder:3| ;=2984,7168,100,0
Mix_Free&Sync_Rec_Triggers:3| ;=1720,5408,100,0
RecTrigConvert:3| ;=1864,5384,100,0
c_to_a:6| ;=1864,5504,100,0
OneShotPlay:3| ;=1160,6352,100,0
OneShotSwitch:2| ;=1296,6352,100,0
>FromModeSw:3| ;=288,5576,100,0
c_not:3| ;=1296,6232,100,0
Dont_allow_loopRetrigger_if_in_FreeMode:3| ;=1440,6232,100,0
LoopConvert:3| ;=1864,5744,100,0
Direction:3| ;=2840,5648,100,0
DirectionMath1:3| ;=2984,5864,100,0
Speed:3| ;=2704,5984,100,0
SpeedMath1:3| ;=2840,6008,100,0
SpeedMath2:3| ;=2984,5984,100,0
SpeednDirectn:3| ;=3120,5864,100,0
Undo:3| ;=2840,7408,100,0
c_to_a:7| ;=1864,5864,100,0
TrimEnd:3| ;=2840,5888,100,0
c_divide:13| ;=2984,6224,100,0
c_multiply:5| ;=3120,6224,100,0
InSelect:3| ;=1720,5288,100,0
In_Switch_R:3| ;=1864,5984,100,0
In_Switch_L:3| ;=1864,5208,100,0
SpliceFade:3| ;=2840,6584,100,0
DubFade:3| ;=2840,7048,100,0
InvertShotSignal:2| ;=1296,6512,100,0
Send_Play_Signal_When_OneShot_turns_Off:2| ;=1440,6512,100,0
Mix_in_Shot_Off_Play_Signal:2| ;=1576,6512,100,0
Dont_allow_PlayTrigger_if_in_FreeMode:3| ;=1720,6512,100,0
c_1shot:3| ;=1576,6632,100,0
Send_signal_if_OneShotMode_turned_On:2| ;=1720,6632,100,0
Mix_Play_Signal_at_Switch_to_Free_Mode:2| ;=1856,6512,100,0
PlayConvert:3| ;=1864,5624,100,0
TrimStart:3| ;=2840,5768,100,0
c_divide:14| ;=2984,6104,100,0
c_multiply:6| ;=3120,6104,100,0
Decay:3| ;=2840,7528,100,0
DecayInvert1:3| ;=2984,7528,100,0
c_adder:9| ;=3120,7528,100,0
OneShot_not_allowed_in_free_mode:2| ;=1440,6632,100,0
dlysmp2n:3| ;=2144,6320,100,0
Process_status_signal_for_text_trigger:2| ;=2704,7168,100,0
c_divide:5| ;=2448,5808,100,0
ClearButton_Resets_Display:3| ;=2560,5840,100,0
LoopPosition:3| ;=3248,5856,100,0
OutSelect:3| ;=3104,5272,100,0
Pan1:3| ;=2560,6688,100,0
Volume1:3| ;=2840,6464,100,0
c_divide:6| ;=2704,6808,100,0
c_adder:10| ;=2840,6808,100,0
c_adder:11| ;=2840,6928,100,0
PanLaw1:3| ;=2704,6688,100,0
PanLaw2:3| ;=2840,6704,100,0
MixPanning:3| ;=2984,6688,100,0
MuteSwitch:3| ;=3248,5744,100,0
MuteSel:3| ;=2264,5296,100,0
stereomixer:3| ;=2424,5208,100,0
FilterType:3| ;=2840,6104,100,0
c_table:3| ;=2984,6344,100,0
Q:3| ;=2840,6224,100,0
Frequency:3| ;=2840,5424,100,0
Filter_R:3| ;=2984,5424,100,0
Filter_L:3| ;=2984,5208,100,0
LSwitch:3| ;=3248,5208,100,0
RSwitch:3| ;=3248,5344,100,0
Sync_Pg1:3| ;=3248,5496,100,0
Playback:3| ;=2984,5648,100,0
Mix-Details:3| ;=3240,6408,100,0
Auto_Thresh_Arm_freemode:3| ;=2984,7288,100,0
Free_Pg1:3| ;=3240,6648,100,0
input_from_StatusOut_Freemode:3| ;=3120,7304,100,0
>FromAudioTrg:3| ;=288,5696,100,0
Hitting_record_disables_Auto_threshold_record:3| ;=3120,7176,100,0
AudioTrgIn:3| ;=3264,7168,100,0
AuTrgMath4:3| ;=736,6848,100,0
AuTrgMath5:3| ;=2840,7288,100,0
>FromStop:4| ;=288,7920,100,0
>FromBeat:4| ;=288,8032,100,0
Beats:4| ;=496,8224,100,0
c_subtract:4| ;=512,8352,100,0
c_comparator:4| ;=648,8320,100,0
Clock_Stop_In:4| ;=744,8088,100,0
Add_Reset_Signal_to_clock_signal_for_reset:3| ;=736,7976,100,0
Ignore_first_otherwise_starts_recording_on_Load:3| ;=744,8208,100,0
Gate_for_ignore_first>>:3| ;=880,7968,100,0
BeatCounter:4| ;=1024,7968,100,0
Send_signal_on_first_beat:3| ;=1160,7968,100,0
Record_Trigger:4| ;=2840,9728,100,0
Clear:4| ;=600,9040,100,0
Record_button_mixed_here_to_increase_count:3| ;=736,9040,100,0
Counter_for_inital_auto_record_mechanism:3| ;=880,9040,100,0
Only_count_first_2_beat_1_signls:3| ;=1016,9040,100,0
Once_first_2_beat_1_signals_have_played_allow_loop_retrigger:3| ;=1160,9040,100,0
AutoloopArm:4| ;=736,9296,100,0
Clear_button_Also_Disables_Autoarm:3| ;=736,9176,100,0
Disable_arm_on_first_loop_retrigger:3| ;=880,9176,100,0
ArmSwitch:3| ;=1304,7968,100,0
Gate_open_for_1st_2_beat1_triggers:3| ;=1440,7968,100,0
Mix_Beat_Triggers_with_record_button:3| ;=1584,7968,100,0
RecTrigAdder:4| ;=2984,9728,100,0
Mix_Free&Sync_Rec_Triggers:4| ;=1720,7968,100,0
RecTrigConvert:4| ;=1864,7952,100,0
c_to_a:8| ;=1864,8072,100,0
OneShotPlay:4| ;=1160,8920,100,0
OneShotSwitch:3| ;=1296,8920,100,0
>FromModeSw:4| ;=288,8144,100,0
c_not:4| ;=1296,8800,100,0
Dont_allow_loopRetrigger_if_in_FreeMode:4| ;=1440,8800,100,0
LoopConvert:4| ;=1864,8312,100,0
Direction:4| ;=2840,8208,100,0
DirectionMath1:4| ;=2984,8432,100,0
Speed:4| ;=2704,8552,100,0
SpeedMath1:4| ;=2840,8568,100,0
SpeedMath2:4| ;=2984,8552,100,0
SpeednDirectn:4| ;=3120,8432,100,0
Undo:4| ;=2840,9968,100,0
c_to_a:9| ;=1864,8432,100,0
TrimEnd:4| ;=2840,8448,100,0
c_divide:15| ;=2984,8792,100,0
c_multiply:7| ;=3120,8792,100,0
InSelect:4| ;=1720,7848,100,0
In_Switch_R:4| ;=1864,8552,100,0
In_Switch_L:4| ;=1864,7768,100,0
SpliceFade:4| ;=2840,9152,100,0
DubFade:4| ;=2840,9608,100,0
InvertShotSignal:3| ;=1296,9080,100,0
Send_Play_Signal_When_OneShot_turns_Off:3| ;=1440,9080,100,0
Mix_in_Shot_Off_Play_Signal:3| ;=1576,9080,100,0
Dont_allow_PlayTrigger_if_in_FreeMode:4| ;=1720,9080,100,0
c_1shot:4| ;=1576,9200,100,0
Send_signal_if_OneShotMode_turned_On:3| ;=1720,9200,100,0
Mix_Play_Signal_at_Switch_to_Free_Mode:3| ;=1856,9080,100,0
PlayConvert:4| ;=1864,8192,100,0
TrimStart:4| ;=2840,8328,100,0
c_divide:16| ;=2984,8672,100,0
c_multiply:8| ;=3120,8672,100,0
Decay:4| ;=2840,10088,100,0
DecayInvert1:4| ;=2984,10088,100,0
c_adder:12| ;=3120,10088,100,0
OneShot_not_allowed_in_free_mode:3| ;=1440,9200,100,0
dlysmp2n:4| ;=2144,8888,100,0
Process_status_signal_for_text_trigger:3| ;=2704,9728,100,0
c_divide:7| ;=2448,8376,100,0
ClearButton_Resets_Display:4| ;=2560,8408,100,0
LoopPosition:4| ;=3248,8424,100,0
OutSelect:4| ;=3104,7840,100,0
Pan1:4| ;=2560,9248,100,0
Volume1:4| ;=2840,9032,100,0
c_divide:8| ;=2704,9368,100,0
c_adder:13| ;=2840,9368,100,0
c_adder:14| ;=2840,9488,100,0
PanLaw1:4| ;=2704,9248,100,0
PanLaw2:4| ;=2840,9272,100,0
MixPanning:4| ;=2984,9248,100,0
MuteSwitch:4| ;=3248,8312,100,0
MuteSel:4| ;=2264,7864,100,0
stereomixer:4| ;=2424,7768,100,0
FilterType:4| ;=2840,8672,100,0
c_table:4| ;=2984,8912,100,0
Q:4| ;=2840,8792,100,0
Frequency:4| ;=2840,7992,100,0
Filter_R:4| ;=2984,7992,100,0
Filter_L:4| ;=2984,7768,100,0
LSwitch:4| ;=3248,7776,100,0
RSwitch:4| ;=3248,7912,100,0
Sync_Pg1:4| ;=3248,8064,100,0
Playback:4| ;=2984,8208,100,0
Mix-Details:4| ;=3240,8976,100,0
Mutes| ;=3824,2064,100,0
MainMenu_Sync| ;=3816,1416,100,0
Sum:8| ;=3820,1000,100,0
Sum:1| ;=3820,20,100,0
Sum:3| ;=3820,160,100,0
Sum:5| ;=3820,300,100,0
Sum:7| ;=3820,440,100,0
Sum:2| ;=3820,580,100,0
Sum:4| ;=3820,720,100,0
Sum:6| ;=3820,860,100,0
Auto_Thresh_Arm_freemode:4| ;=2984,9848,100,0
Free_Pg1:4| ;=3240,9216,100,0
input_from_StatusOut_Freemode:4| ;=3120,9872,100,0
>FromAudioTrg:4| ;=288,8264,100,0
Hitting_record_disables_Auto_threshold_record:4| ;=3120,9744,100,0
AudioTrgIn:4| ;=3264,9728,100,0
AuTrgMath4:4| ;=736,9416,100,0
AuTrgMath5:4| ;=2840,9848,100,0
MainMenu_Free| ;=3824,1728,100,0
uo_switch:1| ;=4016,1280,100,0
tail| -
April 15, 2022 at 6:35 pm #163466John BayliesParticipant
Unfortunately a handful of modules have comments in their code that have yet to be copied into their documentation. That’ll happen one day…
When I design tempo-synced effects for myself I send an audio-rate phasor~ from Max/MSP to the H9000.
For your purposes, you could maybe make a click track in Logic, send the audio from that track to the H9000, detect the click with the comparator module, and convert the detection to a control signal with c_to_a. I don’t have a timeline for when the midiclock module will be fixed, sorry.
-
April 15, 2022 at 6:46 pm #163467patchenParticipant
John, I appreciate your candor, however those are pretty tough pills to swallow given the price of this unit. It really feels like the H9000 is at the back of the line when it comes to any software development resources. I get that you guys gotta keep the lights on, and halo products don’t do that, but man, ouch.
I’ll try your workaround hopefully that works.
-
June 12, 2022 at 5:19 am #164011PuppeteerParticipant
Another bug with documentation
tjknobs has no documentation
-
June 16, 2022 at 3:00 am #164085PuppeteerParticipant
H3000Osc seems to only produce DC offset for waveforms 6 through 19
-
June 16, 2022 at 10:34 am #164090John BayliesParticipant
tjknobs is used in the H9 algs, and will be depreciated eventually. I wouldn’t mess with it..
H3000Osc’s waveforms 6 – 19 should output one, or a half cycle, of the wave type when triggered. They’re not free-running like waveforms 1 – 5. We have a ticket for clarifying this in the docs.
-
June 16, 2022 at 10:59 am #164091PuppeteerParticipant
Thanks John, That explains the Osc’s.
One other thing, in the ADSR documentation, it doesn’t say what unit the Attack, Decay and release is expecting, just rate. I was trying Frequency, but the calcs don’t seem to line up with the results. More like Frequency/100 or something. What is the actual rate unit for the Attack, Decay and Release?
-
June 16, 2022 at 7:26 pm #164093zhoozhaParticipant
hi! there got a very unpleasant bug :
the module freqshift lowers the sound level over time.
somewhere in 5-10 minutes the level can drop by 3-4 dB and further – worse((
-
July 4, 2022 at 9:08 am #164300
-
July 4, 2022 at 9:10 am #164302
-
July 5, 2022 at 10:30 am #164316PuppeteerParticipant
OK, more bugs.
slfo block. I think the sync output is incorrectly identified as an audio output, and should be a control output (or internally it is clocked to the control rate, not the audio rate.
I’ve got audio recordings of the LFO output (square) and the sync, and if you zoom in, you see that only every 4th sample of the sync signal has a value. This wreaks havok with using the sync on anything except for the slfo block. Paradoxically, this is the only source of a saw wave from the slfo block (or any LFO block for that matter).
Also, I’ve built an algorithm that crashes emote (though seems to load into the H9000 just fine). Is there anyone that could have a look to see what has caused it? (I’d need to email this as it is client work)
Attachments:
You must be logged in to view attached files. -
July 5, 2022 at 12:54 pm #164321PuppeteerParticipant
Never mind the previous one. I found a video saying that the LFO’s run at 1/4 of audio frequency, though it would be good to have this specified somewhere. It would also be good to have some sort of bridge that removes the in between values. comparatator2 cannot detect and process single samples. I’ll use the phasor for Sawtooth LFO’s and sync the sLFO to that.
-
September 24, 2022 at 9:17 pm #165770patchenParticipant
I’ve got another one. This is a regression, problem didn’t exist with older H9k Os versions (not sure when this happened though)
c_graph – Default values are not correctly set for the points when loading an algo.
-
September 25, 2022 at 5:22 am #165771PuppeteerParticipant
I’ve got another one. This is a regression, problem didn’t exist with older H9k Os versions (not sure when this happened though) c_graph – Default values are not correctly set for the points when loading an algo.
I can’t reproduce this. I tried a 2 point c_graph and all the defaults seemed to get set correctly, when I select the algorithm.
-
September 25, 2022 at 11:39 am #165774patchenParticipant
It’s happening here with previously saved algorithms as well as new ones. I’ve never used a 2 point c_graph however. Mine are 6-8 points typically. Also worth noting, I’m using my graphs as slider banks since V_fader used to be broken.
If the eventide folks can’t repro this either I’ll send a test algo to show the problem.
-
September 26, 2022 at 9:54 am #165791patchenParticipant
The values LOOK correct on the UI but the actual values when it’s hooked up to something are not set correctly.
-
-
September 26, 2022 at 10:05 am #165792patchenParticipant
The larger problem for me is there is now no way to get a vertical fader bank with externally controllable label values.
sknob3 would be the obvious choice for this application as it seems to be designed for this, the problem is that it has always been broken on the H9k. It offers the option to set the appearance between numeric, hfader, vfader, and round. However all choices just end up displaying as a round knob. 🙁
My previous workaround was to use c_graph which has the added benefit of being able to use less screen real estate, however it is now functionally broken.
Vertical faders are much better when you want to set banks of 8 controls and want to visually be able to see their relationship to each other. i.e. Diatonic shifter banks, Multitap delays, Filter banks, etc, etc.
Could we please get a fix for this application?
-
June 25, 2023 at 3:06 am #172139patchenParticipant
I’ve got a new one, apparently introduced in H9000 FW 2.1.10 / Emote 2.1.2.
TapKnob is no longer displaying values on device or in Emote. Only the name of the control is visible. Documentation states that the ‘s’ format should be used for values but what has actually previously worked is the ‘f’ format, so that is what all my algos use.
So for example to display cutoff in Hz on a tapknob you would previously use “Cutoff:%4.1fHz” but that no longer works, however neither does “Cutoff:%4.1sHz”
I’ve tried different permutations and adding/removing characters and spaces but try as I might I cannot get values to show up anymore.
-
June 25, 2023 at 3:34 am #172140PuppeteerParticipant
Here’s a few I’ve stumbled across.
uo_switch doesn’t work for non-menupage objects. Only works for menupages. I’m not sure if the whole connected to HEAD is still relevant in the H9000 as per the manual page.
curve – I don’t get expected values out of it when trying to build a waveshaper or map. It seems to add an extra point somehow, or the input is not mapped over the full range. I need to pin down exactly what’s happening, but it’s not as per the manual, and trying to build a curve has resulted in frustration every time. I was trying to build crossfader curves using this, or the control variant.
envdetect is broken. It can crash emote, the H9000 and the host.
-
June 25, 2023 at 11:10 am #172142patchenParticipant
“uo_switch doesn’t work for non-menupage objects. Only works for menupages…”
I’m pretty sure this is expected behavior. This one is very useful for ‘Mode switching’ where you show and hide lots of different controls with a switch. From what I remember it will only show up in the first menu. From what I can tell the whole ‘connected to head’ thing is no longer relevant.
“curve – I don’t get expected values out of it…”
Yeah, I think this one has been broken forever. I’ve tried to get it to work before but never had much luck.
“envdetect is broken. It can crash emote, the H9000 and the host.”
Oof, that sounds nasty. I’ll make sure and stay away from that one.
May be worthwhile to report those last two directly to Eventide support so it’s tracked.
-
June 25, 2023 at 8:42 pm #172155PuppeteerParticipant
Yeah, Eventide have got them.
I’ve also documented everything I’ve found in my reference guide, so I have a record of the quirks.
-
June 25, 2023 at 10:38 pm #172157PuppeteerParticipant
Another bug is with vmonitor and hmonitor (and probably other monitors). If you ever get a situation where you try to take a log of zero (for example a level meter where there is silence coming in), the meter will crash emote. The H9000 deals with it OK, but not emote. To work around, put a c_bound with a minimum of a small positive non-zero number, like 0.0000001 (corresponds to -60dB). An example chain is here (only showing control lines). Without c_bound this crashes emote if there is no signal in the mix block, or if the signal is silent.
For the uo_switch, I was trying to add 1 or 2 controls to a menu page using it, but have ended up just switching between 2 menu pages instead. Not a major workaround, and probably neater for any more than 1 switched control. Honestly this could just be solved by updating the documentation stating it only supports switching of menupages.
-
-
AuthorPosts
- You must be logged in to reply to this topic.