libsidplayfp  1.0.3
Public Member Functions | List of all members
reSIDfp::Filter6581 Class Reference

#include <Filter6581.h>

Inheritance diagram for reSIDfp::Filter6581:
reSIDfp::Filter

Public Member Functions

int clock (int voice1, int voice2, int voice3)
 
void input (int sample)
 
void updatedCenterFrequency ()
 
void updatedResonance ()
 
void updatedMixing ()
 
void setFilterCurve (double curvePosition)
 
- Public Member Functions inherited from reSIDfp::Filter
void enable (bool enable)
 
void setClockFrequency (double clock)
 
void reset ()
 
void writeFC_LO (unsigned char fc_lo)
 
void writeFC_HI (unsigned char fc_hi)
 
void writeRES_FILT (unsigned char res_filt)
 
void writeMODE_VOL (unsigned char mode_vol)
 

Additional Inherited Members

- Protected Attributes inherited from reSIDfp::Filter
double clockFrequency
 
int fc
 
int res
 
int vol
 
bool filt1
 
bool filt2
 
bool filt3
 
bool filtE
 
bool voice3off
 
bool hp
 
bool bp
 
bool lp
 

Detailed Description

Filter based on Dag Lem's 6581 filter from reSID 1.0 prerelease. See original source for discussion about theory of operation.

Java port by Antti S. Lankila

Author
Ken Händel
Dag Lem
Antti Lankila
Leandro Nini

Member Function Documentation

RESID_INLINE int reSIDfp::Filter6581::clock ( int  v1,
int  v2,
int  v3 
)
virtual

SID clocking - 1 cycle

Parameters
v1voice 1 in
v2voice 2 in
v3voice 3 in
Returns
filtered output

Implements reSIDfp::Filter.

void reSIDfp::Filter6581::setFilterCurve ( double  curvePosition)

Set filter curve type based on single parameter.

Parameters
curvePosition0 .. 1, where 0 sets center frequency high ("light") and 1 sets it low ("dark")
void reSIDfp::Filter6581::updatedCenterFrequency ( )
virtual

Switch to new distortion curve.

Implements reSIDfp::Filter.

void reSIDfp::Filter6581::updatedMixing ( )
virtual

Mixing configuration modified (offsets change)

Implements reSIDfp::Filter.

void reSIDfp::Filter6581::updatedResonance ( )
inlinevirtual

Resonance tuned by ear, based on a few observations:

  • there's a small notch even in allpass mode - size of resonance hump is about 8 dB

Implements reSIDfp::Filter.


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