int wmain( int argc, wchar_t * argv[] ) { #else int main( int argc, char * argv[] ) { #endif FILE * file = 0; openmpt_module * mod = 0; size_t count = 0; PaStream * stream = 0; (void)argc; #if ( defined( _WIN32 ) || defined( WIN32 ) ) && ( defined( _UNICODE ) || defined( UNICODE ) ) file = _wfopen( argv[1], L"rb" ); #else file = fopen( argv[1], "rb" ); #endif mod = openmpt_module_create2( openmpt_stream_get_file_callbacks(), file, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); fclose( file ); Pa_Initialize(); Pa_OpenDefaultStream( &stream, 0, 2, paInt16 | paNonInterleaved, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL ); Pa_StartStream( stream ); while ( 1 ) { count = openmpt_module_read_stereo( mod, SAMPLERATE, BUFFERSIZE, left, right ); if ( count == 0 ) { break; } Pa_WriteStream( stream, buffers, (unsigned long)count ); } Pa_StopStream( stream ); Pa_CloseStream( stream ); Pa_Terminate(); openmpt_module_destroy( mod ); return 0; }
JNIEXPORT jlong JNICALL Java_com_ssb_droidsound_plugins_OpenMPTPlugin_N_1load(JNIEnv *env, jobject obj, jstring fname, jboolean loopmode) { openmpt_module* mod = 0; FILE* file = NULL; const char *filename = env->GetStringUTFChars(fname, NULL); file = fopen(filename,"rb"); mod = openmpt_module_create(openmpt_stream_get_file_callbacks(), file, NULL, NULL, NULL); if (loopmode) openmpt_module_set_repeat_count(mod, -1); fclose(file); return (long)mod; }