All pastes #251728 Raw Edit

Something

public cpp v1 · immutable
#251728 ·published 2006-11-18 15:24 UTC
rendered paste body
/* Bitcrusher.h */#pragma once#include "dspobject.h"#include "MonoEffect.h"namespace DSP {class Bitcrusher :	public MonoEffect{public:	Bitcrusher();	~Bitcrusher();	void processReplacing(float* in, float* out, int sampleFrames);	void setSteps(int i) { this->steps = i; }private:	int steps;};}/* Bitcrusher.cpp */#include "Bitcrusher.h"using namespace DSP;Bitcrusher::Bitcrusher(): MonoEffect(){}Bitcrusher::~Bitcrusher(void){}void Bitcrusher::processReplacing(float* in, float* out, int sampleFrames){	register int steps = this->steps;	for(; sampleFrames; sampleFrames--, out++, in++) {		*out = (int) (*in * steps) / (float) steps;	}}/* MonoEffect.h */#pragma once#include "DSPObject.h"namespace DSP {class MonoEffect :	public DSPObject{public:	MonoEffect()		: DSPObject(1, 1)	{	}	virtual ~MonoEffect() = 0;	virtual void processReplacing(float* in, float* out, int sampleFrames) = 0;	void processReplacing(float** ins, float** outs, int sampleFrames)	{		this->processReplacing(*ins, *outs, sampleFrames);	}};}/* DSPObject.h */#pragma oncenamespace DSP {// Represents an abstract processing object class DSPObject{public:	DSPObject()	{		this->numInputs = this->numOutputs = 0;	}	DSPObject(int numInputs, int numOutputs)	{		this->numInputs = numInputs;		this->numOutputs = numOutputs;	}	virtual ~DSPObject() {};	// process sampleFrames samples from in[] and put them into out[] 	// pure virtual - must be overloaded in inheriting class	virtual void processReplacing(float** in, float** out, int sampleFrames) = 0;	virtual int getNumInputs() { return this->numInputs; }	virtual int getNumOutputs() { return this->numOutputs; }protected:	int numInputs;	int numOutputs;};}/* Error:Error	1	error LNK2019: unresolved external symbol "public: virtual __thiscall DSP::MonoEffect::~MonoEffect(void)" (??1MonoEffect@DSP@@UAE@XZ) referenced in function "public: virtual __thiscall DSP::Bitcrusher::~Bitcrusher(void)" (??1Bitcrusher@DSP@@UAE@XZ)	Bitcrusher.obj	*/