version 1.4 | | version 1.5 |
---|
| | |
//#define WANT_MPU401 1 | | //#define WANT_MPU401 1 |
| | |
#ifdef WANT_MPU401 | | #ifdef WANT_MPU401 |
| | |
| | unsigned char reset_genmidi[5] = |
| | { 0x7e, 0x7f, 0x09, 0x01, 0xf7 }; |
| | |
| | #define MIDI_RESET { \ |
| | SEQ_MIDIOUT(synth_dev,MIDI_SYSTEM_PREFIX); \ |
| | SEQ_MIDIOUT(synth_dev,reset_genmidi[0]); \ |
| | SEQ_MIDIOUT(synth_dev,reset_genmidi[1]); \ |
| | SEQ_MIDIOUT(synth_dev,reset_genmidi[2]); \ |
| | SEQ_MIDIOUT(synth_dev,reset_genmidi[3]); \ |
| | SEQ_MIDIOUT(synth_dev,reset_genmidi[4]); \ |
| | } |
| | |
#define MIDI_MESSAGE2(a,b) { \ | | #define MIDI_MESSAGE2(a,b) { \ |
SEQ_MIDIOUT(synth_dev,a); \ | | SEQ_MIDIOUT(synth_dev,a); \ |
SEQ_MIDIOUT(synth_dev,b); \ | | SEQ_MIDIOUT(synth_dev,b); \ |
| | |
} | | } |
| | |
if (card_info.synth_type==SYNTH_TYPE_MIDI) { | | if (card_info.synth_type==SYNTH_TYPE_MIDI) { |
// Insert some sort of midi reset here later. | | MIDI_RESET; |
| | SEQ_DUMPBUF(); |
} else | | } else |
#endif | | #endif |
#ifdef WANT_AWE32 | | #ifdef WANT_AWE32 |
| | |
#endif | | #endif |
#ifdef WANT_MPU401 | | #ifdef WANT_MPU401 |
if (card_info.synth_type==SYNTH_TYPE_MIDI) { | | if (card_info.synth_type==SYNTH_TYPE_MIDI) { |
| | MIDI_RESET; |
| | SEQ_DUMPBUF(); |
} else | | } else |
#endif | | #endif |
{ | | { |
| | |
IPC_CREAT | 0660); | | IPC_CREAT | 0660); |
snd=malloc(sizeof(long) + 32); | | snd=malloc(sizeof(long) + 32); |
snd->mtype=1; | | snd->mtype=1; |
player_thread=SDL_CreateThread(play_hmi, NULL); | | player_thread=SDL_CreateThread((int (*)(void *))play_hmi, NULL); |
// player_pid = play_hmi(); | | // player_pid = play_hmi(); |
} | | } |
if (strlen(message) < 16) | | if (strlen(message) < 16) |
| | |
int n_chunks = 0; | | int n_chunks = 0; |
int low_dtime; | | int low_dtime; |
int low_chunk; | | int low_chunk; |
int csec; | | int csec,lcsec; |
// pid_t loc_pid; | | // pid_t loc_pid; |
int qid; | | int qid; |
int ipc_read = 0; | | int ipc_read = 0; |
| | |
pos += (( (0xff & data[pos + 5]) << 8 ) + (0xff & data[pos + 4])); | | pos += (( (0xff & data[pos + 5]) << 8 ) + (0xff & data[pos + 4])); |
} | | } |
| | |
| | lcsec=0; |
| | |
SEQ_START_TIMER(); | | SEQ_START_TIMER(); |
do | | do |
{ | | { |
| | |
k = 0; | | k = 0; |
} | | } |
| | |
| | if (csec != lcsec) { |
SEQ_WAIT_TIME(csec); | | SEQ_WAIT_TIME(csec); |
| | } |
| | |
| | lcsec = csec; |
| | |
t_info[low_chunk].status = do_track_event(data,&t_info[low_chunk].position); | | t_info[low_chunk].status = do_track_event(data,&t_info[low_chunk].position); |
| | |