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