diff --git a/proto/Main.cpp b/proto/Main.cpp index dcd9774..700dbad 100644 --- a/proto/Main.cpp +++ b/proto/Main.cpp @@ -7,12 +7,25 @@ #include -void DumpSamplesWORD(PureSampleEx &pureSample); +void DumpSamplesWORD(String &wavePathOuputFileName,PureSampleEx &pureSample); +void DumpSamples(String &wavePathOuputFileName, PureSampleEx &pureSample); + +bool LoadSamples(String &samplePathInputFileName,PureSampleEx &pureSample); +bool LoadSamplesWORD(String &samplePathInputFileName,PureSampleEx &pureSample); + + +void PlaySample(SmartPointer &waveForm); + void main() { - String wavePathFileName3="f:\\AudioBounce.wav"; + String wavePathFileName="f:\\AudioBounce.wav"; + String wavePathOutputFileName="f:\\AudioBounce_AI.wav"; + + String samplePathOuputFileName = "c:\\work\\proto\\debug\\samples.csv"; + String samplePathInputFileName="f:\\samples.audio.out.csv"; + // int length = sizeof(SampleData); // length = sizeof(int); // 4 BYTES 32 BITS @@ -21,7 +34,8 @@ void main() // length = sizeof(WORD); // 2 BYTES 16 BITS - SmartPointer waveForm(::new WaveForm(wavePathFileName3),PointerDisposition::Delete); +// Load the WAV file + SmartPointer waveForm(::new WaveForm(wavePathFileName),PointerDisposition::Delete); ::OutputDebugString((*waveForm).toString()); PureSampleEx &pureSample=waveForm->getPureSample(); @@ -29,6 +43,38 @@ void main() DWORD numSamples=pureSample.getNumSamples(); PureSampleEx::BitsPerSample bitsPerSample=pureSample.getBitsPerSample(); +// DumpSamples(samplePathOuputFileName,pureSample) + +// PlaySample(waveForm); + + LoadSamples(samplePathInputFileName,pureSample); + waveForm->save(wavePathOutputFileName); + + +// SmartPointer pureWave(new PureWave(),PointerDisposition::Delete); +// pureWave->play(*waveForm); + + + + ::OutputDebugString("Here"); + +} + + + + +void PlaySample(SmartPointer &waveForm) +{ + SmartPointer pureWave(new PureWave(),PointerDisposition::Delete); + pureWave->play(*waveForm); + +} + +bool LoadSamples(String &samplePathInputFileName, PureSampleEx &pureSample) +{ + bool returnCode(false); + PureSampleEx::BitsPerSample bitsPerSample=pureSample.getBitsPerSample(); + switch(bitsPerSample) { case PureSampleEx::Bit4 : @@ -36,26 +82,76 @@ void main() case PureSampleEx::Bit8 : break; case PureSampleEx::Bit16 : - DumpSamplesWORD(pureSample); + returnCode=LoadSamplesWORD(samplePathInputFileName,pureSample); break; case PureSampleEx::Bit32 : break; } - - - SmartPointer pureWave(new PureWave(),PointerDisposition::Delete); - pureWave->play(*waveForm); - - - - ::OutputDebugString("Here"); - + return returnCode; } -void DumpSamplesWORD(PureSampleEx &pureSample) + +bool LoadSamplesWORD(String &samplePathInputFileName,PureSampleEx &pureSample) +{ + SmartPointer inFile(::new FileIO(samplePathInputFileName), PointerDisposition::Delete); + SmartPointer strLine(:: new String(), PointerDisposition::Delete); + WORD *pSampleDataWORD=(WORD*)pureSample.getSampleData(); + DWORD numSamples=pureSample.getNumSamples(); + DWORD sampleIndex(0); + int lineCount=0; + + while(inFile->readLine(*strLine))lineCount++; + lineCount--; + + if(lineCount!=numSamples) + { + return false; + } + + inFile->rewind(); + lineCount=0; + while(inFile->readLine(*strLine)) + { + if(0==lineCount) + { + lineCount++; + continue; + } + String strSampleNo=strLine->betweenString(0,','); + String strSample=strLine->betweenString(',',0); + WORD sample = strSample.toUShort(); + pSampleDataWORD[sampleIndex++]=sample; + lineCount++; + } + ::OutputDebugString(String().fromInt(lineCount-1)); + inFile->close(); + return true; +} + + + +void DumpSamples(String &wavePathOuputFileName, PureSampleEx &pureSample) +{ + PureSampleEx::BitsPerSample bitsPerSample=pureSample.getBitsPerSample(); + + switch(bitsPerSample) + { + case PureSampleEx::Bit4 : + break; + case PureSampleEx::Bit8 : + break; + case PureSampleEx::Bit16 : + DumpSamplesWORD(wavePathOuputFileName,pureSample); + break; + case PureSampleEx::Bit32 : + break; + } +} + +void DumpSamplesWORD(String &wavePathOuputFileName, PureSampleEx &pureSample) { String crlf("\r\n"); - SmartPointer outFile(::new FileHandle("c:\\work\\proto\\debug\\samples.csv",FileHandle::Access::Write,FileHandle::Share::ShareNone,FileHandle::Mode::Create), PointerDisposition::Delete); + SmartPointer outFile(::new FileHandle(wavePathOuputFileName,FileHandle::Access::Write,FileHandle::Share::ShareNone,FileHandle::Mode::Create), PointerDisposition::Delete); outFile.disposition(PointerDisposition::Disposition::Delete); outFile->disposition(FileHandle::Disposition::CloseHandle); diff --git a/proto/proto.opt b/proto/proto.opt index d37e86b..02a9a0a 100644 Binary files a/proto/proto.opt and b/proto/proto.opt differ diff --git a/proto/proto.plg b/proto/proto.plg index 4bd67a2..f85a815 100644 --- a/proto/proto.plg +++ b/proto/proto.plg @@ -3,331 +3,16 @@
 

Build Log

---------------------Configuration: common - Win32 Debug-------------------- -

-

Command Lines

-Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP615.tmp" with contents -[ -/nologo /Gz /MTd /GX /Zi /Od /I "\work" /I "\parts" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /D "WIN32" /FR"msvcobj/" /Fo"msvcobj/" /Fd"msvcobj/" /FD /I /work" /I /parts" /I /work" /I /parts" " " " " /c -"F:\work\common\accelerator.cpp" -"F:\work\common\Bitmap.cpp" -"F:\work\common\Bminfo.cpp" -"F:\work\common\Bmplnk.cpp" -"F:\work\common\Brush.cpp" -"F:\work\common\Btnlnk.cpp" -"F:\work\common\calendar.cpp" -"F:\work\common\Catmull.cpp" -"F:\work\common\Cbdata.cpp" -"F:\work\common\Cbdatahk.cpp" -"F:\work\common\Clipbrd.cpp" -"F:\work\common\Console.cpp" -"F:\work\common\Control.cpp" -"F:\work\common\Crsctrl.cpp" -"F:\work\common\Ddemsg.cpp" -"F:\work\common\Dib.cpp" -"F:\work\common\Diskinfo.cpp" -"F:\work\common\Drawbmp.cpp" -"F:\work\common\Dwindow.cpp" -"F:\work\common\elastic.cpp" -"F:\work\common\errormsg.cpp" -"F:\work\common\File.cpp" -"F:\work\common\Fileio.cpp" -"F:\work\common\Filemap.cpp" -"F:\work\common\Finddata.cpp" -"F:\work\common\Font.cpp" -"F:\work\common\gdipoint.cpp" -"F:\work\common\Guiwnd.cpp" -"F:\work\common\Hookproc.cpp" -"F:\work\common\Iconfrm.cpp" -"F:\work\common\Infowin.cpp" -"F:\work\common\Intel.cpp" -"F:\work\common\Iobuff.cpp" -"F:\work\common\Logowin.cpp" -"F:\work\common\Macro.cpp" -"F:\work\common\Math.cpp" -"F:\work\common\Mdifrm.cpp" -"F:\work\common\Mdiwin.cpp" -"F:\work\common\Memfile.cpp" -"F:\work\common\Mmtimer.cpp" -"F:\work\common\Odbutton.cpp" -"F:\work\common\Odlist.cpp" -"F:\work\common\Odlstalt.cpp" -"F:\work\common\Odlstchk.cpp" -"F:\work\common\opendlg.Cpp" -"F:\work\common\Openfile.cpp" -"F:\work\common\opndlgex.cpp" -"F:\work\common\Owner.cpp" -"F:\work\common\Pathfnd.cpp" -"F:\work\common\Point.cpp" -"F:\work\common\Process.cpp" -"F:\work\common\Profile.cpp" -"F:\work\common\Progress.cpp" -"F:\work\common\Purebmp.cpp" -"F:\work\common\Purebyte.cpp" -"F:\work\common\puredbl.cpp" -"F:\work\common\Puredwrd.cpp" -"F:\work\common\Purehdc.cpp" -"F:\work\common\puremenu.Cpp" -"F:\work\common\Purepal.cpp" -"F:\work\common\purewrd.cpp" -"F:\work\common\Pview.cpp" -"F:\work\common\Regkey.cpp" -"F:\work\common\resbmp.cpp" -"F:\work\common\Richedit.cpp" -"F:\work\common\rubber.cpp" -"F:\work\common\Sdate.cpp" -"F:\work\common\Smrtstrm.cpp" -"F:\work\common\snapshot.cpp" -"F:\work\common\static.cpp" -"F:\work\common\String.cpp" -"F:\work\common\Systime.cpp" -"F:\work\common\Vhandler.cpp" -"F:\work\common\Vxdctrl.cpp" -"F:\work\common\widestr.Cpp" -"F:\work\common\Window.cpp" -"F:\work\common\Wintimer.cpp" -] -Creating command line "cl.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP615.tmp" -Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP616.tmp" with contents -[ -/nologo /Gz /MTd /GX /Zi /Od /I "\work" /I "\parts" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /D "WIN32" /FR"msvcobj/" /Fp"msvcobj/common.pch" /YX /Fo"msvcobj/" /Fd"msvcobj/" /FD /I /work" /I /parts" /I /work" /I /parts" " " " " /c -"F:\work\common\Bmdata.cpp" -] -Creating command line "cl.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP616.tmp" -Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP617.tmp" with contents -[ -/nologo /out:"..\exe\mscommon.lib" -.\msvcobj\accelerator.obj -.\msvcobj\Bitmap.obj -.\msvcobj\Bmdata.obj -.\msvcobj\Bminfo.obj -.\msvcobj\Bmplnk.obj -.\msvcobj\Brush.obj -.\msvcobj\Btnlnk.obj -.\msvcobj\calendar.obj -.\msvcobj\Catmull.obj -.\msvcobj\Cbdata.obj -.\msvcobj\Cbdatahk.obj -.\msvcobj\Clipbrd.obj -.\msvcobj\Console.obj -.\msvcobj\Control.obj -.\msvcobj\Crsctrl.obj -.\msvcobj\Ddemsg.obj -.\msvcobj\Dib.obj -.\msvcobj\Diskinfo.obj -.\msvcobj\Drawbmp.obj -.\msvcobj\Dwindow.obj -.\msvcobj\elastic.obj -.\msvcobj\errormsg.obj -.\msvcobj\File.obj -.\msvcobj\Fileio.obj -.\msvcobj\Filemap.obj -.\msvcobj\Finddata.obj -.\msvcobj\Font.obj -.\msvcobj\gdipoint.obj -.\msvcobj\Guiwnd.obj -.\msvcobj\Hookproc.obj -.\msvcobj\Iconfrm.obj -.\msvcobj\Infowin.obj -.\msvcobj\Intel.obj -.\msvcobj\Iobuff.obj -.\msvcobj\Logowin.obj -.\msvcobj\Macro.obj -.\msvcobj\Math.obj -.\msvcobj\Mdifrm.obj -.\msvcobj\Mdiwin.obj -.\msvcobj\Memfile.obj -.\msvcobj\Mmtimer.obj -.\msvcobj\Odbutton.obj -.\msvcobj\Odlist.obj -.\msvcobj\Odlstalt.obj -.\msvcobj\Odlstchk.obj -.\msvcobj\opendlg.obj -.\msvcobj\Openfile.obj -.\msvcobj\opndlgex.obj -.\msvcobj\Owner.obj -.\msvcobj\Pathfnd.obj -.\msvcobj\Point.obj -.\msvcobj\Process.obj -.\msvcobj\Profile.obj -.\msvcobj\Progress.obj -.\msvcobj\Purebmp.obj -.\msvcobj\Purebyte.obj -.\msvcobj\puredbl.obj -.\msvcobj\Puredwrd.obj -.\msvcobj\Purehdc.obj -.\msvcobj\puremenu.obj -.\msvcobj\Purepal.obj -.\msvcobj\purewrd.obj -.\msvcobj\Pview.obj -.\msvcobj\Regkey.obj -.\msvcobj\resbmp.obj -.\msvcobj\Richedit.obj -.\msvcobj\rubber.obj -.\msvcobj\Sdate.obj -.\msvcobj\Smrtstrm.obj -.\msvcobj\snapshot.obj -.\msvcobj\static.obj -.\msvcobj\String.obj -.\msvcobj\Systime.obj -.\msvcobj\Vhandler.obj -.\msvcobj\Vxdctrl.obj -.\msvcobj\widestr.obj -.\msvcobj\Window.obj -.\msvcobj\Wintimer.obj -] -Creating command line "link.exe -lib @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP617.tmp" -

Output Window

-Compiling... -accelerator.cpp -Bitmap.cpp -Bminfo.cpp -Bmplnk.cpp -Brush.cpp -Btnlnk.cpp -calendar.cpp -Catmull.cpp -Cbdata.cpp -Cbdatahk.cpp -Clipbrd.cpp -Console.cpp -Control.cpp -Crsctrl.cpp -Ddemsg.cpp -Dib.cpp -Diskinfo.cpp -Drawbmp.cpp -Dwindow.cpp -elastic.cpp -Generating Code... -Compiling... -errormsg.cpp -File.cpp -Fileio.cpp -Filemap.cpp -Finddata.cpp -Font.cpp -gdipoint.cpp -Guiwnd.cpp -Hookproc.cpp -Iconfrm.cpp -Infowin.cpp -Intel.cpp -Iobuff.cpp -Logowin.cpp -Macro.cpp -Math.cpp -Mdifrm.cpp -Mdiwin.cpp -Memfile.cpp -Mmtimer.cpp -Generating Code... -Compiling... -Odbutton.cpp -Odlist.cpp -Odlstalt.cpp -Odlstchk.cpp -opendlg.Cpp -Openfile.cpp -opndlgex.cpp -Owner.cpp -Pathfnd.cpp -Point.cpp -Process.cpp -Profile.cpp -Progress.cpp -Purebmp.cpp -Purebyte.cpp -puredbl.cpp -Puredwrd.cpp -Purehdc.cpp -puremenu.Cpp -Purepal.cpp -Generating Code... -Compiling... -purewrd.cpp -Pview.cpp -Regkey.cpp -resbmp.cpp -Richedit.cpp -rubber.cpp -Sdate.cpp -Smrtstrm.cpp -snapshot.cpp -static.cpp -String.cpp -Systime.cpp -Vhandler.cpp -Vxdctrl.cpp -widestr.Cpp -Window.cpp -Wintimer.cpp -Generating Code... -Compiling... -Bmdata.cpp -Creating library... -

---------------------Configuration: bsptree - Win32 Debug-------------------- -

-

Command Lines

-Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP618.tmp" with contents -[ -/nologo /Gz /MTd /GX /Zi /Od /I "\work" /I "\parts" /D "_DEBUG" /D "__FLAT__" /D "STRICT" /D "_WINDOWS" /D "WIN32" /FR".\msvcobj/" /Fo".\msvcobj/" /Fd".\msvcobj/" /FD /c -"F:\work\bsptree\Bsptmpl.cpp" -"F:\work\bsptree\Rgbtree.cpp" -"F:\work\bsptree\Stdtmpl.cpp" -] -Creating command line "cl.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP618.tmp" -Creating command line "link.exe -lib /nologo /out:"..\exe\msbsp.lib" .\msvcobj\Bsptmpl.obj .\msvcobj\Rgbtree.obj .\msvcobj\Stdtmpl.obj " -

Output Window

-Compiling... -Bsptmpl.cpp -Rgbtree.cpp -Stdtmpl.cpp -Generating Code... -Creating library... -

---------------------Configuration: sample - Win32 Debug-------------------- -

-

Command Lines

-Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP619.tmp" with contents -[ -/nologo /Gz /MTd /Zi /Od /D "_DEBUG" /D "__FLAT__" /D "STRICT" /D "WIN32" /D "_WINDOWS" /FR".\msvcobj/" /Fp"\work\exe\msvc42.pch" /YX"windows.h" /Fo".\msvcobj/" /Fd".\msvcobj/" /FD /I /work" /I /parts" /I /work" /I /parts" " " " " /c -"F:\work\sample\Datachnk.cpp" -"F:\work\sample\Devhndlr.cpp" -"F:\work\sample\fmtchnk.cpp" -"F:\work\sample\GenChnk.cpp" -"F:\work\sample\Puresmpl.cpp" -"F:\work\sample\Purewave.cpp" -"F:\work\sample\Wave.cpp" -"F:\work\sample\Wavein.cpp" -"F:\work\sample\Waveout.cpp" -] -Creating command line "cl.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP619.tmp" -Creating command line "link.exe -lib /nologo /out:"..\exe\sample.lib" .\msvcobj\Datachnk.obj .\msvcobj\Devhndlr.obj .\msvcobj\fmtchnk.obj .\msvcobj\GenChnk.obj .\msvcobj\Puresmpl.obj .\msvcobj\Purewave.obj .\msvcobj\Wave.obj .\msvcobj\Wavein.obj .\msvcobj\Waveout.obj " -

Output Window

-Compiling... -Datachnk.cpp -Devhndlr.cpp -fmtchnk.cpp -GenChnk.cpp -Puresmpl.cpp -Purewave.cpp -Wave.cpp -Wavein.cpp -Waveout.cpp -Creating library... -

--------------------Configuration: proto - Win32 Debug--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP61A.tmp" with contents +Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSPFA.tmp" with contents [ /nologo /Gz /MTd /GR /GX /Zi /Od /I "\work" /I "\parts" /I "\parts\sgi_stl" /D "WIN32" /D "_WINDOWS" /D "STRICT" /D "__FLAT__" /D "_MBCS" /D "_COMMON_USENLS_" /FR".\msvcobj/" /Fp".\msvcobj/proto.pch" /YX"windows.hpp" /Fo".\msvcobj/" /Fd".\msvcobj/" /FD /c "F:\work\proto\Main.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP61A.tmp" -Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP61B.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSPFA.tmp" +Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSPFB.tmp" with contents [ comctl32.lib winmm.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib wininet.lib strmiids.lib winmm.lib vfw32.lib debug\HookDLL.lib version.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"f:\work\proto\debug\proto.exe" .\msvcobj\Main.obj @@ -335,7 +20,7 @@ comctl32.lib winmm.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.li \work\exe\msbsp.lib \work\exe\sample.lib ] -Creating command line "link.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP61B.tmp" +Creating command line "link.exe @C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSPFB.tmp"

Output Window

Compiling... Main.cpp @@ -343,12 +28,13 @@ Linking... Creating library f:\work\proto\debug\proto.lib and object f:\work\proto\debug\proto.exp Creating command line "bscmake.exe /nologo /o".\msvcobj/proto.bsc" .\msvcobj\Main.sbr" Creating browse info file... +BSCMAKE: warning BK4503 : minor error in .SBR file '.\msvcobj\Main.sbr' ignored

Output Window

Results

-proto.exe - 0 error(s), 0 warning(s) +proto.exe - 0 error(s), 1 warning(s)