13895766dSshatty // **************************************************************************** 23895766dSshatty // 33895766dSshatty // CMona.H 43895766dSshatty // 53895766dSshatty // Include file for interfacing with the CMona generic driver class 63895766dSshatty // Set editor tabs to 3 for your viewing pleasure. 73895766dSshatty // 83895766dSshatty // ---------------------------------------------------------------------------- 93895766dSshatty // 10*c2ddc71cSJérôme Duval // ---------------------------------------------------------------------------- 11*c2ddc71cSJérôme Duval // 12*c2ddc71cSJérôme Duval // Copyright Echo Digital Audio Corporation (c) 1998 - 2004 133895766dSshatty // All rights reserved 143895766dSshatty // www.echoaudio.com 153895766dSshatty // 16*c2ddc71cSJérôme Duval // This file is part of Echo Digital Audio's generic driver library. 173895766dSshatty // 18*c2ddc71cSJérôme Duval // Echo Digital Audio's generic driver library is free software; 19*c2ddc71cSJérôme Duval // you can redistribute it and/or modify it under the terms of 20*c2ddc71cSJérôme Duval // the GNU General Public License as published by the Free Software Foundation. 213895766dSshatty // 22*c2ddc71cSJérôme Duval // This program is distributed in the hope that it will be useful, 23*c2ddc71cSJérôme Duval // but WITHOUT ANY WARRANTY; without even the implied warranty of 24*c2ddc71cSJérôme Duval // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25*c2ddc71cSJérôme Duval // GNU General Public License for more details. 263895766dSshatty // 27*c2ddc71cSJérôme Duval // You should have received a copy of the GNU General Public License 28*c2ddc71cSJérôme Duval // along with this program; if not, write to the Free Software 29*c2ddc71cSJérôme Duval // Foundation, Inc., 59 Temple Place - Suite 330, Boston, 30*c2ddc71cSJérôme Duval // MA 02111-1307, USA. 313895766dSshatty // 323895766dSshatty // **************************************************************************** 333895766dSshatty 343895766dSshatty // Prevent problems with multiple includes 353895766dSshatty #ifndef _MONAOBJECT_ 363895766dSshatty #define _MONAOBJECT_ 373895766dSshatty 383895766dSshatty #include "CEchoGals.h" 393895766dSshatty #include "CMonaDspCommObject.h" 403895766dSshatty 413895766dSshatty // 423895766dSshatty // Class used for interfacing with the Darla audio card. 433895766dSshatty // 443895766dSshatty class CMona : public CEchoGals 453895766dSshatty { 463895766dSshatty public: 473895766dSshatty // 483895766dSshatty // Construction/destruction 493895766dSshatty // 503895766dSshatty CMona( PCOsSupport pOsSupport ); 513895766dSshatty 523895766dSshatty virtual ~CMona(); 533895766dSshatty 543895766dSshatty // 553895766dSshatty // Setup & initialization methods 563895766dSshatty // 573895766dSshatty 583895766dSshatty virtual ECHOSTATUS InitHw(); 593895766dSshatty 603895766dSshatty // 613895766dSshatty // Adapter information methods 623895766dSshatty // 633895766dSshatty 643895766dSshatty // 653895766dSshatty // Return the capabilities of this card; card type, card name, 663895766dSshatty // # analog inputs, # analog outputs, # digital channels, 673895766dSshatty // # MIDI ports and supported clocks. 683895766dSshatty // See ECHOGALS_CAPS definition above. 693895766dSshatty // 703895766dSshatty virtual ECHOSTATUS GetCapabilities 713895766dSshatty ( 723895766dSshatty PECHOGALS_CAPS pCapabilities 733895766dSshatty ); 743895766dSshatty 753895766dSshatty // 763895766dSshatty // Audio Interface methods 773895766dSshatty // 783895766dSshatty virtual ECHOSTATUS QueryAudioSampleRate 793895766dSshatty ( 803895766dSshatty DWORD dwSampleRate 813895766dSshatty ); 823895766dSshatty 833895766dSshatty // 843895766dSshatty // Get a bitmask of all the clocks the hardware is currently detecting 853895766dSshatty // 863895766dSshatty virtual ECHOSTATUS GetInputClockDetect(DWORD &dwClockDetectBits); 873895766dSshatty 883895766dSshatty // 893895766dSshatty // Overload new & delete so memory for this object is allocated from 903895766dSshatty // non-paged memory. 913895766dSshatty // 923895766dSshatty PVOID operator new( size_t Size ); 933895766dSshatty VOID operator delete( PVOID pVoid ); 943895766dSshatty 953895766dSshatty protected: 963895766dSshatty // 973895766dSshatty // Get access to the appropriate DSP comm object 983895766dSshatty // 993895766dSshatty PCMonaDspCommObject GetDspCommObject() 1003895766dSshatty { return( (PCMonaDspCommObject) m_pDspCommObject ); } 1013895766dSshatty }; // class CMona 1023895766dSshatty 1033895766dSshatty typedef CMona * PCMona; 1043895766dSshatty 1053895766dSshatty #endif 1063895766dSshatty 1073895766dSshatty // *** CMona.H *** 108