Eric Oulashin's C++ Audio Mixer 1.0
SndFileHelpers.h
Go to the documentation of this file.
1#ifndef __EO_UTILS_SNDFILE_HELPERS_H__
2#define __EO_UTILS_SNDFILE_HELPERS_H__
3
4#include <cstdint>
5#include <vector>
6
7#include <sndfile.h>
8
9#include "AudioFileInfo.h"
10#include "AudioFileResultType.h"
11
12namespace EOUtils
13{
14 namespace sndfile_detail
15 {
19 void sfInfoToAudioFileInfo(const SF_INFO& pSf, std::uintmax_t pFileSizeBytes, AudioFileInfo& pOut);
20
24 int16_t effectiveBitsPerSample(int pSfFormatFull);
25
29 int64_t maxSampleValueForFormat(int16_t pBitsPerSample);
30
31 std::string formatErrorSuffix(SNDFILE* pSndOrNull);
32
33 bool formatHasMajorMinor(int pFullFormat, int pMajorMask, int pMinorMask);
34
35 std::uintmax_t safeFileSize(const std::string& pPath);
36
37 std::vector<char> peekFilePrefix(const std::string& pPath, std::size_t pMaxLen);
38 }
39}
40
41#endif
Definition SndFileHelpers.cpp:13
void sfInfoToAudioFileInfo(const SF_INFO &pSf, std::uintmax_t pFileSizeBytes, AudioFileInfo &pOut)
Fills AudioFileInfo from libsndfile SF_INFO and optional file size.
Definition SndFileHelpers.cpp:30
std::uintmax_t safeFileSize(const std::string &pPath)
Definition SndFileHelpers.cpp:102
int64_t maxSampleValueForFormat(int16_t pBitsPerSample)
Maximum PCM magnitude for clamping ints passed to sf_writef_*.
Definition SndFileHelpers.cpp:73
bool formatHasMajorMinor(int pFullFormat, int pMajorMask, int pMinorMask)
Definition SndFileHelpers.cpp:96
int16_t effectiveBitsPerSample(int pSfFormatFull)
Nominal bits per sample for decoded/interleaved int I/O via libsndfile.
Definition SndFileHelpers.cpp:50
std::string formatErrorSuffix(SNDFILE *pSndOrNull)
Definition SndFileHelpers.cpp:86
std::vector< char > peekFilePrefix(const std::string &pPath, std::size_t pMaxLen)
Definition SndFileHelpers.cpp:110
Definition StringUtils.cpp:6