Changeset 1882:542b674222eb in roaraudio


Ignore:
Timestamp:
05/23/09 20:31:40 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added midi_cb_readbuf()

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/include/midi.h

    r1866 r1882  
    126126int midi_cb_start(float freq); 
    127127int midi_cb_stop (void); 
     128int midi_cb_readbuf(void); 
    128129 
    129130// dummys: 
  • roard/midi.c

    r1881 r1882  
    610610 
    611611int midi_cb_update (void) { 
     612/* 
     613 if ( midi_cb_readbuf() == -1 ) 
     614  return -1; 
     615*/ 
     616 
    612617 if ( !g_midi_cb.playing ) 
    613618  return 0; 
     
    615620 if ( g_midi_cb.stoptime <= g_pos ) 
    616621  midi_cb_stop(); 
     622 
     623 ROAR_DBG("midi_cb_update(void) = ?"); 
    617624 
    618625 return 0; 
     
    643650} 
    644651 
     652int midi_cb_readbuf(void) { 
     653 struct roar_buffer        * buf = g_midi_mess.buf; 
     654 struct midi_message       * mes = NULL; 
     655 
     656 ROAR_DBG("midi_cb_readbuf(void) = ?"); 
     657 
     658 while (buf != NULL) { 
     659  ROAR_DBG("midi_cb_readbuf(void): buf=%p", buf); 
     660 
     661  if ( roar_buffer_get_data(buf, (void**)&mes) == -1 ) { 
     662   return -1; 
     663  } 
     664 
     665  switch (mes->type) { 
     666   case MIDI_TYPE_NOTE_ON: 
     667     midi_cb_start(mes->d.note.freq); 
     668    break; 
     669   case MIDI_TYPE_NOTE_OFF: 
     670     midi_cb_stop(); 
     671    break; 
     672  } 
     673 
     674  if ( roar_buffer_get_next(buf, &buf) == -1 ) 
     675   buf = NULL; 
     676 } 
     677 
     678 return 0; 
     679} 
     680 
    645681// VIO: 
    646682 
Note: See TracChangeset for help on using the changeset viewer.