OpenTTD Source 20260206-master-g4d4e37dbf1
SoundLoader_Wav Class Reference

Wav file (RIFF/WAVE) sound loader. More...

Inheritance diagram for SoundLoader_Wav:
SoundLoader PriorityBaseProvider< SoundLoader > BaseProvider< SoundLoader >

Public Member Functions

bool Load (SoundEntry &sound, bool new_format, std::vector< std::byte > &data) const override
 Load a sound from the file and offset in the given sound entry.
Public Member Functions inherited from SoundLoader
 SoundLoader (std::string_view name, std::string_view description, int priority)
Public Member Functions inherited from PriorityBaseProvider< SoundLoader >
constexpr PriorityBaseProvider (std::string_view name, std::string_view description, int priority)
int GetPriority () const
Public Member Functions inherited from BaseProvider< SoundLoader >
constexpr BaseProvider (std::string_view name, std::string_view description)
std::string_view GetName () const
std::string_view GetDescription () const

Static Public Attributes

static constexpr uint16_t DEFAULT_SAMPLE_RATE = 11025

Static Private Attributes

static SoundLoader_Wav instance {}

Additional Inherited Members

Protected Attributes inherited from PriorityBaseProvider< SoundLoader >
const int priority
Protected Attributes inherited from BaseProvider< SoundLoader >
const std::string_view name
const std::string_view description

Detailed Description

Wav file (RIFF/WAVE) sound loader.

Definition at line 20 of file soundloader_wav.cpp.

Constructor & Destructor Documentation

◆ SoundLoader_Wav()

SoundLoader_Wav::SoundLoader_Wav ( )
inline

Definition at line 22 of file soundloader_wav.cpp.

Member Function Documentation

◆ Load()

bool SoundLoader_Wav::Load ( SoundEntry & sound,
bool new_format,
std::vector< std::byte > & data ) const
inlineoverridevirtual

Load a sound from the file and offset in the given sound entry.

It is up to the implementations to update the sound's channels, bits_per_sample and rate.

Parameters
soundThe entry to load.
new_formatWhether this is an old format soundset (with some buggy data), or the new format.
[out]dataThe vector to write the decoded sound data into.
Returns
true iff the entry was loaded correctly.

Implements SoundLoader.

Definition at line 26 of file soundloader_wav.cpp.

References Align(), Debug, RandomAccessFile::ReadBlock(), RandomAccessFile::ReadDword(), RandomAccessFile::ReadWord(), and RandomAccessFile::SkipBytes().

Field Documentation

◆ DEFAULT_SAMPLE_RATE

uint16_t SoundLoader_Wav::DEFAULT_SAMPLE_RATE = 11025
staticconstexpr

Definition at line 24 of file soundloader_wav.cpp.

◆ instance

SoundLoader_Wav SoundLoader_Wav::instance {}
staticprivate

Definition at line 117 of file soundloader_wav.cpp.


The documentation for this class was generated from the following file: