// ---------------------------------------------------------------------------- bool PlayerLibSidplay::loadTuneByPath(const char *filename, int subtune, PlaybackSettings *settings ) // ---------------------------------------------------------------------------- { pthread_mutex_lock( &mEngineMutex ); FILE* fp = fopen(filename, "rb"); if ( fp == NULL ) return false; int length = fread(mTuneBuffer, 1, TUNE_BUFFER_SIZE, fp); if (length < 0) return false; //printf("file reading worked\n"); fclose(fp); mTuneLength = length; mCurrentSubtune = subtune; bool result = initSIDTune(settings); pthread_mutex_unlock( &mEngineMutex ); return result; }
// ---------------------------------------------------------------------------- bool PlayerLibSidplay::loadTuneFromBuffer(char *buffer, int length, int subtune, PlaybackSettings *settings) // ---------------------------------------------------------------------------- { if (length < 0 || length > TUNE_BUFFER_SIZE) return false; mTuneLength = length; memcpy(mTuneBuffer, buffer, length); mCurrentSubtune = subtune; return initSIDTune(settings); }
// ---------------------------------------------------------------------------- bool PlayerLibSidplay::loadTuneFromBuffer(char* buffer, int length, int subtune, PlaybackSettings *settings) // ---------------------------------------------------------------------------- { if (length < 0 || length > TUNE_BUFFER_SIZE) return false; if (buffer[0] != 'P' && buffer[0] != 'R') return false; if ( buffer[1] != 'S' || buffer[2] != 'I' || buffer[3] != 'D' ) { return false; } mTuneLength = length; memcpy(mTuneBuffer, buffer, length); mCurrentSubtune = subtune; return initSIDTune(settings); }
// ---------------------------------------------------------------------------- bool PlayerLibSidplay::loadTuneByPath(const char* filename, int subtune, PlaybackSettings* settings) // ---------------------------------------------------------------------------- { FILE* fp = fopen(filename, "rb"); if ( fp == NULL ) return false; int length = (int)fread(mTuneBuffer, 1, TUNE_BUFFER_SIZE, fp); if (length < 0) return false; //printf("file reading worked\n"); fclose(fp); mTuneLength = length; mCurrentSubtune = subtune; return initSIDTune(settings); }