예제 #1
0
파일: files.cpp 프로젝트: Smeetal/BrainBay
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);
	
}
예제 #2
0
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++;
	} 
}