//===========================================================================// // File: audcmp.hpp // // Project: MUNGA Brick: Audio manager // // Contents: // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 01/30/95 ECH Initial coding. // //---------------------------------------------------------------------------// // Copyright (C) 1994-1995, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #pragma once #include "Adept.hpp" #include "Channel.hpp" namespace Adept { //######################################################################### //######################### LFOChannel ############################## //######################################################################### class LFOChannel: public ChannelOf { public: static void InitializeClass(); static void TerminateClass(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructor/Destructor // public: ~LFOChannel(); static LFOChannel* Create( MemoryStream *stream, ComponentWeb *owning_web ); protected: LFOChannel( ClassData *class_data, MemoryStream *stream, ComponentWeb *owning_web ); void SkipStreamData(MemoryStream *stream); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Virtual data // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Component execution // public: enum { SinusoidalWaveForm = 0, SquareWaveForm, AscendingTriangularWaveForm, DescendingTriangularWaveForm }; void Execute(); protected: unsigned waveForm; Scalar minValue, valueRange, period, phase; Stuff::Time startTime; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Tool Support // public: static ClassData* CreateFactoryRequest(FactoryRequestParameters *parameters); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test support // public: void TestInstance(); }; //########################################################################## //####################### QuantizerChannel ########################## //########################################################################## class Quantizer: public ChannelOf { public: static void InitializeClass(); static void TerminateClass(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructor/Destructor // public: ~Quantizer(); static Quantizer* Create( MemoryStream *stream, ComponentWeb *owning_web ); protected: Quantizer( ClassData *class_data, MemoryStream *stream, ComponentWeb *owning_web ); void SkipStreamData(MemoryStream *stream); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Virtual data // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Component execution // public: void ChannelChanged(Channel *channel); protected: Scalar *tableEntries; int tableSize; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Tool Support // public: static ClassData* CreateFactoryRequest(FactoryRequestParameters *parameters); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test support // public: void TestInstance(); }; }