All pastes #1284642 Raw Edit

Stuff

public cpp v1 · immutable
#1284642 ·published 2008-12-14 01:04 UTC
rendered paste body
#include "lstUnit.hpp"#include "lstCommon.hpp"#include <string>#include <vector>namespace lst {	lst::SinSynthesizer::SinSynthesizer() {		samples = new vector<float>();		frequency = 440.0;		bitDepth  = 16;		sampleRate = 16;	}		lst::SinSynthesizer::SinSynthesizer( float n_frequency ) {		samples = new vector<float>();		frequency = n_frequency;	}		lst::SinSynthesizer::SinSynthesizer( float n_frequency, int n_bitDepth, int n_sampleRate ) {		samples = new vector<float>();		frequency = n_frequency;		bitDepth = n_bitDepth;		sampleRate = n_sampleRate;		sampleFrequency = (float)lst::frequencyToSamples( frequency, sampleRate );	}	lst::SinSynthesizer::renderSample( float sampleNumber ) {		return resultingSample = sin( ((2*PI)/sampleFrequency) * sampleNumber );	}		lst::SinSynthesizer::generateSamples( ) {		for(int i = 0; i < sampleRate; i++)			samples.push_back(renderSample((float)i));	}		lst::SinSynthesizer::generateSamples( int sampleCount ) {		for(int i = 0; i < sampleCount; i++))			samples.push_back(renderSample((float)i));	}		lst::SinSynthesizer::getSamples() {		float * returnSamples = malloc(samples.size() * sizeof(float));		for(int i = 0; i < samples.size(); returnSamples[i] = samples[i++])			;	}		lst::SinSynthesizer::~SinSynthesizer() {		delete samples;	}	class SinSynthesizer : lst::Unit {		private:			float frequency;			float renderSample( float sampleNumber );			float sampleFrequency;		public:			SinSynthesizer();			SinSynthesizer( float n_frequency );			SinSynthesizer( float n_frequency, int n_bitDepth, int n_sampleRate );			~SinSynthesizer();			void generateSamples();			void generateSamples( int sampleCount );			float getSamples();	}}