BOOL load_settings(void) { HANDLE hFile; int t,x,c,f; char settingsfilename[256],midipname[256],tempname[256]; strcpy(settingsfilename,GLOBAL.resourcepath); strcat(settingsfilename,"brainbay.cfg"); write_logfile("load setting from: %s",settingsfilename); hFile = CreateFile(settingsfilename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); if(hFile == INVALID_HANDLE_VALUE) return FALSE; load_next_config_buffer(hFile); load_property("samplingrate",P_INT,&PACKETSPERSECOND); //load_property("com-port",P_INT,&TTY.PORT); //load_property("baudrate",P_INT,&TTY.BAUDRATE); //load_property("devicetype",P_INT,&TTY.devicetype); load_property("dialoginterval",P_INT,&GLOBAL.dialog_interval); load_property("drawinterval",P_INT,&GLOBAL.draw_interval); load_property("startup",P_INT,&GLOBAL.startup); load_property("autorun",P_INT,&GLOBAL.autorun); load_property("configfile",P_STRING,GLOBAL.configfile); load_property("use_cvcapture",P_INT,&GLOBAL.use_cv_capture); load_property("midiports",P_INT,&x); for (c=0;c<GLOBAL.midiports;c++) midiOutClose(MIDIPORTS[c].midiout); for (t=1;t<=x;t++) { sprintf(midipname,"midiport%d",t); load_property(midipname,P_STRING,tempname); f=0; for (c=0;c<GLOBAL.midiports;c++) { if (!strcmp(tempname,MIDIPORTS[c].portname)) { write_logfile("open midi port: %s", tempname); midi_open_port(&(MIDIPORTS[c].midiout),c); f=1; } } if (!f) {strcat (tempname," not found"); report_error (tempname); } } CloseHandle(hFile); return(TRUE); }
void init_midi (void) { char sztemp[50]; MIDIOUTCAPS ocaps; for (int t=128; t<255; t++) { wsprintf(sztemp,"Controller Nr.%d",t-127); strcpy(midi_instnames[t],sztemp); } midiports=0; for (int t = -1; t < (int) midiOutGetNumDevs(); t++) // for (unsigned int t = 0; t < midiOutGetNumDevs(); t++) { midiOutGetDevCaps(t, &(ocaps), sizeof (MIDIOUTCAPS)); strcpy(MIDIPORTS[midiports].portname, ocaps.szPname ) ; midi_open_port(&(MIDIPORTS[midiports].midiout), t+2); midiports++; } }