libsidplayfp  2.0.2
Classes | Public Member Functions | Protected Types | Protected Attributes | List of all members
sidbuilder Class Referenceabstract

#include <sidbuilder.h>

Inheritance diagram for sidbuilder:
Inheritance graph
[legend]
Collaboration diagram for sidbuilder:
Collaboration graph
[legend]

Classes

class  applyParameter
 

Public Member Functions

 sidbuilder (const char *const name)
 
unsigned int usedDevices () const
 
virtual unsigned int availDevices () const =0
 
virtual unsigned int create (unsigned int sids)=0
 
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
 
bool getStatus () const
 
virtual const char * credits () const =0
 
virtual void filter (bool enable)=0
 

Protected Types

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

Protected Attributes

std::string m_errorBuffer
 
emuset_t sidobjs
 
bool m_status
 

Detailed Description

Base class for sid builders.

Member Function Documentation

◆ availDevices()

virtual unsigned int sidbuilder::availDevices ( ) const
pure virtual

Available devices.

Returns
the number of available sids, 0 = endless.

Implemented in HardSIDBuilder, exSIDBuilder, ReSIDBuilder, and ReSIDfpBuilder.

◆ create()

virtual unsigned int sidbuilder::create ( unsigned int  sids)
pure virtual

Create the sid emu.

Parameters
sidsthe number of required sid emu
Returns
the number of actually created sid emus

Implemented in HardSIDBuilder, exSIDBuilder, ReSIDfpBuilder, and ReSIDBuilder.

◆ credits()

virtual const char* sidbuilder::credits ( ) const
pure virtual

Get the builder's credits.

Returns
credits

Implemented in HardSIDBuilder, ReSIDfpBuilder, exSIDBuilder, and ReSIDBuilder.

◆ error()

const char* sidbuilder::error ( ) const
inline

Error message.

Returns
string error message.

◆ filter()

virtual void sidbuilder::filter ( bool  enable)
pure virtual

Toggle sid filter emulation.

Parameters
enabletrue = enable, false = disable

Implemented in HardSIDBuilder, ReSIDfpBuilder, exSIDBuilder, and ReSIDBuilder.

◆ getStatus()

bool sidbuilder::getStatus ( ) const
inline

Determine current state of object.

Returns
true = okay, false = error

◆ lock()

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

Find a free SID of the required specs

Parameters
envthe event context
modelthe required sid model
digiboostwhether to enable digiboost for 8580
Returns
pointer to the locked sid emu

◆ 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 emu 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: