Making Modulation Table Presets Accessible Across Projects



  • I've created some modulation table presets that are saved with my current project. Is there a file location that HISE will look in that I can put these that will make them available to all of my projects?



  • You can use absolute paths in the include() statement (I just checked it on OS X and it works there). However I strongly recommend avoiding it because you can't port it to another system, but while developing it might be OK.

    Do you need it just for developing or do you want to have a common file folder also for exported plugins?



  • I'm not sure I was clear with my original post. I've made some s-shaped and equal power x-fade gain modulation tables that I'd like to have available for other projects so I don't have to copy the files to each project. Are you saying these can be added using the include() command?
    0_1477680281296_Capture.JPG



  • Did you know you can create table curves via scripting?

    HiseSnippet 836.3ocsVstbRCDEdCPloEacTGe.xzeQGqoIPuPGGGagVbvdAFCV8e0sIKvZC6hIanRc7YyWIeCz8BPBRZAbFyvjImuy24vWN64raZFPcQggz.f1iZMrOBnsltyPBqa0tPLAT+Xf1i0OGFxPAFJnJC6CCCQd.MsruU.nsZNf75WuoBzGRbQwP.vkTrK5LbOLKF8yGdJ12uFzC0B2KA6cNrtKkTk5Si35IqtEnOz8FXGzEPAsL5fAXzsg.MK8REMCtw956NxjeUbvocp8wxHSyl0Mm4phoIvMJH.QXWxCGnoq8a9kl9IdXFMvgAYHdNyVg5MzoK8Vh5u9RbH9ZejvvF3v0jBFTsK12q43xVH.nkqYbQLqpH9b8ywd3I3wEymHcXDGQxxoVlokTtojj88IoZTeOQBtG4okPd4Tx6o5NtA39rXOBs8rQn2i5TNAY3UN9pTHyX.LvfA4BpEha8ZCYeiYGDqk.bRRJrgz1PvZiMe054WO+jnLCPgHVAKAbLX33TPwDtysLT+r42M2cZpPOuooZaZYrsgcwT3NSZskz2dDYwshKT12SPcdZtnJ4JthakmS.kjALhtsJ+siHtLLkXPIWPYnFjBal+64WM+OlwS61o4pJkvBn99nfz7Jl9BdfvJPh5cMJXK9JseDZLOdi1zso4Wr1TdSCiOClfHkTmfYM5ilXqdIGiXAl7xkDJ9kJIp7kIEZwPyNa.ppzD+oYGR3ipTuHeHa54WwddibvKVSMgTWjrPLaXx8D++OTuxD8BcCnSDsTuqoGO7Mes9gPjjdRLYRqS7PeKA5Oc5QortSu8M9PIWYFNFxf.sSz2ob7FwGTkeaPiu1ueeI59NCOa3WD1u6.Iglb66Zven8KlDToFf+tBlcwpforbufKxOUuIl41M8U4LoT4.fkXU1J0UY64n2QGrrt9IsaibYwhMmdsO8udJxRHk2SiXXRmygr.LuSP+hndN7iocQbkPHH+Pw4pYDiTJaKgsnx3fHdViOzcjSags1Hm1icB5IZetxUM2J5xWQhv0DQ9A.qp5vMrAxMjT5tG+7zqbcEEhWxUd5QTboinzRGwNKcD6tzQr2RGw9KcDkefHDe7xQQLZO0XA.7G7KiGmI
    


  • Ah I had no idea, that opens up some new possibilities for me, thanks



  • I've created a handy little module for generating these table curves. Drop it in a script slot after you've added your Midi controller modulators and then once you've used the script to apply the curves you can remove it. - no license on this just use it for whatever you want however you like.

    alt text

    <?xml version="1.0" encoding="UTF-8"?>
    
    <Processor Type="ScriptProcessor" ID="XFade Curves" Bypassed="0" Script="Content.setHeight(50);&#10;&#10;const var tableEnvelopes = Synth.getIdList(&quot;Midi Controller&quot;);&#10;const var modulators = [];&#10;&#10;for (env in tableEnvelopes)&#10;{&#10;&#9;modulators.push(Synth.getTableProcessor(env));&#10;}&#10;&#10;//---GUI&#10;const var cmbType = Content.addComboBox(&quot;Type&quot;, 0, 0);&#10;cmbType.set(&quot;items&quot;, [&quot;Equal Power&quot;, &quot;S-Shaped&quot;].join(&quot;\n&quot;));&#10;&#10;const var cmbCount = Content.addComboBox(&quot;Count&quot;, 150, 0);&#10;cmbCount.set(&quot;items&quot;, [&quot;2&quot;, &quot;3&quot;, &quot;4&quot;, &quot;5&quot;, &quot;6&quot;, &quot;7&quot;].join(&quot;\n&quot;));&#10;&#10;const var btnApply = Content.addButton(&quot;Apply&quot;, 300, 0);&#10;&#10;//FUNCTIONS&#10;inline function equalPower2(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function equalPower3(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/2, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1, 0, 0);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/2, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function equalPower4(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1, 0, 0);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/3+1/3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/3+1/3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/3+1/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/3+1/3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function equalPower5(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/4, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 0, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/4, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/4+1/4, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/4, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/4+1/4, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, (1/4)*3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 0, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/4*2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/4+1/4*2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 4:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/4*3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 0, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function equalPower6(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5*2, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5*2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/5*3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5*2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5*3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/5*4, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;&#9;&#9;&#10;&#9;&#9;case 4:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5*3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5*4, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 5:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5*4, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 0, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function equalPower7(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/4, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 0, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4), 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4)*2, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4/2), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4+1/4/2), 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, ((1.0/4)*2)+1/8, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4*2), 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, ((1.0/4)*2)+1/8*2, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 4:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4+1/4/2), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4*2)+1/8, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, ((1.0/4)*2)+1/8*3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 5:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4*2), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4*2)+1/8*2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, ((1.0/4)*2)+1/8*4, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 6:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4*2)+1/8*2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, ((1.0/4)*2)+1/8*4, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function sShape2(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 0, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function sShape3(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/4, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/4, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1.0/4*3, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/4*3, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function sShape4(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1, 0, 0);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/3+1/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1/3+1/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 1, 0, 0.25);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/3, 0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/3+1/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/3+1/3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1/3+1/3+1/6, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 1, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/3+1/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/3+1/3+1/6, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function sShape5(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1.0/3+1/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1.0/3+1/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/3/2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/3, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1.0/3+1/3/2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1.0/3+1/3, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 1.0/3+1/3+1/6, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 6, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/3+1/3/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1.0/3+1/3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1.0/3+1/3+1/6, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 4:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/3+1/3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/3+1/3+1/6, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function sShape6(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/5+1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1/5*2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5+1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/5*2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1/5+1/5+1/10, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 1/5*3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 6, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5+1/5, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5+1/5+1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/5*3, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1/5*3+1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 1/5*4, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 6, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;&#9;&#9;&#10;&#9;&#9;case 4:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5+1/5+1/5, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5+1/5+1/5+1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 1/5*4, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, 1/5*4+1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 5:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1/5*4, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1/5*4+1/5/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;inline function sShape7(tableProcessor, stage)&#10;{&#10;&#9;tableProcessor.reset(0);&#10;&#10;&#9;switch (stage)&#10;&#9;{&#10;&#9;&#9;case 0:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/4/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, 1.0/4, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 1:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, 1.0/4/2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4), 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, (1/4+1/4/2), 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, (1.0/4)*2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 2:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4/2), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4), 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, (1.0/4+1/4/2), 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, ((1.0/4)*2), 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, ((1.0/4)*2)+1/8, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 6, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 3:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4+1/4/2), 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, (1.0/4*2), 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, ((1.0/4)*2)+1/8, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, ((1.0/4)*2)+1/8*2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 6, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 4:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4+1/4/2), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4*2), 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, (1.0/4*2)+1/8, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, (1.0/4*2)+1/8*2, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, ((1.0/4)*2)+1/8*3, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 6, 0, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 5:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4*2), 0.0, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4*2)+1/8, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, (1.0/4*2)+1/8*2, 1, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 4, (1.0/4*2)+1/8*3, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 5, ((1.0/4)*2)+1/8*4, 0, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#10;&#9;&#9;case 6:&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 0, 0, 0, 1);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 1, (1.0/4*2)+1/8*2, 0, 0.75);&#10;&#9;&#9;&#9;tableProcessor.addTablePoint(0, 1, 1);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 2, (1.0/4*2)+1/8*3, 0.5, 0.25);&#10;&#9;&#9;&#9;tableProcessor.setTablePoint(0, 3, ((1.0/4)*2)+1/8*4, 1, 0.75);&#10;&#9;&#9;&#9;break;&#10;&#9;}&#10;};&#10;&#10;function onNoteOn()&#10;{&#10;&#9;&#10;}&#10;function onNoteOff()&#10;{&#10;&#9;&#10;}&#10;function onController()&#10;{&#10;&#9;&#10;}&#10;function onTimer()&#10;{&#10;&#9;&#10;}&#10;function onControl(number, value)&#10;{&#10;&#9;switch (number)&#10;&#9;{&#10;&#9;&#9;case btnApply:&#10;&#10;&#9;&#9;&#9;btnApply.setValue(0);&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;for (i = 0; i &lt; modulators.length; i++)&#10;&#9;&#9;&#9;{&#10;&#9;&#9;&#9;&#9;if (cmbType.getValue() == 1) //Equal power&#10;&#9;&#9;&#9;&#9;{&#10;&#9;&#9;&#9;&#9;&#9;switch (cmbCount.getValue())&#10;&#9;&#9;&#9;&#9;&#9;{&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 1: equalPower2(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 2: equalPower3(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 3: equalPower4(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 4: equalPower5(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 5: equalPower6(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 6: equalPower7(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;}&#10;&#9;&#9;&#9;&#9;}&#10;&#9;&#9;&#9;&#9;else &#10;&#9;&#9;&#9;&#9;{&#10;&#9;&#9;&#9;&#9;&#9;switch (cmbCount.getValue())&#10;&#9;&#9;&#9;&#9;&#9;{&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 1: sShape2(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 2: sShape3(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 3: sShape4(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 4: sShape5(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 5: sShape6(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;&#9;case 6: sShape7(modulators[i], i); break;&#10;&#9;&#9;&#9;&#9;&#9;}&#10;&#9;&#9;&#9;&#9;}&#10;&#9;&#9;&#9;}&#10;&#10;&#9;&#9;break;&#10;&#9;}&#10;}">
      <EditorStates BodyShown="1" Visible="1" Solo="0" contentShown="1" onInitOpen="0"
                    onNoteOnOpen="0" onNoteOffOpen="0" onControllerOpen="0" onTimerOpen="0"
                    onControlOpen="0"/>
      <ChildProcessors/>
      <Content>
        <Control type="ScriptComboBox" id="Type" value="0"/>
        <Control type="ScriptComboBox" id="Count" value="0"/>
        <Control type="ScriptButton" id="Apply" value="0"/>
      </Content>
    </Processor>
    
    


  • Nice! You might want to add an option to specify the index so that you can build crossfade tables for each group more quickly. This is a screenshot of three linear XFades with different indexes:

    0_1488133216539_Bildschirmfoto 2017-02-26 um 19.18.42.png

    EDIT: Nevermind, just realized you are doing this already on different modulators.

    BTW, did you know you can copy & paste tables? Just select one (so it gets outlined), Ctrl + C, select another and press Ctrl + V.

    You could add a dummy table to your script which can then just be used as copy source for all kinds of modulators.


 

2
Online

353
Users

1.1k
Topics

7.5k
Posts