diff --git a/G1_everything.sh b/G1_everything.sh new file mode 100644 index 0000000..9ceadc6 --- /dev/null +++ b/G1_everything.sh @@ -0,0 +1,208 @@ +python3 zoom-zt2.py -A 1 -u 0 -i 16 -n COMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 32 -n RACKCOMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 48 -n SLWATK.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 64 -n ZNR.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 80 -n MUTESW.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 96 -n GRAYCOMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 112 -n N_GATE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 128 -n OPTCOMP.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 16 -n BLACKOPT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 32 -n LMT1176.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 48 -n 160_COMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 64 -n DUAL_CMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 80 -n MB_COMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 96 -n DCOMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 112 -n GLAMCOMP.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 16 -n AUTOWAH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 32 -n RESONANC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 48 -n CRY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 64 -n SEQFLTR.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 81 -n GT_GEQ1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 84 -n GTGEQ71U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 97 -n STGTGE1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 112 -n PARAEQ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 144 -n RNDMFLTR.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 160 -n LOWPASSF.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 176 -n EXCITER.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 192 -n STEP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 208 -n LFO_FLTR.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 16 -n B_ATWAH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 32 -n Z_TRON.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 48 -n A_FILTER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 64 -n BA_CRY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 81 -n BA_GEQ1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 97 -n STBGEQ1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 112 -n BA_PEQ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 128 -n SPLITTER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 144 -n LOW_EQ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 149 -n HIGH_EQ.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 160 -n ENV_FLTR.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 16 -n TS_DRIVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 32 -n EP_STOMP.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 48 -n RCBOOST.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 64 -n GOLD_DRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 80 -n SWEETDRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 96 -n DYNDRIVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 112 -n REDCRUNC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 128 -n MTLWRLD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 144 -n TB_MK15.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 160 -n OCTFUZZ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 176 -n SPTBOOST.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 192 -n ACOSIM.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 208 -n NYC_MUFF.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 224 -n BGTHRTTL.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 240 -n BG_GRID.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 288 -n DIST_1.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 304 -n SQUEAK.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 320 -n UPOCTBST.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 336 -n OUT_BST.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 352 -n DISTPLUS.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 368 -n ZEN_DRV.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 400 -n VIOLETDS.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 17 -n BA_DRV1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 33 -n DIPLUS1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 49 -n DRKPRE1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 64 -n BASS_BB.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 80 -n DI5.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 96 -n BA_PRE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 112 -n B_OD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 128 -n BA_TSDRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 144 -n DARK_OD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 160 -n BBB_OD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 176 -n VOODOO_B.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 192 -n BA_FZSML.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 208 -n BA_METAL.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 224 -n BA_OCTFZ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 17 -n MS800_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 25 -n MS19591U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 27 -n MS45OS1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 33 -n FD_TWR1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 40 -n FDBMAN1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 44 -n FDDLXR1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 45 -n FDMSTR1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 49 -n UK30A_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 65 -n BGMK1_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 67 -n BGMK3_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 81 -n XTSBLU1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 97 -n HW100_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 113 -n RCTORG1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 129 -n ORG1201U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 145 -n DZ_DRV1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 161 -n MACH301U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 17 -n SVT_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 33 -n BMN1001U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 49 -n SWR4001U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 65 -n AG750_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 81 -n TE400_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 97 -n AC370_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 112 -n MINIMARK.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 129 -n EBH3601U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 145 -n B15N_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 16 -n MS4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 24 -n MS4X12GB.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 26 -n MS4X12AL.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 32 -n FD2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 39 -n FDB4X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 42 -n FDDX1X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 43 -n FDMA2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 48 -n UK2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 64 -n MK1_1X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 66 -n MK3_1X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 80 -n BGN4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 96 -n HW4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 112 -n RCT4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 128 -n ORG_4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 144 -n DZ4X12F.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 160 -n MA2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 16 -n SVT_8X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 24 -n SV4X10TW.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 32 -n FD_B4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 48 -n SWR_4X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 64 -n AG4X10TW.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 80 -n TE_4X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 96 -n AC_1X18.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 112 -n MKB2X8TW.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 128 -n EB4X10TW.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 144 -n AM1X15.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 16 -n TREMOLO.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 32 -n CHORUS.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 48 -n STEREOCH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 64 -n PHASER.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 80 -n VINFLNGR.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 96 -n THEVIBE.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 112 -n VIBRATO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 128 -n OCTAVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 144 -n RINGMOD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 160 -n DETUNE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 176 -n PITCHSHF.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 192 -n MONOPITC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 208 -n HPS.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 240 -n SLICER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 256 -n CLONECHO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 272 -n SUPERCHO.ZD2 -v 1.40 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 288 -n STONEPHA.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 305 -n CRNTRI3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 320 -n BENDCHO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 336 -n ANA234CH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 352 -n WRPPHASE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 369 -n DUOPHA1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 32 -n B_ST_CHO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 64 -n B_VFLNG.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 80 -n B_OCTAVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 96 -n B_DETUNE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 112 -n B_PITCH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 128 -n BASS_PHA.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 16 -n BOMBER.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 32 -n AUTOPAN.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 65 -n LPROLL3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 80 -n HOTSPICE.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 16 -n STDSYN.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 32 -n SYNTLK.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 49 -n Z_SYN_1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 64 -n DEFRET.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 80 -n PH_DIST.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 17 -n DELAY_3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 33 -n ANDLY_3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 48 -n TAPEECHO.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 65 -n RVRSDL3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 80 -n MODDELAY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 129 -n PPDLY_3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 144 -n FLTRDLY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 161 -n DUALDL3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 177 -n PTCHDL3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 193 -n SLPBKD3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 209 -n APANDL3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 225 -n PHASDL1U.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 241 -n TPEC3_3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 257 -n ICEDLY3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 273 -n SLATDL3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 289 -n SOFTEC3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 16 -n AIR.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 32 -n ROOM.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 48 -n HALL.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 64 -n HD_HALL.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 80 -n SPRING.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 96 -n FDSPRING.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 112 -n PLATEREV.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 128 -n EARLYREF.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 160 -n CHURCH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 208 -n CHAMBER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 224 -n GATE_REV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 16 -n PDL_VOL.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 32 -n BLCK_WAH.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 48 -n CHRM_WAH.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 64 -n WH100.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 80 -n PDL_PIT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 96 -n PDL_MNPT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 112 -n PDL_VIBE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 128 -n PDL_DRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 144 -n PDL_PHA.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 161 -n PDLDLY3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 176 -n PDL_REV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 193 -n OSCECH3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 208 -n VOICE_WH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 225 -n PDLROT3S.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 240 -n PDL_BITC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 256 -n PDL_FLNG.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 128 -i 32 -n PDL_RESO.ZD2 -v 1.40 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 255 -i 65520 -n OUT_VP.ZD2 -v 1.10 -w everything.zt2 diff --git a/G1_everything.zt2 b/G1_everything.zt2 new file mode 100644 index 0000000..83f3c76 Binary files /dev/null and b/G1_everything.zt2 differ diff --git a/G1_missing.sh b/G1_missing.sh new file mode 100644 index 0000000..ad9ae33 --- /dev/null +++ b/G1_missing.sh @@ -0,0 +1,11 @@ +python3 zoom_zt2.py -A 2 -u 0 -i 128 -n EGFILTER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom_zt2.py -A 3 -u 0 -i 256 -n TS_BOOST.ZD2 -v 1.20 -w everything.zt2 +python3 zoom_zt2.py -A 3 -u 0 -i 272 -n REDCRBST.ZD2 -v 1.10 -w everything.zt2 +python3 zoom_zt2.py -A 6 -u 0 -i 224 -n KICKFLNG.ZD2 -v 1.20 -w everything.zt2 +python3 zoom_zt2.py -A 8 -u 0 -i 96 -n HOLDDLY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom_zt2.py -A 9 -u 0 -i 176 -n AMBIENCE.ZD2 -v 1.10 -w missing.zt2 +python3 zoom_zt2.py -A 9 -u 0 -i 192 -n PARTICLE.ZD2 -v 1.20 -w missing.zt2 +python3 zoom_zt2.py -A 9 -u 0 -i 240 -n HOLDVERB.ZD2 -v 1.00 -w missing.zt2 +python3 zoom_zt2.py -A 10 -u 128 -i 16 -n BASSWAH.ZD2 -v 1.30 -w everything.zt2 +python3 zoom_zt2.py -A 10 -u 128 -i 48 -n B_PDLPIT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom_zt2.py -A 10 -u 128 -i 64 -n B_PDLMNP.ZD2 -v 1.20 -w everything.zt2 diff --git a/G1_purge.sh b/G1_purge.sh new file mode 100644 index 0000000..d226f03 --- /dev/null +++ b/G1_purge.sh @@ -0,0 +1,209 @@ +# awk -F " " '{print $1, $2, "-U", $10, "-S empty.zt2";}' < G1_everything.sh +python3 zoom-zt2.py -U COMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RACKCOMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SLWATK.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ZNR.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MUTESW.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U GRAYCOMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U N_GATE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U OPTCOMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BLACKOPT.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U LMT1176.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U 160_COMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DUAL_CMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MB_COMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DCOMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U GLAMCOMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AUTOWAH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RESONANC.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U CRY.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SEQFLTR.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U GT_GEQ1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U GTGEQ71U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U STGTGE1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PARAEQ.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RNDMFLTR.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U LOWPASSF.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U EXCITER.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U STEP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U LFO_FLTR.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B_ATWAH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U Z_TRON.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U A_FILTER.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_CRY.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_GEQ1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U STBGEQ1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_PEQ.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SPLITTER.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U LOW_EQ.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U HIGH_EQ.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ENV_FLTR.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U TS_DRIVE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U EP_STOMP.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RCBOOST.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U GOLD_DRV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SWEETDRV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DYNDRIVE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U REDCRUNC.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MTLWRLD.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U TB_MK15.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U OCTFUZZ.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SPTBOOST.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ACOSIM.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U NYC_MUFF.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BGTHRTTL.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BG_GRID.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DIST_1.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SQUEAK.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U UPOCTBST.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U OUT_BST.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DISTPLUS.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ZEN_DRV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U VIOLETDS.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_DRV1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DIPLUS1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DRKPRE1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BASS_BB.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DI5.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_PRE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B_OD.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_TSDRV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DARK_OD.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BBB_OD.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U VOODOO_B.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_FZSML.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_METAL.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BA_OCTFZ.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MS800_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MS19591U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MS45OS1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FD_TWR1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FDBMAN1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FDDLXR1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FDMSTR1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U UK30A_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BGMK1_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BGMK3_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U XTSBLU1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U HW100_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RCTORG1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ORG1201U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DZ_DRV1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MACH301U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SVT_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BMN1001U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SWR4001U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AG750_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U TE400_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AC370_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MINIMARK.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U EBH3601U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B15N_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MS4X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MS4X12GB.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MS4X12AL.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FD2X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FDB4X10.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FDDX1X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FDMA2X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U UK2X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MK1_1X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MK3_1X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BGN4X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U HW4X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RCT4X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ORG_4X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DZ4X12F.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MA2X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SVT_8X10.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SV4X10TW.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FD_B4X12.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SWR_4X10.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AG4X10TW.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U TE_4X10.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AC_1X18.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MKB2X8TW.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U EB4X10TW.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AM1X15.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U TREMOLO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U CHORUS.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U STEREOCH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PHASER.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U VINFLNGR.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U THEVIBE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U VIBRATO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U OCTAVE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RINGMOD.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DETUNE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PITCHSHF.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MONOPITC.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U HPS.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SLICER.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U CLONECHO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SUPERCHO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U STONEPHA.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U CRNTRI3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BENDCHO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ANA234CH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U WRPPHASE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DUOPHA1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B_ST_CHO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B_VFLNG.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B_OCTAVE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B_DETUNE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U B_PITCH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BASS_PHA.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BOMBER.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AUTOPAN.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U LPROLL3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U HOTSPICE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U STDSYN.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SYNTLK.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U Z_SYN_1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DEFRET.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PH_DIST.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DELAY_3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ANDLY_3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U TAPEECHO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U RVRSDL3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U MODDELAY.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PPDLY_3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FLTRDLY.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U DUALDL3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PTCHDL3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SLPBKD3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U APANDL3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PHASDL1U.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U TPEC3_3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ICEDLY3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SLATDL3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SOFTEC3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U AIR.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U ROOM.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U HALL.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U HD_HALL.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U SPRING.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U FDSPRING.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PLATEREV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U EARLYREF.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U CHURCH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U CHAMBER.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U GATE_REV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_VOL.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U BLCK_WAH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U CHRM_WAH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U WH100.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_PIT.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_MNPT.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_VIBE.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_DRV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_PHA.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDLDLY3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_REV.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U OSCECH3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U VOICE_WH.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDLROT3S.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_BITC.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_FLNG.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U PDL_RESO.ZD2 -S empty.zt2 +python3 zoom-zt2.py -U OUT_VP.ZD2 -S empty.zt2 diff --git a/G3_G5_everything.sh b/G3_G5_everything.sh new file mode 100644 index 0000000..871a041 --- /dev/null +++ b/G3_G5_everything.sh @@ -0,0 +1,219 @@ +python3 zoom-zt2.py -A 1 -u 0 -i 16 -n COMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 32 -n RACKCOMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 48 -n SLWATK.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 64 -n ZNR.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 80 -n MUTESW.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 96 -n GRAYCOMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 112 -n N_GATE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 0 -i 128 -n OPTCOMP.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 16 -n BLACKOPT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 32 -n LMT1176.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 64 -n DUAL_CMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 80 -n MB_COMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 96 -n DCOMP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 1 -u 128 -i 112 -n GLAMCOMP.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 16 -n AUTOWAH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 32 -n RESONANC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 48 -n CRY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 64 -n SEQFLTR.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 80 -n GT_GEQ.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 83 -n GT_GEQ_7.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 96 -n ST_GT_GE.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 112 -n PARAEQ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 128 -n EGFILTER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 144 -n RNDMFLTR.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 160 -n LOWPASSF.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 176 -n EXCITER.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 192 -n STEP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 0 -i 208 -n LFO_FLTR.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 16 -n B_ATWAH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 32 -n Z_TRON.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 48 -n A_FILTER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 64 -n BA_CRY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 80 -n BA_GEQ.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 96 -n ST_B_GEQ.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 112 -n BA_PEQ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 128 -n SPLITTER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 144 -n LOW_EQ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 149 -n HIGH_EQ.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 2 -u 128 -i 160 -n ENV_FLTR.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 16 -n TS_DRIVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 32 -n EP_STOMP.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 48 -n RCBOOST.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 64 -n GOLD_DRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 80 -n SWEETDRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 96 -n DYNDRIVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 112 -n REDCRUNC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 128 -n MTLWRLD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 144 -n TB_MK15.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 160 -n OCTFUZZ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 176 -n SPTBOOST.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 192 -n ACOSIM.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 208 -n NYC_MUFF.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 224 -n BGTHRTTL.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 240 -n BG_GRID.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 256 -n TS_BOOST.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 272 -n REDCRBST.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 288 -n DIST_1.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 304 -n SQUEAK.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 320 -n UPOCTBST.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 336 -n OUT_BST.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 352 -n DISTPLUS.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 368 -n ZEN_DRV.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 0 -i 400 -n VIOLETDS.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 16 -n BASSDRV.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 32 -n DI_PLUS.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 48 -n DARK_PRE.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 64 -n BASS_BB.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 80 -n DI5.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 96 -n BA_PRE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 112 -n B_OD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 128 -n BA_TSDRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 144 -n DARK_OD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 160 -n BBB_OD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 176 -n VOODOO_B.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 192 -n BA_FZSML.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 208 -n BA_METAL.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 3 -u 128 -i 224 -n BA_OCTFZ.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 16 -n MS800.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 24 -n MS1959.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 26 -n JTM45OS.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 32 -n FD_TWINR.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 39 -n FD_BMAN.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 42 -n FD_DLXR.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 43 -n FD_MSTR.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 48 -n UK30A.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 64 -n BG_MK1.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 66 -n BG_MK3.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 80 -n XTACYBLU.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 96 -n HW100.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 112 -n RCT_ORG.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 128 -n ORG_120.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 144 -n DZ_DRV.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 0 -i 160 -n MATCH_30.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 16 -n SVT.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 32 -n BMAN100.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 48 -n SWR400.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 64 -n AG750.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 80 -n TE400SMX.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 96 -n AC_370.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 112 -n MINIMARK.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 128 -n EB_HD360.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 4 -u 128 -i 144 -n B15N.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 16 -n MS4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 24 -n MS4X12GB.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 26 -n MS4X12AL.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 32 -n FD2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 39 -n FDB4X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 42 -n FDDX1X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 43 -n FDMA2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 48 -n UK2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 64 -n MK1_1X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 66 -n MK3_1X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 80 -n BGN4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 96 -n HW4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 112 -n RCT4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 128 -n ORG_4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 144 -n DZ4X12F.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 0 -i 160 -n MA2X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 16 -n SVT_8X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 24 -n SV4X10TW.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 32 -n FD_B4X12.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 48 -n SWR_4X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 64 -n AG4X10TW.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 80 -n TE_4X10.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 96 -n AC_1X18.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 112 -n MKB2X8TW.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 128 -n EB4X10TW.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 5 -u 128 -i 144 -n AM1X15.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 16 -n TREMOLO.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 32 -n CHORUS.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 48 -n STEREOCH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 64 -n PHASER.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 80 -n VINFLNGR.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 96 -n THEVIBE.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 112 -n VIBRATO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 128 -n OCTAVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 144 -n RINGMOD.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 160 -n DETUNE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 176 -n PITCHSHF.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 192 -n MONOPITC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 208 -n HPS.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 224 -n KICKFLNG.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 240 -n SLICER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 256 -n CLONECHO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 272 -n SUPERCHO.ZD2 -v 1.40 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 288 -n STONEPHA.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 304 -n CRN_TRI.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 320 -n BENDCHO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 336 -n ANA234CH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 352 -n WRPPHASE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 0 -i 368 -n DUO_PHA.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 32 -n B_ST_CHO.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 64 -n B_VFLNG.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 80 -n B_OCTAVE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 96 -n B_DETUNE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 112 -n B_PITCH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 6 -u 128 -i 128 -n BASS_PHA.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 16 -n BOMBER.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 32 -n AUTOPAN.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 64 -n LOOPROLL.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 0 -i 80 -n HOTSPICE.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 16 -n STDSYN.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 32 -n SYNTLK.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 48 -n Z_SYN.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 64 -n DEFRET.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 7 -u 128 -i 80 -n PH_DIST.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 16 -n DELAY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 32 -n ANALOGDL.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 48 -n TAPEECHO.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 64 -n REVERSED.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 80 -n MODDELAY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 96 -n HOLDDLY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 128 -n P_P_DLY.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 144 -n FLTRDLY.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 160 -n DUALDIGD.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 176 -n PITCHDLY.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 192 -n SLAPBKD.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 208 -n APANDLY.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 224 -n PHASEDLY.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 240 -n TAPEECH3.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 256 -n ICE_DLY.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 272 -n SLWATKDL.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 8 -u 0 -i 288 -n SOFTECHO.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 16 -n AIR.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 32 -n ROOM.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 48 -n HALL.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 64 -n HD_HALL.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 80 -n SPRING.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 96 -n FDSPRING.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 112 -n PLATEREV.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 128 -n EARLYREF.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 144 -n SPC_HOLE.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 160 -n CHURCH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 176 -n AMBIENCE.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 192 -n PARTICLE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 208 -n CHAMBER.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 224 -n GATE_REV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 9 -u 0 -i 240 -n HOLDVERB.ZD2 -v 1.00 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 16 -n PDL_VOL.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 32 -n BLCK_WAH.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 48 -n CHRM_WAH.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 64 -n WH100.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 80 -n PDL_PIT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 96 -n PDL_MNPT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 112 -n PDL_VIBE.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 128 -n PDL_DRV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 144 -n PDL_PHA.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 160 -n PDL_DLY.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 176 -n PDL_REV.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 192 -n OSC_ECHO.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 208 -n VOICE_WH.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 224 -n PDL_ROT.ZD2 -v 1.10 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 240 -n PDL_BITC.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 0 -i 256 -n PDL_FLNG.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 128 -i 16 -n BASSWAH.ZD2 -v 1.30 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 128 -i 32 -n PDL_RESO.ZD2 -v 1.40 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 128 -i 48 -n B_PDLPIT.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 128 -i 64 -n B_PDLMNP.ZD2 -v 1.20 -w everything.zt2 +python3 zoom-zt2.py -A 10 -u 255 -i 65520 -n OUT_VP.ZD2 -v 1.10 -w everything.zt2 diff --git a/G3_G5_everything.zt2 b/G3_G5_everything.zt2 new file mode 100644 index 0000000..395c1a0 Binary files /dev/null and b/G3_G5_everything.zt2 differ diff --git a/empty.zt2 b/empty.zt2 new file mode 100644 index 0000000..b387051 Binary files /dev/null and b/empty.zt2 differ diff --git a/pictures/G1Four_with_bass.png b/pictures/G1Four_with_bass.png new file mode 100644 index 0000000..ef8ad91 Binary files /dev/null and b/pictures/G1Four_with_bass.png differ diff --git a/pictures/effect_name_deltas.png b/pictures/effect_name_deltas.png new file mode 100644 index 0000000..58c2ebf Binary files /dev/null and b/pictures/effect_name_deltas.png differ diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..faafeaa --- /dev/null +++ b/readme.md @@ -0,0 +1,86 @@ + +This repo contains a Python script and associated files for uploading effects to +the ZOOM G Series pedals (G1Four and possibly others). + +Inspired by another project, which allows for the re-packing of effects into the +ZOOM F/W Installer binary. Unfortunately that technique proved unsuccessful on the +G1Four. +https://github.com/Barsik-Barbosik/Zoom-Firmware-Editor + +The script has been tested with G1Four, it is expected/hoped that it will also +work on the G1XFour, B1Four, B1XFour, G3n, G3Xn, B3n and G5n. + +This project is not supported/authorized by ZOOM, use at your own risk. + +## Operation. + +The 'zoom-zt2.py' script uses MIDI SysEx to control the pedal, and functions +on Linux and Windows. A pre-built Windows binary is provided in releases for +convience for those who down have/want Python install. + +In order to install a new effect, the binary for the effect must first be located - +which can be extracted from the F/W Installer binary via 'Zoom-Firmware-Editor'. + +Download current state of FLST_SEQ ("-R -w") from the pedal, then add new effect to +it ("-A") and re-uploaded it & the new binary blob ("-S" & "-I"). + +``` +$ python3 zoom-zt2.py -R -w try_glamcomp.zt2 +$ python3 zoom-zt2.py -A 1 -n "GLAMCOMP.ZD2" -v "1.10" -i 112 -u 128 -w try_glamcomp.zt2 +Group 1: + GLAMCOMP.ZD2 +Add:GLAMCOMP.ZD2 +$ python3 zoom-zt2.py -I "GLAMCOMP.ZD2" -S try_glamcomp.zt2 +``` + +And it's installed... :-) + +## Effects + +The effects used by the G1Four are '.ZD2' format, these are also used on the G3n and G5n +pedals. They are not compatible with the '.ZDL' effects used on the 'MultiStomp' pedals. + +Mostly effect binaries are common between the G1Four and the G3n/G5n, although it would appear +that some effects are imcompatible due to hardware differences - these appear to be denoted with +'1U' (only one screen on G1Four) and '3S' suffixes on the filenames. + +The is also a 'GUARDZDL.ZT2' file within the F/W which blacklists some effects from the +G3/G5. + +The AC-2 and AC-3 use a similar '.ZD2' effects, but they do not have a LCD display +and all effects are in a special 'group 29'. + +## Options + +The script is controlled via command line options, primarily it used for editing the +contents of '.zt2' files. But it also allows for upload/download to the pedal. + +``` +$ python3 zoom-zt2.py -h +Usage: zoom-zt2.py [options] FILENAME + +Options: + -h, --help show this help message and exit + -d, --dump dump configuration to text + -s, --summary summarized configuration in human readable form + -b BUILD, --build=BUILD + output commands required to build this FLTS_SEQ + -A ADD, --add=ADD add an effect to group ADD + -n NAME, --name=NAME effect name (use with --add) + -v VER, --ver=VER effect version (use with --add) + -i ID, --id=ID effect id (use with --add) + -u UNKNOWN, --unknown=UNKNOWN + effect unknown (use with --add) + -t TOGGLE, --toggle=TOGGLE + toggle install/uninstall state of effect NAME in + FLST_SEQ + -D DELETE, --delete=DELETE + delete last effect in group DEL + -w, --write write config back to same file + -R, --receive Receive FLST_SEQ from attached device + -S, --send Send FLST_SEQ to attached device + -I INSTALL, --install=INSTALL + Install effect binary to attached device + -U UNINSTALL, --uninstall=UNINSTALL + Remove effect binary from attached device +``` diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..518d620 --- /dev/null +++ b/setup.py @@ -0,0 +1,21 @@ +from cx_Freeze import setup, Executable + +base = None + +executables = [Executable("zoom-zt2.py", base=base)] + +packages = ["construct", "os", "optparse", "sys", "binascii", "mido", "rtmidi_python"] +options = { + 'build_exe': { + 'packages':packages, + 'excludes':["pygame", "numpy"], + }, +} + +setup( + name = "zoom-zt2.py", + options = options, + version = "0.1.0.0", + description = 'Script for Upload Effects/Configuration to ZOOM G Series Pedals', + executables = executables +) diff --git a/zoom-zt2.py b/zoom-zt2.py new file mode 100644 index 0000000..6b75dc6 --- /dev/null +++ b/zoom-zt2.py @@ -0,0 +1,491 @@ +#!/usr/bin/python +# +# Script decode/encode ZT2 file from Zoom F/W +# (c) Simon Wood, 11 July 2019 +# + +from construct import * + +#-------------------------------------------------- +# Define file format using Construct (v2.9) +# requires: +# https://github.com/construct/construct + +Header = Struct( + Const(b"\x3e\x3e\x3e\x00"), + Padding(22), + "name" / PaddedString(12, "ascii"), + Padding(6), + Const(b"\x01"), + Padding(7), + Const(b"\x3c\x3c\x3c\x00"), + Padding(22), +) + +Effect = Struct( + "effect" / PaddedString(12, "ascii"), + Const(b"\x00"), + "version" / PaddedString(4, "ascii"), + Const(b"\x00"), + "installed" / Default(Byte, 1), # "Guitar Lab additional effects" = 0 + "id" / Int16ul, + "unknown" / Byte, # seems to be connected with ID + "group" / Byte, + Check(this.group == this._.group), + Const(b"\x00\x00\x00"), +) + +Group = Struct( + Const(b"\x3e\x3e\x3e\x00"), + "group" / Byte, + "groupname" / Enum(Computed(this.group), + DYNAMICS = 1, + FILTER = 2, + DRIVE = 3, + AMP = 4, + CABINET = 5, + MODULATION = 6, + SFX = 7, + DELAY = 8, + REVERB = 9, + PEDAL = 11, + ACOUSTIC = 29, + ), + Padding(21), + "effects" / GreedyRange(Effect), + Const(b"\x3c\x3c\x3c\x00"), + "group_end" / Rebuild(Byte, this.group), + Check(this.group_end == this.group), + Padding(21), +) + +ZT2 = Padded(8502, Sequence( + "header" / Header, + "groups" / GreedyRange(Group), +)) + +#-------------------------------------------------- + +import sys +import os +from optparse import OptionParser +import mido +import binascii +from time import sleep + +inport = None +outport = None +data = bytearray(b"") + +if sys.platform == 'win32': + mido.set_backend('mido.backends.rtmidi_python') + midiname = b"ZOOM G" +else: + midiname = "ZOOM G" + +usage = "usage: %prog [options] FILENAME" +parser = OptionParser(usage) +parser.add_option("-d", "--dump", + help="dump configuration to text", + action="store_true", dest="dump") +parser.add_option("-s", "--summary", + help="summarized configuration in human readable form", + action="store_true", dest="summary") +parser.add_option("-b", "--build", + help="output commands required to build this FLTS_SEQ", + dest="build") + +parser.add_option("-A", "--add", + help="add an effect to group ADD", dest="add") +parser.add_option("-n", "--name", + help="effect name (use with --add)", dest="name") +parser.add_option("-v", "--ver", + help="effect version (use with --add)", dest="ver") +parser.add_option("-i", "--id", + help="effect id (use with --add)", dest="id") +parser.add_option("-u", "--unknown", + help="effect unknown (use with --add)", dest="unknown") + +parser.add_option("-t", "--toggle", + help="toggle install/uninstall state of effect NAME in FLST_SEQ", dest="toggle") +parser.add_option("-D", "--delete", + help="delete last effect in group DEL", dest="delete") + +parser.add_option("-w", "--write", dest="write", + help="write config back to same file", action="store_true") + +# interaction with attached device +parser.add_option("-R", "--receive", + help="Receive FLST_SEQ from attached device", + action="store_true", dest="receive") +parser.add_option("-S", "--send", + help="Send FLST_SEQ to attached device", + action="store_true", dest="send") +parser.add_option("-I", "--install", + help="Install effect binary to attached device", dest="install") +parser.add_option("-U", "--uninstall", + help="Remove effect binary from attached device", dest="uninstall") + +(options, args) = parser.parse_args() +if len(args) != 1: + parser.error("FILE not specified") + +if options.install and options.uninstall: + sys.exit("Cannot use 'install' and 'uninstall' at same tiime") + +if options.receive or options.send or options.install: + for port in mido.get_input_names(): + if port[:len(midiname)]==midiname: + inport = mido.open_input(port) + #print("Using Input:", port) + break + for port in mido.get_output_names(): + if port[:len(midiname)]==midiname: + outport = mido.open_output(port) + #print("Using Output:", port) + break + + if inport == None or outport == None: + sys.exit("Unable to find Pedal") + + # Enable PC Mode + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x52]) + outport.send(msg); sleep(0); msg = inport.receive() + +if options.receive: + # Set up read + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x25, 0x00, 0x00, 0x46, 0x4c, 0x53, 0x54, 0x5f, 0x53, 0x45, 0x51, 0x2e, 0x5a, 0x54, 0x32, 0x00, 0x05]) + outport.send(msg); sleep(0); msg = inport.receive() + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x27]) + outport.send(msg); sleep(0); msg = inport.receive() + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x4c, 0x53, 0x54, 0x5f, 0x53, 0x45, 0x51, 0x2e, 0x5a, 0x54, 0x32, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + + # Read parts 1 through 17 + for part in range(17): + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x22, 0x14, 0x2f, 0x60, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x00, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + + #decode received data + packet = msg.data + block = bytearray(b"") + offset = 10 + loop = -1 # start by reading hibits value + hibits = 0 + + length = int(packet[offset-1]) * 128 + int(packet[offset-2]) + for byte in range(length + int(length/7) + 1): + if loop !=-1: + if (hibits & (2**loop)): + block.append(128 + packet[offset+byte]) + else: + block.append(packet[offset+byte]) + loop = loop - 1 + else: + hibits = packet[offset+byte] + # do we need to acount for short sets (at end of block block)? + loop = 6 + + # confirm checksum (last 5 bytes of packet) + checksum = packet[-5] + (packet[-4] << 7) + (packet[-3] << 14) \ + + (packet[-2] << 21) + ((packet[-1] & 0x0F) << 28) + if (checksum ^ 0xFFFFFFFF) == binascii.crc32(block): + data = data + block + else: + print("Checksum error", hex(checksum)) +else: + # Read data from file + infile = open(args[0], "rb") + if not infile and not options.test: + sys.exit("Unable to open config FILE for reading") + else: + data = infile.read() + infile.close() + +if options.add and options.name and options.ver and options.id and options.unknown: + config = ZT2.parse(data) + + group = config[1][int(options.add)-1] + number = group['group'] + effects = group['effects'] + + print("Group %s:" % number) + for effect in effects: + print(" %s" % effect["effect"]) + + # create record for new effect + print("Add:%s" % options.name) + new = dict(effect=options.name, version=options.ver, id=int(options.id), \ + unknown=int(options.unknown), group=number) + + effects.append(new) + data = ZT2.build(config) + +if options.delete: + config = ZT2.parse(data) + + group = config[1][int(options.delete)-1] + number = group['group'] + effects = group['effects'] + + print("Group %s:" % number) + last = len(effects)-1 + for effect in effects[:-1]: + print(" %s" % effect["effect"]) + + print("Del:%s" % effects[last]['effect']) + + del effects[last] + data = ZT2.build(config) + +if options.dump and data: + config = ZT2.parse(data) + print(config) + +if options.toggle and data: + config = ZT2.parse(data) + groupnum=0 + + for group in config[1]: + for effect in dict(group)["effects"]: + if dict(effect)["effect"] == options.toggle: + if dict(effect)["installed"] == 1: + config[1][groupnum]["effects"][0]["installed"] = 0 + else: + config[1][groupnum]["effects"][0]["installed"] = 1 + + groupnum = groupnum + 1 + data = ZT2.build(config) + +if options.summary and data: + config = ZT2.parse(data) + for group in config[1]: + print("Group", dict(group)["group"], ":", dict(group)["groupname"]) + + for effect in dict(group)["effects"]: + print(" ", dict(effect)["effect"], "(ver=", dict(effect)["version"], \ + "), group=", dict(effect)["group"], ", id=", dict(effect)["id"], \ + "unknown=", dict(effect)["unknown"], \ + ", installed=", dict(effect)["installed"]) + +if options.build and data: + config = ZT2.parse(data) + for group in config[1]: + for effect in dict(group)["effects"]: + print("python3 zoom-zt2.py -A ", dict(effect)["group"], \ + "-u", dict(effect)["unknown"], "-i", dict(effect)["id"], \ + "-n", dict(effect)["effect"], "-v", dict(effect)["version"], \ + "-w", options.build) + +if options.write and data: + outfile = open(args[0], "wb") + if not outfile: + sys.exit("Unable to open FILE for writing") + + outfile.write(data) + outfile.close() + +binfile = None +if options.install: + # Read data from file + binfile = open(options.install, "rb") + if infile: + bindata = binfile.read() + binfile.close() + +if options.install or options.uninstall: + # I "f0 52 00 6e 60 25 00 00 42 4c 41 43 4b 4f 50 54 2e 5a 44 32 00 f7" + # U "f0 52 00 6e 60 25 00 00 42 4c 41 43 4b 4f 50 54 2e 5a 44 32 00 f7" + packet = bytearray(b"\x52\x00\x6e\x60\x25\x00\x00") + if options.install: + head, tail = os.path.split(options.install) + else: + head, tail = os.path.split(options.uninstall) + + for x in range(len(tail)): + packet.append(ord(tail[x])) + packet.append(0x00) + msg = mido.Message("sysex", data = packet) + outport.send(msg); sleep(0); msg = inport.receive() + + # U "f0 52 00 6e 60 05 00 f7" + + # I/U "f0 52 00 6e 60 27 f7" + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x27]) + outport.send(msg); sleep(0); msg = inport.receive() + + # I "f0 52 00 6e 60 20 01 00 00 00 00 00 00 00 00 00 42 4c 41 43 4b 4f 50 54 2e 5a 44 32 00 f7" + # U "f0 52 00 6e 60 24 42 4c 41 43 4b 4f 50 54 2e 5a 44 32 00 f7 00" + if options.install: + packet = bytearray(b"\x52\x00\x6e\x60\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00") + else: + packet = bytearray(b"\x52\x00\x6e\x60\x24") + for x in range(len(tail)): + packet.append(ord(tail[x])) + packet.append(0x00) + msg = mido.Message("sysex", data = packet) + outport.send(msg); sleep(0); msg = inport.receive() + + # getting hung during uninstall.... + if options.install: + # "f0 52 00 6e 60 05 00 f7" + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + + # data sent same way as FLST + while options.install and len(bindata): + # header (without 0xF0) + packet = bytearray(b"\x52\x00\x6e\x60\x23\x40\x00\x00\x00\x00") + + if len(bindata) > 512: + length = 512 + else: + length = len(bindata) + packet.append(length & 0x7f) + packet.append((length >> 7) & 0x7f) + packet = packet + bytearray(b"\x00\x00\x00") + + # Encode/Pack high bits + encode = bytearray(b"\x00") + for z in range(length): + # into [0] bits 7..0 + encode[0] = encode[0] + ((bindata[z] & 0x80) >> len(encode)) + encode.append(bindata[z] & 0x7f) + + if len(encode) > 7: + #print(binascii.hexlify(encode)) + packet = packet + encode + encode = bytearray(b"\x00") + + # don't forget to add last few bytes + if len(encode) > 1: + packet = packet + encode + + # Compute CRC32 + crc = binascii.crc32(bindata[:length]) ^ 0xFFFFFFFF + packet.append(crc & 0x7f) + packet.append((crc >> 7) & 0x7f) + packet.append((crc >> 14) & 0x7f) + packet.append((crc >> 21) & 0x7f) + packet.append((crc >> 28) & 0x0f) + + bindata = bindata[length:] + #print(hex(len(packet)), binascii.hexlify(packet)) + + msg = mido.Message("sysex", data = packet) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + +if options.send: + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x25, 0x00, 0x00, 0x46, 0x4c, 0x53, 0x54, 0x5f, 0x53, 0x45, 0x51, 0x2e, 0x5a, 0x54, 0x32, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x27]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x24, 0x46, 0x4c, 0x53, 0x54, 0x5f, 0x53, 0x45, 0x51, 0x2e, 0x5a, 0x54, 0x32, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x4c, 0x53, 0x54, 0x5f, 0x53, 0x45, 0x51, 0x2e, 0x5a, 0x54, 0x32, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + #print("sending FLTS_SEQ next....") + + while len(data): + # header (without 0xF0) + packet = bytearray(b"\x52\x00\x6e\x60\x23\x40\x00\x00\x00\x00") + + if len(data) > 512: + length = 512 + else: + length = len(data) + packet.append(length & 0x7f) + packet.append((length >> 7) & 0x7f) + packet = packet + bytearray(b"\x00\x00\x00") + + # Encode/Pack high bits + encode = bytearray(b"\x00") + for z in range(length): + # into [0] bits 7..0 + encode[0] = encode[0] + ((data[z] & 0x80) >> len(encode)) + encode.append(data[z] & 0x7f) + + if len(encode) > 7: + #print(binascii.hexlify(encode)) + packet = packet + encode + encode = bytearray(b"\x00") + + # don't forget to add last few bytes + if len(encode) > 1: + packet = packet + encode + + # Compute CRC32 + crc = binascii.crc32(data[:length]) ^ 0xFFFFFFFF + packet.append(crc & 0x7f) + packet.append((crc >> 7) & 0x7f) + packet.append((crc >> 14) & 0x7f) + packet.append((crc >> 21) & 0x7f) + packet.append((crc >> 28) & 0x0f) + + data = data[length:] + #print(hex(len(packet)), binascii.hexlify(packet)) + + msg = mido.Message("sysex", data = packet) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x05, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + +if options.send or options.install or options.uninstall: + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x09]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + ''' + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x60, 0x09]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x57]) + outport.send(msg); sleep(0); msg = inport.receive() + #print(msg) + ''' + + +if options.receive or options.send: + # Disable PC Mode + msg = mido.Message("sysex", data = [0x52, 0x00, 0x6e, 0x53]) + outport.send(msg); sleep(0); msg = inport.receive()