73 lines
2.1 KiB
C++
73 lines
2.1 KiB
C++
#include "Precompiled.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "RakiEngine/Data/MemoryBlock/MemoryBlock.h"
|
|
#include "RakiEngine/Data/Stream/FileStream.h"
|
|
#include "RakiEngine/Data/Stream/SeekableStreamPart.h"
|
|
#include "RakiEngine/Data/WaveFile/BinWaveData/BinWaveData.h"
|
|
#include "RakiEngine/Data/WaveFile/RiffChunkManager.h"
|
|
#include "RakiEngine/Data/WaveFile/WaveFile.h"
|
|
#include "RakiEngine/Specific/_WIN32/Specific_WIN32.h"
|
|
|
|
#include "RakiTests/Initializer/TestInitializer.h"
|
|
#include "RakiTests/_Win32/CoInitializeInitObject.h"
|
|
#include "RakiTests/_Win32/KeyValueContainer.h"
|
|
|
|
|
|
|
|
#ifndef RAKI_PLATFORM_WIN32
|
|
#error // this is a bin test app - only for Win32
|
|
#endif // RAKI_PLATFORM_WIN32
|
|
|
|
|
|
// path=Y:/JD5/JD/playground/JD6/extern/Raki/TestData/Mus_Jun_Cage_Free_04_2M.wav
|
|
// path=D:/JDData/jd_production/main/data/EngineData/Sound/MetronomeDebugBar.wav
|
|
|
|
int _tmain(int argc, _TCHAR* argv[] )
|
|
{
|
|
raki::CoInitializeInitObject coInitializeInitObject;
|
|
|
|
{
|
|
raki::Engine::ExternalToolPaths externalToolPaths;
|
|
raki::TestInitializer initializer( &externalToolPaths );
|
|
|
|
raki::KeyValueContainer keyValueContainer( argc, argv );
|
|
|
|
bool error = false;
|
|
|
|
if ( ( keyValueContainer.getNbKeyValuePairs() != 1 ) && ( keyValueContainer.getNbKeyValuePairs() != 2 ) )
|
|
error = true;
|
|
|
|
if ( !keyValueContainer.getStringValue( _T( "path" ) ).size() )
|
|
error = true;
|
|
|
|
if ( error )
|
|
{
|
|
printf( "BinOrbis usage example:" );
|
|
printf( " BinOrbis path=<path>" );
|
|
return -1;
|
|
}
|
|
|
|
#define TEXT_SIZE 512
|
|
char inputPath[TEXT_SIZE];
|
|
size_t returnSize = 0;
|
|
wcstombs_s( &returnSize, inputPath, TEXT_SIZE, keyValueContainer.getStringValue( _T( "path" ) ).c_str(), TEXT_SIZE );
|
|
|
|
const bool isStream = keyValueContainer.getBoolValue( _T( "isStream" ) );
|
|
const raki::u32 binFlags = isStream ? 1 : 0;
|
|
|
|
char outputPath[TEXT_SIZE];
|
|
sprintf_s( outputPath, TEXT_SIZE, "%s.orbis", inputPath );
|
|
|
|
if ( !raki::Specific::BinSoftware::PcmBin( inputPath, outputPath, binFlags, raki::BinWaveData::platform_orbis ) )
|
|
return -1;
|
|
}
|
|
|
|
|
|
return 0;
|
|
}
|
|
|