//
// Tools_Vag_Conversion.h
//
// Created by Richard Rice - 31/05/2002
// 
// Copyright (C) 2002 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef __TOOLS_VAG_CONVERSION_H__
#define __TOOLS_VAG_CONVERSION_H__

// if ConvertVagFile returns false, and puFailureCode is not 0, one of these values
// is written to *puFailureCode
enum
{
    Tools_ConvertVagFile_Success,
    Tools_ConvertVagFile_FailedToLoadDLL,
    Tools_ConvertVagFile_FailedToOpenWav,
    Tools_ConvertVagFile_FailedToReadWav,
    Tools_ConvertVagFile_FirstSampleTooBig,
    Tools_ConvertVagFile_FailedToCreateVag,
    Tools_ConvertVagFile_FailedToWriteVag,
};

bool ConvertVagFile(const char* szInputName, const char* szOutputName, int iMaxFrequency, 
                    bool bLooped, u_int uFirstSample = 0, u_int uMaxSamples = 0, 
                    u_int* puFailureCode = 0, float fMinLength = 0.0f);

#endif //__TOOLS_VAG_CONVERSION_H__
