//////////////////////////////////////////////////////////////////////////////
//
// Tools_AT3_Conversion.h
//
// Copyright (c) 2007 Rebellion. All rights reserved.
//
//////////////////////////////////////////////////////////////////////////////

#if defined ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#if !defined __TOOLS_AT3_CONVERSION_H__
#define __TOOLS_AT3_CONVERSION_H__

/******************************************************************************/
/* Types                                                                      */
/******************************************************************************/

// If Tools_ConvertAT3File returns false, and puFailureCode is not NULL, one of
// these values is written to *puFailureCode

enum
{
	Tools_ConvertAT3File_Success,
	Tools_ConvertAT3File_FailedToLoadExe,
	Tools_ConvertAT3File_FailedToOpenWav,
	Tools_ConvertAT3File_FailedToReadWav,
	Tools_ConvertAT3File_FailedToCreateAT3,
	Tools_ConvertAT3File_FailedToWriteAT3,
	Tools_ConvertAT3File_FailedToResample,
	Tools_ConvertAT3File_FailedToWriteTemporaryFile,
};

/******************************************************************************/
/* Functions                                                                  */
/******************************************************************************/

bool Tools_ConvertAT3File( const char* const szInputFileName,
						   const char* const szOutputFileName,
						   const struct ToolsSoundConversionData* const pxConvertData,
						   u_int* const puFailureCode = 0 );

#endif // !defined __TOOLS_AT3_CONVERSION_H__
