Changeset 192:5956b24ab8be in roaraudio


Ignore:
Timestamp:
07/20/08 18:32:23 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added g_midi_cb_playing

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/include/midi.h

    r190 r192  
    1717 
    1818uint32_t g_midi_cb_stoptime; 
     19int g_midi_cb_playing; 
     20 
    1921 
    2022int midi_init (void); 
  • roard/midi.c

    r191 r192  
    1414                  }; 
    1515 
    16  g_console = -1; 
     16 g_console          = -1; 
    1717 g_midi_cb_stoptime = 0; 
     18 g_midi_cb_playing  = 0; 
    1819 
    1920 for (i = 0; files[i] != NULL; i++) { 
     
    4243#define MIDI_CB_OVERRIDE   1 
    4344*/ 
    44  if ( g_midi_cb_stoptime && override != MIDI_CB_OVERRIDE ) 
     45 if ( g_midi_cb_playing && override != MIDI_CB_OVERRIDE ) 
    4546  return -1; 
    4647 
    4748 g_midi_cb_stoptime = ROAR_MATH_OVERFLOW_ADD(g_pos, samples_per_sec*t); 
    4849 midi_cb_start(freq); 
     50 g_midi_cb_playing = 1; 
    4951 
    5052 return 0; 
     
    5254 
    5355int midi_cb_update (void) { 
     56 if ( !g_midi_cb_playing ) 
     57  return 0; 
     58 
    5459 if ( g_midi_cb_stoptime <= g_pos ) 
    5560  midi_cb_stop(); 
     
    6469  return -1; 
    6570 
    66  if ( ioctl(g_console, KIOCSOUND, (int)(1193180.0/freq)) == -1 ) 
     71 if ( ioctl(g_console, KIOCSOUND, freq == 0 ? 0 : (int)(1193180.0/freq)) == -1 ) 
    6772  return -1; 
    6873 
     
    7580int midi_cb_stop (void) { 
    7681#ifdef __linux__ 
     82 g_midi_cb_playing = 0; 
    7783 return midi_cb_start(0); 
    7884#else 
Note: See TracChangeset for help on using the changeset viewer.