SDL_audiolib 0.0.0
An audio decoding, resampling and mixing library
Aulib::DecoderBassmidi Class Reference

BASSMIDI decoder. More...

#include <DecoderBassmidi.h>

Inheritance diagram for Aulib::DecoderBassmidi:
Aulib::Decoder

Public Member Functions

 DecoderBassmidi ()
 
 ~DecoderBassmidi () override
 
auto open (SDL_RWops *rwops) -> bool override
 
auto getChannels () const -> int override
 
auto getRate () const -> int override
 
auto rewind () -> bool override
 
auto duration () const -> std::chrono::microseconds override
 
auto seekToTime (std::chrono::microseconds pos) -> bool override
 
- Public Member Functions inherited from Aulib::Decoder
 Decoder ()
 
virtual ~Decoder ()
 
 Decoder (const Decoder &)=delete
 
auto operator= (const Decoder &) -> Decoder &=delete
 
auto isOpen () const -> bool
 
auto decode (float buf[], int len, bool &callAgain) -> int
 
virtual auto open (SDL_RWops *rwops) -> bool=0
 
virtual auto getChannels () const -> int=0
 
virtual auto getRate () const -> int=0
 
virtual auto rewind () -> bool=0
 
virtual auto duration () const -> std::chrono::microseconds=0
 
virtual auto seekToTime (std::chrono::microseconds pos) -> bool=0
 

Static Public Member Functions

static auto setDefaultSoundfont (const std::string &filename) -> bool
 Set the default soundfont. More...
 
- Static Public Member Functions inherited from Aulib::Decoder
template<class... Decoders>
static auto decoderFor (const std::string &filename) -> std::unique_ptr< Decoder >
 Find and return an instance of the first decoder that can open the specified file. More...
 
template<class... Decoders>
static auto decoderFor (SDL_RWops *rwops) -> std::unique_ptr< Decoder >
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static auto decoderFor (const std::string &filename) -> std::unique_ptr< Decoder >
 Find and return an instance of the first decoder that can open the specified file. More...
 
static auto decoderFor (SDL_RWops *rwops) -> std::unique_ptr< Decoder >
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Protected Member Functions

auto doDecoding (float buf[], int len, bool &callAgain) -> int override
 
- Protected Member Functions inherited from Aulib::Decoder
void setIsOpen (bool f)
 
virtual auto doDecoding (float buf[], int len, bool &callAgain) -> int=0
 

Detailed Description

BASSMIDI decoder.

Constructor & Destructor Documentation

◆ DecoderBassmidi()

Aulib::DecoderBassmidi::DecoderBassmidi ( )

◆ ~DecoderBassmidi()

Aulib::DecoderBassmidi::~DecoderBassmidi ( )
override

Member Function Documentation

◆ doDecoding()

auto Aulib::DecoderBassmidi::doDecoding ( float  buf[],
int  len,
bool &  callAgain 
) -> int
overrideprotectedvirtual

Implements Aulib::Decoder.

◆ duration()

auto Aulib::DecoderBassmidi::duration ( ) const -> std::chrono::microseconds
overridevirtual

Implements Aulib::Decoder.

◆ getChannels()

auto Aulib::DecoderBassmidi::getChannels ( ) const -> int
overridevirtual

Implements Aulib::Decoder.

◆ getRate()

auto Aulib::DecoderBassmidi::getRate ( ) const -> int
overridevirtual

Implements Aulib::Decoder.

◆ open()

auto Aulib::DecoderBassmidi::open ( SDL_RWops *  rwops) -> bool
overridevirtual

Implements Aulib::Decoder.

◆ rewind()

auto Aulib::DecoderBassmidi::rewind ( ) -> bool
overridevirtual

Implements Aulib::Decoder.

◆ seekToTime()

auto Aulib::DecoderBassmidi::seekToTime ( std::chrono::microseconds  pos) -> bool
overridevirtual

Implements Aulib::Decoder.

◆ setDefaultSoundfont()

static auto Aulib::DecoderBassmidi::setDefaultSoundfont ( const std::string &  filename) -> bool
static

Set the default soundfont.

The soundfont will be used for all subsequently opened instances. Instances for which open() has been called already are not affected.

Parameters
filenameThe soundfont file to use.
Returns
Return values
trueThe default soundfont was successfully set.
falseAn error occured.