95 std::vector<std::byte>
data;
166 std::array<uint8_t, 16>
md5;
225 explicit WAV(std::span<const std::byte> wavData);
227 explicit WAV(
const std::string& wavPath);
229 [[nodiscard]]
explicit operator bool()
const;
231 [[nodiscard]]
const std::vector<std::unique_ptr<ChunkBase>>&
getChunks()
const;
233 [[nodiscard]] std::vector<std::unique_ptr<ChunkBase>>&
getChunks();
256 std::vector<std::unique_ptr<ChunkBase>>
chunks;
const ChunkPAD * getChunkPAD() const
const ChunkCSET * getChunkCSET() const
std::vector< std::unique_ptr< ChunkBase > > chunks
const ChunkDATA * getChunkDATA() const
const ChunkFMT * getChunkFMT() const
const ChunkPLST * getChunkPLST() const
const ChunkLIST * getChunkLIST() const
const std::vector< std::unique_ptr< ChunkBase > > & getChunks() const
const ChunkBase * getFirstChunk(WAV::ChunkType type) const
uint32_t getSignature() const
const ChunkCUE * getChunkCUE() const
const ChunkFACT * getChunkFACT() const
void setSignature(uint32_t newSignature)
const ChunkMD5 * getChunkMD5() const
const ChunkFLLR * getChunkFLLR() const
const ChunkSMPL * getChunkSMPL() const
const ChunkJUNK * getChunkJUNK() const
const ChunkINST * getChunkINST() const
static constexpr auto RIFF_TYPE
constexpr auto FFIR_SIGNATURE
constexpr auto RIFX_SIGNATURE
constexpr auto RIFF_SIGNATURE
consteval uint32_t makeFourCC(const char fourCC[4])
Creates a FourCC identifier from a string of 4 characters.
std::vector< NOTE > notes
std::vector< LABL > labels
std::vector< LTXT > labelTexts
virtual ~ChunkBase()=default
std::vector< CuePoint > cuePoints
std::vector< std::byte > data
std::vector< std::byte > extraCompressionInfo
std::vector< std::byte > filler
uint32_t samplesPerSecond
std::vector< std::byte > extraCompressionInfo
uint32_t averageBytesPerSecond
std::vector< META > metadata
std::vector< std::byte > junk
std::array< uint8_t, 16 > md5
std::vector< std::byte > padding
std::vector< Segment > segments
std::vector< SampleLoop > loops
uint32_t midiPitchFraction
std::vector< std::byte > data