コード例 #1
0
AudioExtractor::AudioExtractor(const char *path, bool reverse)
{
	fNumFrames = 0;
	fNumSamples = 0;
	fSamples = NULL;
	fSourcePath = path;

	if (path == NULL)
		return;
	
	// The sound file might already be in the right format (AIFF or WAV), try and read it. 
    bool soundRead = ReadSoundFile(path);
    
	if (soundRead && reverse)
	{
		int32	revI;
		float	temp;

		for (int32 i = 0; i < fSndInfo.frames / 2; i++)
		{
			revI = (int32)fSndInfo.frames - 1 - i;
			for (int32 j = 0; j < fSndInfo.channels; j++)
			{
				temp = fSamples[i * fSndInfo.channels + j];
				fSamples[i * fSndInfo.channels + j] = fSamples[revI * fSndInfo.channels + j];
				fSamples[revI * fSndInfo.channels + j] = temp;
			}
		}
	}
}
コード例 #2
0
ファイル: Ola.cpp プロジェクト: alltom/taps
void OlaRandom::initialize( char filename[], int datasize, float randomness, int mindist, bool scale_amp )
{
	// temp
	BB_setlog( BB_LOG_INFO );

	ReadSoundFile( filename );
	this->randomness = randomness;
	this->mindist = mindist;
	this->scale_amp = scale_amp;
	this->segsize = datasize;

	fprintf( stderr, "filename: %s\nsegment size: %d\nrandomness: %.2f\nmindist: %d\namp scale: %s\n", 
		filename, this->segsize, this->randomness, this->mindist, (this->scale_amp ? "true" : "false") );
}
コード例 #3
0
ファイル: piggy.cpp プロジェクト: paud/d2x-xl
int PiggyInit (void)
{
	int bHamOk = 0, bSoundOk = 0;
	int i;

/*---*/PrintLog ("   Initializing hash tables\n");
HashTableInit (bitmapNames, MAX_BITMAP_FILES);
HashTableInit (bitmapNames + 1, D1_MAX_BITMAP_FILES);
HashTableInit (soundNames, MAX_SOUND_FILES);
HashTableInit (soundNames + 1, MAX_SOUND_FILES);

/*---*/PrintLog ("   Initializing sound data (%d sounds)\n", MAX_SOUND_FILES);
for (i=0; i<MAX_SOUND_FILES; i++)	{
	gameData.pig.sound.sounds [0][i].nLength [0] =
	gameData.pig.sound.sounds [0][i].nLength [1] = 0;
	gameData.pig.sound.sounds [0][i].data [0] =
	gameData.pig.sound.sounds [0][i].data [1] = NULL;
	soundOffset [0][i] = 0;
}
/*---*/PrintLog ("   Initializing bitmap index (%d indices)\n", MAX_BITMAP_FILES);
for (i = 0; i < MAX_BITMAP_FILES; i++)     
	gameData.pig.tex.bitmapXlat [i] = i;

if (!bogusBitmap_initialized) {
	int i;
	ubyte c;
/*---*/PrintLog ("   Initializing placeholder bitmap\n");
	bogusBitmap_initialized = 1;
	memset (&bogusBitmap, 0, sizeof (grsBitmap));
	bogusBitmap.bmProps.w = 
	bogusBitmap.bmProps.h = 
	bogusBitmap.bmProps.rowSize = 64;
	bogusBitmap.bmTexBuf = bogus_data;
	bogusBitmap.bmPalette = gamePalette;
	c = GrFindClosestColor (gamePalette, 0, 0, 63);
	memset (bogus_data, c, 4096);
	c = GrFindClosestColor (gamePalette, 63, 0, 0);
	// Make a big red X !
	for (i=0; i<1024; i++) {
		bogus_data [i * 1024 + i] = c;
		bogus_data [i * 1024 + (1023 - i)] = c;
		}
	PiggyRegisterBitmap (&bogusBitmap, "bogus", 1);
	bogusSound.nLength [0] = 1024*1024;
	bogusSound.data [0] = bogus_data;
	bitmapOffsets [0][0] =
	bitmapOffsets [1][0] = 0;
}

if (FindArg ("-bigpig"))
	bBigPig = 1;

if (FindArg ("-lowmem"))
	bLowMemory = 1;

if (FindArg ("-nolowmem"))
	bLowMemory = 0;

if (bLowMemory)
	gameStates.sound.digi.bLoMem = 1;
/*---*/PrintLog ("   Loading game data\n");
#if 1 //def EDITOR //need for d1 mission briefings
PiggyInitPigFile ((char *) DEFAULT_PIGFILE);
#endif
/*---*/PrintLog ("   Loading main ham file\n");
bSoundOk = bHamOk = ReadHamFile ();

if (gameData.pig.tex.nHamFileVersion >= 3) {
/*---*/PrintLog ("   Loading sound file\n");
	bSoundOk = ReadSoundFile ();
	}
if (gameStates.app.bFixModels)
	gameStates.app.bFixModels = gameStates.app.bDemoData ? 0 : LoadRobotReplacements ("d2x-xl", 0, 1) > 0;
LoadTextureBrightness ("descent2", gameData.pig.tex.defaultBrightness [0]);
LoadTextureBrightness ("descent", gameData.pig.tex.defaultBrightness [1]);
LoadTextureColors ("descent2", gameData.render.color.defaultTextures [0]);
LoadTextureColors ("descent", gameData.render.color.defaultTextures [1]);
atexit (PiggyClose);
return (bHamOk && bSoundOk);               //read ok
}