view src/xs_sidplay.h @ 445:f277dad3180f

Working on the localization and fixing up the breakage in song information handling.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 08 Jan 2007 12:08:05 +0000
parents 7f694e5a1493
children 9e683fb666ba
line wrap: on
line source

/* Here comes the really ugly code... Get all SID-tune information
 * for all sub-tunes, including name, length, etc.
 */
t_xs_tuneinfo *TFUNCTION(gchar * pcFilename)
{
	t_xs_tuneinfo *pResult;
	TTUNEINFO tuneInfo;
	TTUNE *testTune;

	/* Check if the tune exists and is readable */
	if ((testTune = new TTUNE(pcFilename)) == NULL)
		return NULL;

	if (!testTune->getStatus()) {
		delete testTune;
		return NULL;
	}

	/* Get general tune information */
#ifdef _XS_SIDPLAY1_H
	testTune->getInfo(tuneInfo);
#endif
#ifdef _XS_SIDPLAY2_H
	tuneInfo = testTune->getInfo();
#endif

	/* Allocate tuneinfo structure */
	pResult = xs_tuneinfo_new(pcFilename,
		tuneInfo.songs, tuneInfo.startSong,
		tuneInfo.infoString[0], tuneInfo.infoString[1], tuneInfo.infoString[2],
		tuneInfo.loadAddr, tuneInfo.initAddr, tuneInfo.playAddr,
		tuneInfo.dataFileLen, tuneInfo.formatString, -1, -1, -1);

	delete testTune;

	return pResult;
}


t_xs_tuneinfo *TFUNCTION2(t_xs_status * myStatus)
{
	t_xs_tuneinfo *pResult;
	TTUNEINFO tuneInfo;
	TTUNE *testTune;

	/* Get general tune information */
#ifdef _XS_SIDPLAY1_H
	testTune->getInfo(tuneInfo);
#endif
#ifdef _XS_SIDPLAY2_H
	tuneInfo = testTune->getInfo();
#endif

	/* Allocate tuneinfo structure */
	pResult = xs_tuneinfo_new(pcFilename,
		tuneInfo.songs, tuneInfo.startSong,
		tuneInfo.infoString[0], tuneInfo.infoString[1], tuneInfo.infoString[2],
		tuneInfo.loadAddr, tuneInfo.initAddr, tuneInfo.playAddr,
		tuneInfo.dataFileLen, tuneInfo.formatString,
		tuneInfo.sidModel, tuneInfo.songSpeed, tuneInfo.clockSpeed);

	delete testTune;

	return pResult;
}



/* Undefine these */
#undef TFUNCTION
#undef TTUNEINFO
#undef TTUNE