H9000+Vsig3 bugs

Home Forums Products Vsig and Preset Development H9000+Vsig3 bugs

Tagged: 

Viewing 51 reply threads
  • Author
    Posts
    • #115812
      patchen
      Participant

      mknob(mkb) – Appearence setting do not work,  always appear as round knobs with any setting of:

                                0 – numeric

                                1 – horizontal fader

                                2 – vertical fader

                                3 – round

       

       

      This is true of Emote software and hardware interface

    • #154234
      patchen
      Participant

      Preset #654 – Vintage Delay is broken

      Nothing but digital hash comes out of this one

       

    • #154240
      dbaylies
      Moderator
      Eventide Staff

      Thanks much patchen for the bug reports, I'll make a note of these and look into them.

       

      -David

    • #154550
      patchen
      Participant

      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.

    • #154560
      dbaylies
      Moderator
      Eventide Staff

      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

    • #154561
      patchen
      Participant

      Done, Thank you David.  I have been in contact and have an open ticket with Jerome.  I’ve referenced that ticket as welll.

       

       

    • #157408
      John Baylies
      Participant

      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.

       

    • #158691
      Puppeteer
      Participant

      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.

    • #158693
      John Baylies
      Participant
    • #158700
      Puppeteer
      Participant

      The link on that page to the windows version actually downloads 3.3.0

    • #158703
      John Baylies
      Participant

      That's unfortunate. That'll be fixed soon. In the meantime, https://etide.io/6w8cc

       

    • #158707
      Puppeteer
      Participant

      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.

    • #158712
      John Baylies
      Participant

      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.

    • #158717
      Puppeteer
      Participant

      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.

    • #158721
      John Baylies
      Participant

      There's no trick for that yet, but that feature will certainly be added one day.

    • #158736
      patchen
      Participant

      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

       

    • #158737
      John Baylies
      Participant

      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.

    • #158747
      patchen
      Participant

      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!

    • #158748
      patchen
      Participant

      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.

       

       

    • #158757
      John Baylies
      Participant

      > 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.

       

       

       

    • #159950
      Puppeteer
      Participant

      Bug with the module documentation

      Under Bridge: a_to_c appears twice.  Both of them give the biquad documentation when selected.

    • #159951
      John Baylies
      Participant

      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

    • #163450
      patchen
      Participant

      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.

    • #163459
      John Baylies
      Participant

      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?

    • #163461
      studionebula
      Participant

      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. 🙂

       

    • #163462
      patchen
      Participant

      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.

    • #163463
      patchen
      Participant

      Speaking of documentation, it might help us if the MidiClock module actually had complete documentation……

    • #163464
      patchen
      Participant

      deleted

    • #163465
      patchen
      Participant

      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|

    • #163466
      John Baylies
      Participant

      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.

    • #163467
      patchen
      Participant

      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.

       

    • #164011
      Puppeteer
      Participant

      Another bug with documentation

      tjknobs has no documentation

    • #164085
      Puppeteer
      Participant

      H3000Osc seems to only produce DC offset for waveforms 6 through 19

    • #164090
      John Baylies
      Participant

      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.

    • #164091
      Puppeteer
      Participant

      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?

    • #164093
      zhoozha
      Participant

      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((

    • #164300
      Puppeteer
      Participant

      Another Bug.

      c_tablen will not open if there are more than 999 entries in the table.  I’ve attached the error that it throws and an example which was saved from VSIG.

       

      Attachments:
      You must be logged in to view attached files.
    • #164302
      Puppeteer
      Participant

      The sig2 wouldn’t upload. Trying again zipped.

      Attachments:
      You must be logged in to view attached files.
    • #164316
      Puppeteer
      Participant

      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.
    • #164321
      Puppeteer
      Participant

      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.

    • #165770
      patchen
      Participant

      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.

    • #165771
      Puppeteer
      Participant

      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.

      • #165774
        patchen
        Participant

        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.

      • #165791
        patchen
        Participant

        The values LOOK correct on the UI but the actual values when it’s hooked up to something are not set correctly.

    • #165792
      patchen
      Participant

      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?

    • #172139
      patchen
      Participant

      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.

    • #172140
      Puppeteer
      Participant

      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.

    • #172142
      patchen
      Participant

      @Puppeteer,

      “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.

    • #172155
      Puppeteer
      Participant

      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.

      • #172156
        patchen
        Participant

        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.

        Ah nice, cheers!

    • #172157
      Puppeteer
      Participant

      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.

      Image Pasted at 2022-12-26 18-36

      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.

    • #178636
      patchen
      Participant

      Does sknob3 work as intended?  I’m trying to use  ctrlin input to display a processed value but it only shows the native values generated by the knob.

      Has anybody been able to get this to work?

      For example I send the output to a multiplier, and then the output of that multiplier back into the ctrlin input on the sknob3.  It should display the value after the multiplier but it doesn’t. Thanks!

    • #179040
      patchen
      Participant

      Anybody?

    • #179042
      Puppeteer
      Participant

      Last I checked sknob3 was still broken, but I haven’t tested on the new version of VSIG, which was just released.

    • #179114
      patchen
      Participant

      ah, thanks puppeteer. i’ll take a look.

Viewing 51 reply threads
  • You must be logged in to reply to this topic.