trying to show you the negative numbers I'm getting in midi notes...
I don't understand your dollar signs, your new() command, your fn() scope
SO... CONFUSED...
Code: Select all
include "midi_selector.pixi"
midi_dev = -1
midi_port = 0
test=1
client=1
noteNumber="0"// also tried =0, new(1,INT8), new(1,INT16)
noteVelocity="0"
if(client){
mc = midi_open_client( "Pixi MIDI Client" )
midi_selector( mc, MIDI_PORT_READ | MIDI_PORT_WRITE )
clear(RED)
// frame(1000)
dt("midi_dev",midi_dev)
midi_open_port ( mc, midi_port, midi_dev, MIDI_PORT_READ )
frame(1000)
sleep(100)
}//if client
if(test){
//clear(BLUE)
//frame(1000)
while(1){
midinotesonly()
while( get_event() )
{
if EVT[ EVT_TYPE ] == EVT_QUIT {
midi_close_client( mc )
sleep(10)
halt }//if EVT_QUIT
}//while( get_event())
frame()
}//while(1)
}//if test
fn midinotesonly(){
evt_size = midi_get_event( mc, midi_port, midi_event )
if(evt_size > 0){
i=0
me=midi_event[i]
if((me & 0b11100000)==0b10000000){//it's a note
noteOn=(me & 0b00010000)
runningStatus:
i+1
noteNumber=midi_event[i]
i+1
noteVelocity=midi_event[i]
if(i<(evt_size-1)){
goto runningStatus
}//if i
/*
*/
dt("note number",noteNumber)
}//note event
}//if evt_size
midi_next_event( mc, midi_port )
}//midinotesonly
fn dt($txt,$tvar){
//berg="lkjahsdflkjhasdlkfhj"
$berg=""
$berg=$txt
//copy($berg,$txt)
$msg2=""
sprintf($msg2,": %u",$tvar)
strcat($berg,$msg2)
clear(BLUE)
print( $berg, 0, -100, BLACK, RIGHT | TOP )
print( $berg, -1, -102, BLACK, RIGHT | TOP )
print( $berg, -0, -101, YELLOW, RIGHT | TOP )
//WHY IS IT SCROLLING LEFTWARD!?!?!?!?
frame(200)
$berg=""
$msg2=""
remove($berg)
remove($msg2)
//why can't I clear these fricken vars
clean($berg)
clean($msg2)
}