コード例 #1
0
// ----------------------------------------------------------------------------
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;
}
コード例 #2
0
// ----------------------------------------------------------------------------
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);
}
コード例 #3
0
// ----------------------------------------------------------------------------
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);
}
コード例 #4
0
// ----------------------------------------------------------------------------
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);
}