From: <pst...@us...> - 2013-03-17 13:11:25
|
Revision: 959 http://sourceforge.net/p/jazzplusplus/code/959 Author: pstieber Date: 2013-03-17 13:11:21 +0000 (Sun, 17 Mar 2013) Log Message: ----------- Updated to use C++ stream code instead of C-style file I/O. Modified Paths: -------------- trunk/jazz/src/AsciiMidiFile.cpp Modified: trunk/jazz/src/AsciiMidiFile.cpp =================================================================== --- trunk/jazz/src/AsciiMidiFile.cpp 2013-03-17 10:53:46 UTC (rev 958) +++ trunk/jazz/src/AsciiMidiFile.cpp 2013-03-17 13:11:21 UTC (rev 959) @@ -21,6 +21,10 @@ #include "AsciiMidiFile.h" +#include <iomanip> + +using namespace std; + //***************************************************************************** //***************************************************************************** //----------------------------------------------------------------------------- @@ -28,12 +32,15 @@ int JZAsciiRead::Open(const char* pFileName) { int TrackCount, TicksPerQuarter; - if ( - fscanf( - mpFd, - "Tracks %d, TicksPerQuarter %d\n", - &TrackCount, - &TicksPerQuarter) != 2) + string Junk; + mIfs >> Junk >> TrackCount >> Junk >> TicksPerQuarter; + if (mIfs.fail()) +// if ( +// fscanf( +// mpFd, +// "Tracks %d, TicksPerQuarter %d\n", +// &TrackCount, +// &TicksPerQuarter) != 2) { return 0; } @@ -48,14 +55,16 @@ long Clock; int StatusByte, Channel, Length; - if ( - fscanf( - mpFd, - "%6lu %02x %2d %d ", - &Clock, - &StatusByte, - &Channel, - &Length) != 4) + mIfs >> Clock >> StatusByte >> Channel >> Length; + if (mIfs.fail()) +// if ( +// fscanf( +// mpFd, +// "%6lu %02x %2d %d ", +// &Clock, +// &StatusByte, +// &Channel, +// &Length) != 4) { return pEvent; } @@ -64,7 +73,8 @@ for (int i = 0; i < Length; ++i) { int d; - fscanf(mpFd, "%02x ", &d); + mIfs >> d; +// fscanf(mpFd, "%02x ", &d); pBuffer[i] = (unsigned char)d; } @@ -135,7 +145,10 @@ //----------------------------------------------------------------------------- int JZAsciiRead::NextTrack() { - return fscanf(mpFd, "NextTrack\n") == 0; + string String; + mIfs >> String; + return String == "NextTrack"; +// return fscanf(mpFd, "NextTrack\n") == 0; } //***************************************************************************** @@ -154,11 +167,14 @@ return 0; } - fprintf( - mpFd, - "Tracks %d, TicksPerQuarter %d\n", - TrackCount, - TicksPerQuarter); + mOfs + << "Tracks " << TrackCount << ", TicksPerQuarter " << TicksPerQuarter + << endl; +// fprintf( +// mpFd, +// "Tracks %d, TicksPerQuarter %d\n", +// TrackCount, +// TicksPerQuarter); return TrackCount; } @@ -169,22 +185,31 @@ { JZChannelEvent* pChannelEvent; - fprintf(mpFd, "%6d %02x ", pEvent->GetClock(), pEvent->GetStat()); + mOfs + << setw(6) << pEvent->GetClock() + << ' ' << setw(2) << hex << pEvent->GetStat() + << ' ' << dec; +// fprintf(mpFd, "%6d %02x ", pEvent->GetClock(), pEvent->GetStat()); if ((pChannelEvent = pEvent->IsChannelEvent()) != 0) { - fprintf(mpFd, "%2d ", pChannelEvent->GetChannel()); + mOfs << setw(2) << pChannelEvent->GetChannel() << ' '; +// fprintf(mpFd, "%2d ", pChannelEvent->GetChannel()); } else { - fprintf(mpFd, "-1 "); + mOfs << "-1 "; +// fprintf(mpFd, "-1 "); } - fprintf(mpFd, "%d ", Length); + mOfs << Length << ' '; +// fprintf(mpFd, "%d ", Length); for (int i = 0; i < Length; ++i) { - fprintf(mpFd, "%02x ", pData[i]); + mOfs << setw(2) << hex << pData[i] << dec; +// fprintf(mpFd, "%02x ", pData[i]); } - fprintf(mpFd, "\n"); + mOfs << '\n'; +// fprintf(mpFd, "\n"); return 0; } @@ -193,5 +218,6 @@ //----------------------------------------------------------------------------- void JZAsciiWrite::NextTrack() { - fprintf(mpFd, "NextTrack\n"); + mOfs << "NextTrack" << endl; +// fprintf(mpFd, "NextTrack\n"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |