int main(int argc, char *argv[]) { int error; static mWaveState *state; MIDASstartup(); puts("MIDAS RIFF WAVE reader test\n"); if ( argc != 2 ) { puts("Usage: musfade wavefile"); return 1; } puts("Opening file and reading info"); if ( (error = mWaveOpen(argv[1], &state)) != OK ) MIDASerror(error); printf("Sample type = %u\n", state->sampleType); printf("Sample rate = %u\n", state->sampleRate); printf("Data length = %u bytes\n", state->dataLength); printf("Data offset = %u\n", state->dataStart); puts("Closing file"); if ( (error = mWaveClose(state)) != OK ) MIDASerror(error); return 0; }
void initPlayer() { MIDASstartup(); MIDASinit(); MIDASsetTimerCallbacks(70000, FALSE, &PreVR, &immVR, NULL/*&inVR*/); module = MIDASloadModule("epic.mod"); playHandle = MIDASplayModule(module, TRUE); MIDASstartBackgroundPlay(0); }
int main(void) { MIDASmodule module; MIDASmodulePlayHandle playHandle; int i; FILE *f; remove("c:\\crn_cmn.mrk"); if(!MIDASstartup()) { printf("Unable to initialize MIDAS sound system\n"); getch(); exit(0); } if(!MIDASinit()) MIDASerror(); if(!MIDASstartBackgroundPlay(0)) MIDASerror(); if((module = MIDASloadModule("cadmium.xm")) == NULL) MIDASerror(); if((i = WinExec("..\\crn_cmn.exe", SW_SHOWMAXIMIZED )) == 0) { printf("Unable to execute crn_cmn.exe\n"); MIDASclose(); getch(); exit(0); } while(1) { sleep(1000); if((f = fopen("c:\\crn_cmn.mrk", "rb")) != NULL) { fclose(f); break; } } playHandle = MIDASplayModule(module, TRUE); while(1) { sleep(1000); if((f = fopen("c:\\crn_cmn.mrk", "rb")) == NULL) break; else fclose(f); } MIDASclose(); return 0; }
int main(void) { /* unsigned v;*/ MIDASstartup(); puts("MIDAS config test\n"); if ( !MIDASconfig() ) { puts("Cancelled\n"); return 1; } puts("OK\n"); return 0; }
int musainit() { midasSetDefaults(); MIDASstartup(); if (!MIDASdetectSoundCard()) MIDASerror(); refreshRate = MIDASgetDisplayRefreshRate(); if ( refreshRate == 0 ) { /* cout << "Warning! Unable to synchronize to display refresh!\n"; if ( getch() == 27 ) return 0;*/ refreshRate = 70000; /* default 70Hz */ } if ( !MIDASinit() ) MIDASerror(); if ( (error = vuInit()) != OK ) midasError(error); if ( !MIDASsetTimerCallbacks(refreshRate, TRUE, &prevr, NULL, NULL) ) MIDASerror(); return 0; }
static int MIDAS_detect(struct mpxplay_audioout_info_s *aui) { unsigned int iscard,len; char midascnffile[300]; pds_getpath_from_fullname(midascnffile,freeopts[OPT_PROGNAME]); len=pds_strlen(midascnffile); if(len && (midascnffile[len-1]!=PDS_DIRECTORY_SEPARATOR_CHAR)) len+=pds_strcpy(&midascnffile[len],PDS_DIRECTORY_SEPARATOR_STR); pds_strcpy(&midascnffile[len],"mpxmidas.ini"); MIDASstartup(); MIDASsetOption(MIDAS_OPTION_MIXING_MODE,1); if(aui->card_controlbits&AUINFOS_CARDCNTRLBIT_MIDASMANUALCFG){ iscard=MIDASconfig(); MIDASsaveConfig(midascnffile); }else{ iscard=MIDASloadConfig(midascnffile); if(!iscard) iscard=MIDASdetectSoundCard(); } iscard+=MIDASinit(); iscard+=MIDASopenChannels(2); if(iscard==3){ midashandle=MIDASplayStreamPolling(4,aui->freq_card,1000); if(midashandle){ MIDASpauseStream(midashandle); iscard++; } } if(iscard<4){ pds_textdisplay_printf("MIDAS error: "); pds_textdisplay_printf(MIDASgetErrorMessage(MIDASgetLastError())); MIDASclose(); return 0; } return 1; }
int main(int argc, char *argv[]) { char oldTitle[256]; unsigned i; /* char *foo;*/ MIDASstartup(); /* Keep the test somewhat reproducable: */ srand(17); setbuf(stdout, NULL); puts("MIDAS stream test\n\n" "The sound output may sound strange, but the program should _NOT_ " "crash"); puts("Trying to get window handle"); /* Hack - try to figure out our console window's window handle: */ GetConsoleTitle(oldTitle, 255); SetConsoleTitle("DirectSound TestiKala"); Sleep(250); EnumWindows(&EnumWindowsProc, (LPARAM) NULL); SetConsoleTitle(oldTitle); printf("%P, %u\n", consoleHwnd, sizeof(HWND)); if ( consoleHwnd == NULL ) Error("Couldn't find window handle"); puts("Trying to use DirectSound primary buffer mode"); MIDASsetOption(MIDAS_OPTION_DSOUND_HWND, (DWORD) consoleHwnd); MIDASsetOption(MIDAS_OPTION_DSOUND_MODE, MIDAS_DSOUND_PRIMARY); /* Initialize MIDAS and start background playback: */ if ( !MIDASinit() ) MIDASerror(); /* if ( !MIDASstartBackgroundPlay(0) ) MIDASerror();*/ #ifdef _MSC_VER if ( _beginthread(PollThread, 4096, NULL) == -1 ) Error("Unable to create polling thread"); #else if ( _beginthread(PollThread, NULL, 4096, NULL) == -1 ) Error("Unable to create polling thread"); #endif /* Open enough channels: */ if ( !MIDASopenChannels(32) ) MIDASerror(); /* Allocate some channels for automatic effects: */ if ( !MIDASallocAutoEffectChannels(12) ) MIDASerror(); /* Load the initial module and sample: */ puts("Loading modules"); if ( (module1 = MIDASloadModule(MODULE1)) == NULL ) MIDASerror(); if ( (module2 = MIDASloadModule(MODULE2)) == NULL ) MIDASerror(); puts("Loading samples"); if ( (sample1 = MIDASloadRawSample(SAMPLE1, MIDAS_SAMPLE_8BIT_MONO, FALSE)) == 0 ) MIDASerror(); if ( (sample2 = MIDASloadRawSample(SAMPLE2, MIDAS_SAMPLE_16BIT_MONO, FALSE)) == 0 ) MIDASerror(); /* Swap stuff out: */ /* puts("Touching a LOT of memory"); if ( (foo = malloc(64*1024*1024)) == NULL ) Error("Out of memory"); for ( i = 0; i < (64*1024*1024); i++ ) foo[i] = (i & 255); */ puts("Playing stream"); if ( (stream1 = MIDASplayStreamWaveFile(STREAM1, 500, TRUE)) == NULL ) MIDASerror(); /* Play the module: */ puts("Playing module"); if ( (playHandle1 = MIDASplayModule(module1, TRUE)) == 0 ) MIDASerror(); /* Play effects for a while: */ puts("Playing samples"); for ( i = 0; i < 1000; i++ ) { switch ( rand() & 8 ) { case 0: if ( MIDASplaySample(sample1, MIDAS_CHANNEL_AUTO, 0, 22050 + ((rand() % 30000) - 15000), rand() % 24, (rand() % 128) - 64) == 0 ) MIDASerror(); break; case 8: if ( MIDASplaySample(sample2, MIDAS_CHANNEL_AUTO, 0, 22050 + ((rand() % 30000) - 15000), rand() % 24, (rand() % 128) - 64) == 0 ) MIDASerror(); break; } Sleep(rand() % 27); if ( (rand() % 8) < 2 ) RandomPriority(); printf("%u\n", MIDASgetStreamBytesBuffered(stream1)); } puts("Stopping"); stopPoll = 1; while ( stopPoll ) Sleep(10); if ( !MIDASstopStream(stream1) ) MIDASerror(); /* Stop playback and uninitialize MIDAS: */ /* if ( !MIDAScloseChannels() ) MIDASerror();*/ /* if ( !MIDASstopBackgroundPlay() ) MIDASerror();*/ if ( !MIDASclose() ) MIDASerror(); printf("Poll total %u, min %u, max %u, avg %u, count %u\n", pollTotal, pollMin, pollMax, pollTotal/(pollCount-100), pollCount); return 0; }
int main(int argc, char *argv[]) { int error; MIDASmodule module; MIDASmodulePlayHandle playHandle; static mEchoHandle eh; MIDASstartup(); puts("MIDAS echo effect engine test\n"); if ( argc != 2 ) { puts("Usage: echo module"); return 1; } MIDASsetOption(MIDAS_OPTION_MIXING_MODE, MIDAS_MIX_HIGH_QUALITY); if ( !MIDASinit() ) MIDASerror(); if ( !MIDASstartBackgroundPlay(0) ) MIDASerror(); if ( (error = mEchoInit()) != OK ) mError(error); if ( (module = MIDASloadModule(argv[1])) == NULL ) MIDASerror(); if ( (playHandle = MIDASplayModule(module, TRUE)) == 0 ) MIDASerror(); if ( (error = mEchoAddEffect(&simpleEcho, &eh)) != OK ) mError(error); puts("Simple echo - press any key"); getch(); if ( (error = mEchoRemoveEffect(eh)) != OK ) mError(error); if ( (error = mEchoAddEffect(&reverseEcho, &eh)) != OK ) mError(error); puts("Channel-reverse echo - press any key"); getch(); if ( (error = mEchoRemoveEffect(eh)) != OK ) mError(error); puts("No echo - press any key"); getch(); if ( !MIDASstopModule(playHandle) ) MIDASerror(); if ( !MIDASfreeModule(module) ) MIDASerror(); if ( (error = mEchoClose()) != OK ) mError(error); if ( !MIDASstopBackgroundPlay() ) MIDASerror(); if ( !MIDASclose() ) MIDASerror(); return 0; }
int main(int argc, char *argv[]) { MIDASmodule module; MIDASmodulePlayHandle playHandle; MIDASstartup(); #ifdef _WIN32_ SetPriorityClass( GetCurrentProcess(), HIGH_PRIORITY_CLASS); #endif puts("MIDAS playback profiler\n"); if ( argc != 3 ) { puts("Usage: mode filename\n mode = (f)loat/(i)nteger\n"); return EXIT_FAILURE; } MIDASconfig(); switch ( argv[1][0] ) { case 'i': mPreferredMixingMode = M_MIX_INTEGER; break; case 'f': mPreferredMixingMode = M_MIX_FLOAT; break; } if ( !MIDASinit() ) MIDASerror(); if ( !MIDASstartBackgroundPlay(0) ) MIDASerror(); if ( (module = MIDASloadModule(argv[2])) == NULL ) MIDASerror(); if ( (playHandle = MIDASplayModule(module, TRUE)) == 0 ) MIDASerror(); printf("Playing - press any\n"); getch(); if ( !MIDASstopModule(playHandle) ) MIDASerror(); if ( !MIDASfreeModule(module) ) MIDASerror(); if ( !MIDASstopBackgroundPlay() ) MIDASerror(); PrintResults(); if ( !MIDASclose() ) MIDASerror(); return 0; }