Changeset 1924:4b8f87ffd0b0 in roaraudio for roard/midi.c


Ignore:
Timestamp:
05/29/09 19:07:41 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

make midi subsystem a bit configurable

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/midi.c

    r1911 r1924  
    2929#endif 
    3030 
     31int midi_init_config(void) { 
     32 midi_config.init        = 1; 
     33 midi_config.inited      = 0; 
     34 midi_config.init_cb     = 1; 
     35 midi_config.console_dev = NULL; 
     36 
     37 return 0; 
     38} 
     39 
    3140int midi_init (void) { 
    3241 
    33  if ( midi_cb_init() == -1 ) { 
    34   ROAR_WARN("Can not initialize MIDI subsystem component CB"); 
    35  } 
    36  
    37  if ( midi_clock_init() == -1 ) { 
    38   ROAR_WARN("Can not initialize MIDI subsystem component clock"); 
     42 midi_config.inited = 0; 
     43 
     44 if ( midi_config.init ) { 
     45  if ( midi_config.init_cb ) { 
     46   if ( midi_cb_init() == -1 ) { 
     47    ROAR_WARN("Can not initialize MIDI subsystem component CB"); 
     48   } 
     49  } 
     50 
     51  if ( midi_clock_init() == -1 ) { 
     52   ROAR_WARN("Can not initialize MIDI subsystem component clock"); 
     53  } 
     54 
    3955 } 
    4056 
    4157 g_midi_mess.buf = NULL; 
    4258 
     59 midi_config.inited |= MIDI_INITED_MAIN; 
     60 
    4361 return 0; 
    4462} 
    4563 
    4664int midi_free (void) { 
    47  return midi_cb_free(); 
     65 if ( midi_reinit() == -1 ) 
     66  return -1; 
     67 
     68 if ( midi_cb_free() == -1 ) 
     69  return -1; 
     70 
     71 return 0; 
    4872} 
    4973 
     
    495519 midi_clock_set_bph(3600); // one tick per sec 
    496520 
     521 midi_config.inited |= MIDI_INITED_CLOCK; 
     522 
    497523 return 0; 
    498524} 
     
    560586 int i; 
    561587 char * files[] = { 
     588                   "/NX", 
     589                   "/dev/roarconsole", 
    562590                   "/dev/console", 
    563591#ifdef __linux__ 
     
    573601 g_midi_cb.playing  =  0; 
    574602 
     603 if ( midi_config.console_dev != NULL ) { 
     604  files[0] = midi_config.console_dev; 
     605 } 
     606 
    575607 for (i = 0; files[i] != NULL; i++) { 
    576608  if ( (g_midi_cb.console = open(files[i], O_WRONLY|O_NOCTTY, 0)) != -1 ) 
     
    615647 streams_set_flag(g_midi_cb.stream, ROAR_FLAG_HWMIXER); 
    616648 streams_set_flag(g_midi_cb.stream, ROAR_FLAG_MUTE); 
     649 
     650 midi_config.inited |= MIDI_INITED_CB; 
    617651 
    618652 return 0; 
Note: See TracChangeset for help on using the changeset viewer.