libsidplayfp 3.0.0
sidbuilder Class Referenceabstract

#include <sidbuilder.h>

Inheritance diagram for sidbuilder:
ReSIDfpBuilder SIDLiteBuilder USBSIDBuilder exSIDBuilder

Public Member Functions

 sidbuilder (const char *const name)
unsigned int usedDevices () const
libsidplayfp::sidemulock (libsidplayfp::EventScheduler *scheduler, SidConfig::sid_model_t model, bool digiboost)
void unlock (libsidplayfp::sidemu *device)
void remove ()
const char * name () const
const char * error () const
const char * credits () const

Protected Types

typedef std::set< libsidplayfp::sidemu * > emuset_t

Protected Member Functions

virtual libsidplayfp::sidemucreate ()=0
virtual const char * getCredits () const =0

Protected Attributes

std::string m_errorBuffer
emuset_t sidobjs

Detailed Description

Base class for sid builders.

Member Function Documentation

◆ create()

virtual libsidplayfp::sidemu * sidbuilder::create ( )
protectedpure virtual

◆ credits()

const char * sidbuilder::credits ( ) const

Get the builder's credits.

Returns
credits

◆ error()

const char * sidbuilder::error ( ) const
inline

Error message.

Returns
string error message.

◆ lock()

libsidplayfp::sidemu * sidbuilder::lock ( libsidplayfp::EventScheduler * scheduler,
SidConfig::sid_model_t model,
bool digiboost )

Find a free SID of the required specs

Parameters
schedulerthe event scheduler
modelthe required sid model
digiboostwhether to enable digiboost for 8580
Returns
pointer to the locked sid, null if none is available

◆ name()

const char * sidbuilder::name ( ) const
inline

Get the builder's name.

Returns
the name

◆ remove()

void sidbuilder::remove ( )

Remove all SID emulations.

◆ unlock()

void sidbuilder::unlock ( libsidplayfp::sidemu * device)

Release this SID.

Parameters
devicethe sid to unlock

◆ usedDevices()

unsigned int sidbuilder::usedDevices ( ) const
inline

The number of used devices.

Returns
number of used sids, 0 if none.

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