Code: Select all
DIM SHARED OrderTable%(255, 6) 'Order table
DIM SHARED CopyPaste&(63) 'CopyPaste buffer
COMMON SHARED HANDLE%, MBASE%, speed%, SCOUNT%, QUIT%, TMFROW%, ORDERROW%
COMMON SHARED TMFLEN%, TMFPAT%, EXITS%, PAGE%, MX%, MY%, MB%, COCTAVE%
COMMON SHARED KEYS%, TRACKPOS%, SAC%, PLAYMOD%, SEGM%, OFFSET&, OFFSET2&
COMMON SHARED Title$, Author$, Notes$, TMFdate$, CURPOS%, LASTCUR%, Ch1%
COMMON SHARED NOOT%, OKTAV%, OCTPLUS%, NOTE%, octave%, EFFECT%, VALUE%
COMMON SHARED EDITCH%, LCPOS%, CPOS%, DRUM%, i%, L%, C%, C2%, START%, ISPEED%
COMMON SHARED OFFS%, XOFF&, BYTES&, ERRR%, LASTCUR2%, CURPOS2%, EDITPOS%
COMMON SHARED ZSEG%, XSEG%, CDIR$, TMFfileName$, UPDATEPOS%, COPYSTART%
COMMON SHARED COPYLEN%, SHIFTON%, COPYCH%, COPYS%, COPYPASTELEN%, ERR2%
COMMON SHARED PLAYINLOOP%, LOOPVAL%, CHAN%, CTRL%, PATCH%, SPD%, DIR%
COMMON SHARED SHIFTSTART%, SHIFTEND%, LOOPORDER%, ECH%, EDITENABLE%
SUB EDITCOPY
COPYPASTELEN% = COPYLEN%
COPYEND% = COPYSTART% + COPYLEN%: ii% = 0
FOR i% = COPYSTART% TO COPYEND%
SELECT CASE EDITCH%
CASE 0: ECH% = 0
CASE 1: ECH% = 1
CASE 2: ECH% = 2
CASE 3: ECH% = 3
CASE 4: ECH% = 4
CASE 5: ECH% = 5
CASE 6: ECH% = 6
CASE 7: ECH% = 6
CASE 8: ECH% = 7
END SELECT
CopyPaste&(ii%) = Patterns&(i%, ECH%)
IF EDITCH% = 7 THEN CopyPaste&(ii%) = CopyPaste&(ii%) \ 65536
ii% = ii% + 1
NEXT i%
END SUB
SUB EDITDELETE
COPYEND% = COPYSTART% + COPYLEN%
FOR i% = COPYSTART% TO COPYEND%
SELECT CASE EDITCH%
CASE 0: ECH% = 0
CASE 1: ECH% = 1
CASE 2: ECH% = 2
CASE 3: ECH% = 3
CASE 4: ECH% = 4
CASE 5: ECH% = 5
CASE 6: ECH% = 6
CASE 7: ECH% = 6
CASE 8: ECH% = 7
END SELECT
IF ECH% = 6 THEN
A& = Patterns&(i%, ECH%)
IF EDITCH% = 6 THEN A& = (A& AND &HFFFF0000)
IF EDITCH% = 7 THEN A& = (A& AND 65535)
Patterns&(i%, ECH%) = A&
ELSE
Patterns&(i%, ECH%) = 0
END IF
NEXT i%
END SUB
To do CUT function, I call EDITCOPY and EDITDELETE, but when EDITDELETE is called, the CopyPaste buffer is empty....
Sorry for non-commented code...
any ideas ?