Sha256: 73b0d001ca6d155df61498713705dd638381e9b4d05aafc0aee58eace7e6e032

Contents?: true

Size: 1.63 KB

Versions: 3

Compression:

Stored size: 1.63 KB

Contents

// -*- c++ -*-
#pragma once
#ifndef __BEEPS_PROCESSOR_H__
#define __BEEPS_PROCESSOR_H__


#include <xot/pimpl.h>


namespace Beeps
{


	class Signals;


	class Processor
	{

		public:

			Processor ();

			virtual ~Processor ();

			virtual void process (Signals* signals);

			virtual operator bool () const;

			virtual bool operator ! () const;

	};// Processor


	class SineWave : public Processor
	{

		typedef Processor Super;

		public:

			SineWave ();

			virtual ~SineWave ();

			virtual void set_frequency (float frequency);

			virtual float    frequency () const;

			virtual void process (Signals* signals);

			struct Data;

			Xot::PImpl<Data, true> self;

	};// SineWave


	class SquareWave : public Processor
	{

		typedef Processor Super;

		public:

			SquareWave ();

			virtual ~SquareWave ();

			virtual void set_frequency (float frequency);

			virtual float    frequency () const;

			virtual void process (Signals* signals);

			struct Data;

			Xot::PImpl<Data, true> self;

	};// SquareWave


	class SawtoothWave : public Processor
	{

		typedef Processor Super;

		public:

			SawtoothWave ();

			virtual ~SawtoothWave ();

			virtual void set_frequency (float frequency);

			virtual float    frequency () const;

			virtual void process (Signals* signals);

			struct Data;

			Xot::PImpl<Data, true> self;

	};// SawtoothWave


	class FileIn : public Processor
	{

		typedef Processor Super;

		public:

			FileIn (const char* path = NULL);

			virtual ~FileIn ();

			virtual void process (Signals* signals);

			virtual operator bool () const;

			struct Data;

			Xot::PImpl<Data, true> self;

	};// FileIn


}// Beeps


#endif//EOH

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
beeps-0.1.12 include/beeps/processor.h
beeps-0.1.11 include/beeps/processor.h
beeps-0.1.10 include/beeps/processor.h