diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2019-05-17 01:21:41 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2019-05-17 01:21:41 +0300 |
commit | 72c3f6ec998e8acfade1e1b40abf32af21eb282b (patch) | |
tree | 2e5444a0711aa29a24e39ae2404d5c5f562af19b /src/aea.cpp | |
parent | ed9629395ce9696164c1d617d573a47982e82169 (diff) | |
download | atracdenc-72c3f6ec998e8acfade1e1b40abf32af21eb282b.tar.gz |
Fix some VS compilation warnings0.0.1
Diffstat (limited to 'src/aea.cpp')
-rw-r--r-- | src/aea.cpp | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/src/aea.cpp b/src/aea.cpp index 4387825..4589a60 100644 --- a/src/aea.cpp +++ b/src/aea.cpp @@ -23,12 +23,15 @@ #include <string.h> using std::string; +using std::array; +using std::vector; +using std::unique_ptr; TAea::TMeta TAea::ReadMeta(const string& filename) { FILE* fp = fopen(filename.c_str(), "rb"); if (!fp) throw TAeaIOError("Can't open file to read", errno); - std::array<char, AeaMetaSize> buf; + array<char, AeaMetaSize> buf; if (fread(&buf[0], TAea::AeaMetaSize, 1, fp) != 1) { const int errnum = errno; fclose(fp); @@ -42,11 +45,11 @@ TAea::TMeta TAea::ReadMeta(const string& filename) { } -TAea::TMeta TAea::CreateMeta(const string& filename, const string& title, int channelNum, uint32_t numFrames) { +TAea::TMeta TAea::CreateMeta(const string& filename, const string& title, uint8_t channelNum, uint32_t numFrames) { FILE* fp = fopen(filename.c_str(), "wb"); if (!fp) throw TAeaIOError("Can't open file to write", errno); - std::array<char, AeaMetaSize> buf; + array<char, AeaMetaSize> buf; memset(&buf[0], 0, AeaMetaSize); buf[0] = 0x00; buf[1] = 0x08; @@ -74,23 +77,23 @@ TAea::TMeta TAea::CreateMeta(const string& filename, const string& title, int ch TAea::TAea(const string& filename) - : Meta(ReadMeta(filename)) { - } + : Meta(ReadMeta(filename)) +{} -TAea::TAea(const string& filename, const string& title, int channelNum, uint32_t numFrames) - : Meta(CreateMeta(filename, title, channelNum, numFrames)) { - } +TAea::TAea(const string& filename, const string& title, uint8_t channelNum, uint32_t numFrames) + : Meta(CreateMeta(filename, title, channelNum, numFrames)) +{} TAea::~TAea() { fclose(Meta.AeaFile); } -std::string TAea::GetName() const { +string TAea::GetName() const { return string(&Meta.AeaHeader[4]); } -std::unique_ptr<TAea::TFrame> TAea::ReadFrame() { - std::unique_ptr<TAea::TFrame>frame(new TFrame(212)); +unique_ptr<TAea::TFrame> TAea::ReadFrame() { + unique_ptr<TAea::TFrame>frame(new TFrame(212)); if(fread(frame->Get(), frame->Size(), 1, Meta.AeaFile) != 1) { const int errnum = errno; fclose(Meta.AeaFile); @@ -107,7 +110,7 @@ void TAea::WriteFrame(std::unique_ptr<TAea::TFrame>&& frame) { } } */ -void TAea::WriteFrame(std::vector<char> data) { +void TAea::WriteFrame(vector<char> data) { if (FirstWrite) { FirstWrite = false; return; @@ -120,13 +123,18 @@ void TAea::WriteFrame(std::vector<char> data) { } } -int TAea::GetChannelNum() const { +uint8_t TAea::GetChannelNum() const { return Meta.AeaHeader[264]; } -long long TAea::GetLengthInSamples() const { + +uint64_t TAea::GetLengthInSamples() const { +#ifdef PLATFORM_WINDOWS + const int fd = _fileno(Meta.AeaFile); +#else const int fd = fileno(Meta.AeaFile); +#endif struct stat sb; fstat(fd, &sb); const uint32_t nChannels = Meta.AeaHeader[264] ? Meta.AeaHeader[264] : 1; - return 512 * ((sb.st_size - TAea::AeaMetaSize) / 212 / nChannels - 5); + return (uint64_t)512 * ((sb.st_size - TAea::AeaMetaSize) / 212 / nChannels - 5); } |