-+K -m0 -+Y
sr = 44100
kr = 441
ksmps = 100
nchnls = 2
strset 11.1, "---"
strset 12.8001, "Note off"
strset 14.4001, "Note on"
strset 15.1000, "Poly aftertouch"
strset 17.6001, "Control change"
strset 19.2001, "Program change"
strset 22.4001, "Pitch bend"
strset 20.8001, "Chn aftertouch"
FLpanel "This Panel contains Midi scope",500,100
gihnull FLbox "MIDI monitor", 6,1,14,464, 41, 8,16
FLsetAlign 6,gihnull
gihEvnull FLbox "Event", 1,1,14,130,0, 10, 26
gihEv FLbox " ", 1,5,14,130, 20, 10, 35
gihSb FLvalue "Status Byte", 90, 20, 140, 35
gihD1 FLvalue "Data Byte 1", 90, 20, 230, 35
gihD2 FLvalue "Data Byte 2", 90, 20, 320, 35
gihCh FLvalue "Channel", 60, 20, 410, 35
FLsetBox 1,gihSb
FLsetBox 1,gihCh
FLsetBox 1,gihD1
FLsetBox 1,gihD2
FLsetAlign 6,gihSb
FLsetAlign 6,gihD1
FLsetAlign 6,gihD2
FLsetAlign 6,gihCh
FLhide gihEvnull
FLhide gihEv
FLhide gihSb
FLhide gihCh
FLhide gihD1
FLhide gihD2
FLpanel_end
FLrun
instr 1
FLshow gihEvnull
FLshow gihEv
FLshow gihSb
FLshow gihCh
FLshow gihD1
FLshow gihD2
icolor ftgen 167,0,32,-2, 0,151,151, 6,255,6, 50,214,218, 11,164,255, 181,67,204, 250,250,0, 255,6,131,192,192,192
tb0_init icolor
kstatus init 0
khold = kstatus
kstatus, kchan, kdata1, kdata2 midiin
kstatus = (kstatus = 0 ? khold : kstatus)
FLprintk2 kstatus, gihSb
FLprintk2 kchan, gihCh
FLprintk2 kdata1, gihD1
FLprintk2 kdata2, gihD2
kMidiTr changed kstatus
reset:
istatus init (i(kstatus) < 128 ? 11.1 : i(kstatus)*.1)
;istatus init i(kstatus)*.1
istatus init ((i(kstatus) >= 160) && (i(kstatus) < 176) ? 15.1 : istatus)
FLsetText istatus,gihEv
indx = (i(kstatus) = 128 ? 0 : 21)
indx = (i(kstatus) = 144 ? 3 : indx)
indx = (i(kstatus) = 160 ? 6 : indx)
indx = (i(kstatus) = 176 ? 9 : indx)
indx = (i(kstatus) = 192 ? 12 : indx)
indx = (i(kstatus) = 208 ? 15 : indx)
indx = (i(kstatus) = 224 ? 18 : indx)
;FLsetTextColor tb0(indx),tb0(indx+1),tb0(indx+2),gihEv
FLsetColor tb0(indx),tb0(indx+1),tb0(indx+2),gihnull
FLsetColor tb0(indx),tb0(indx+1),tb0(indx+2),gihEv
FLsetColor tb0(indx),tb0(indx+1),tb0(indx+2),gihSb
FLsetColor tb0(indx),tb0(indx+1),tb0(indx+2),gihD1
FLsetColor tb0(indx),tb0(indx+1),tb0(indx+2),gihD2
FLsetColor tb0(indx),tb0(indx+1),tb0(indx+2),gihCh
if kMidiTr = 0 goto contin
reinit reset
contin:
endin
i1 0 1000
e