libsidplayfp 2.14.0
sidplayfp Class Reference

#include <sidplayfp.h>

Public Member Functions

const SidConfigconfig () const
 
const SidInfoinfo () const
 
bool config (const SidConfig &cfg)
 
const char * error () const
 
bool fastForward (unsigned int percent)
 
bool load (SidTune *tune)
 
uint_least32_t play (short *buffer, uint_least32_t count)
 
void buffers (short **buffers) const
 
int play (unsigned int cycles)
 
unsigned int installedSIDs () const
 
bool isPlaying () const
 
void stop ()
 
void debug (bool enable, FILE *out)
 
void mute (unsigned int sidNum, unsigned int voice, bool enable)
 
void filter (unsigned int sidNum, bool enable)
 
uint_least32_t time () const
 
uint_least32_t timeMs () const
 
void setRoms (const uint8_t *kernal, const uint8_t *basic=0, const uint8_t *character=0)
 
void setKernal (const uint8_t *rom)
 
void setBasic (const uint8_t *rom)
 
void setChargen (const uint8_t *rom)
 
uint_least16_t getCia1TimerA () const
 
bool getSidStatus (unsigned int sidNum, uint8_t regs[32])
 

Detailed Description

sidplayfp

Examples
demo.cpp.

Member Function Documentation

◆ buffers()

void sidplayfp::buffers ( short ** buffers) const

Get the buffer pointers for each of the installed SID chip.

Parameters
bufferspointer to the array of buffer pointers.
Since
2.14

◆ config() [1/2]

const SidConfig & sidplayfp::config ( ) const

Get the current engine configuration.

Returns
a const reference to the current configuration.
Examples
demo.cpp.

◆ config() [2/2]

bool sidplayfp::config ( const SidConfig & cfg)

Configure the engine. Check error for detailed message if something goes wrong.

Parameters
cfgthe new configuration
Returns
true on success, false otherwise.

◆ debug()

void sidplayfp::debug ( bool enable,
FILE * out )

Control debugging. Only has effect if library have been compiled with the –enable-debug option.

Parameters
enableenable/disable debugging.
outthe file where to redirect the debug info.

◆ error()

const char * sidplayfp::error ( ) const

Error message.

Returns
string error message.
Examples
demo.cpp.

◆ fastForward()

bool sidplayfp::fastForward ( unsigned int percent)

Set the fast-forward factor.

Parameters
percent

◆ filter()

void sidplayfp::filter ( unsigned int sidNum,
bool enable )

Enable/disable SID filter. Must be called after config or it has no effect.

Parameters
sidNumthe SID chip, 0 for the first one, 1 for the second or 2 for the third.
enabletrue enable the filter, false disable it.
Since
2.10

◆ getCia1TimerA()

uint_least16_t sidplayfp::getCia1TimerA ( ) const

Get the CIA 1 Timer A programmed value.

◆ getSidStatus()

bool sidplayfp::getSidStatus ( unsigned int sidNum,
uint8_t regs[32] )

Get the SID registers programmed value.

Parameters
sidNumthe SID chip, 0 for the first one, 1 for the second and 2 for the third.
regsan array that will be filled with the last values written to the chip.
Returns
false if the requested chip doesn't exist.
Since
2.2

◆ info()

const SidInfo & sidplayfp::info ( ) const

Get the current player informations.

Returns
a const reference to the current info.
Examples
demo.cpp.

◆ installedSIDs()

unsigned int sidplayfp::installedSIDs ( ) const

Get the number of installed SID chips.

Returns
the number of SID chips.
Since
2.14

◆ isPlaying()

bool sidplayfp::isPlaying ( ) const

Check if the engine is playing or stopped.

Returns
true if playing, false otherwise.
Examples
demo.cpp.

◆ load()

bool sidplayfp::load ( SidTune * tune)

Load a tune. Check error for detailed message if something goes wrong.

Parameters
tunethe SidTune to load, 0 unloads current tune.
Returns
true on sucess, false otherwise.
Examples
demo.cpp.

◆ mute()

void sidplayfp::mute ( unsigned int sidNum,
unsigned int voice,
bool enable )

Mute/unmute a SID channel.

Parameters
sidNumthe SID chip, 0 for the first one, 1 for the second or 2 for the third.
voicethe channel to mute/unmute, 0 to 2 for the voices or 3 for samples.
enabletrue unmutes the channel, false mutes it.

◆ play() [1/2]

uint_least32_t sidplayfp::play ( short * buffer,
uint_least32_t count )

Run the emulation and produce samples to play if a buffer is given.

Parameters
bufferpointer to the buffer to fill with samples.
countthe size of the buffer measured in 16 bit samples or 0 if no output is needed (e.g. Hardsid)
Returns
the number of produced samples. If less than requested or isPlaying() is false an error occurred, use error() to get a detailed message.
Examples
demo.cpp.

◆ play() [2/2]

int sidplayfp::play ( unsigned int cycles)

Run the emulation for selected number of cycles. The value will be limited to a reasonable amount if too large.

Parameters
cyclesthe number of cycles to run.
Returns
the number of produced samples or zero for hardware devices. If negative an error occurred, use error() to get a detailed message.
Since
2.14

◆ setKernal()

void sidplayfp::setKernal ( const uint8_t * rom)

Set the ROM banks.

Parameters
rompointer to the ROM data.
Since
2.2

◆ setRoms()

void sidplayfp::setRoms ( const uint8_t * kernal,
const uint8_t * basic = 0,
const uint8_t * character = 0 )

Set ROM images.

Parameters
kernalpointer to Kernal ROM.
basicpointer to Basic ROM, generally needed only for BASIC tunes.
characterpointer to character generator ROM.
Examples
demo.cpp.

◆ stop()

void sidplayfp::stop ( )

Stop the engine.

◆ time()

uint_least32_t sidplayfp::time ( ) const

Get the current playing time.

Returns
the current playing time measured in seconds.

◆ timeMs()

uint_least32_t sidplayfp::timeMs ( ) const

Get the current playing time.

Returns
the current playing time measured in milliseconds.
Since
2.0

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