xref: /haiku/src/add-ons/kernel/drivers/audio/echo/generic/CEchoGalsMTC.h (revision 17889a8c70dbb3d59c1412f6431968753c767bab)
1 // ****************************************************************************
2 //
3 //		CEchoGalsMTC.h
4 //
5 //		CEchoGalsMTC is used to add MIDI time code sync to the base
6 //		CEchoGals class.  CEchoGalsMTC derives from CEchoGals; CLayla and
7 //		CLayla24 derive in turn from CEchoGalsMTC.
8 //
9 //		Set editor tabs to 3 for your viewing pleasure.
10 //
11 // This file is part of Echo Digital Audio's generic driver library.
12 // Copyright Echo Digital Audio Corporation (c) 1998 - 2005
13 // All rights reserved
14 // www.echoaudio.com
15 //
16 // This library is free software; you can redistribute it and/or
17 // modify it under the terms of the GNU Lesser General Public
18 // License as published by the Free Software Foundation; either
19 // version 2.1 of the License, or (at your option) any later version.
20 //
21 // This library is distributed in the hope that it will be useful,
22 // but WITHOUT ANY WARRANTY; without even the implied warranty of
23 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24 // Lesser General Public License for more details.
25 //
26 // You should have received a copy of the GNU Lesser General Public
27 // License along with this library; if not, write to the Free Software
28 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29 //
30 // ****************************************************************************
31 
32 //	Prevent problems with multiple includes
33 #ifndef _CECHOGALSMTC_H_
34 #define _CECHOGALSMTC_H_
35 
36 #include "CEchoGals.h"
37 
38 class CEchoGalsMTC : public CEchoGals
39 {
40 public:
41 	//
42 	//	Construction/destruction
43 	//
44 	CEchoGalsMTC( PCOsSupport pOsSupport );
45 	virtual ~CEchoGalsMTC();
46 
47 	//
48 	// Get and set input clock
49 	//
50 	virtual ECHOSTATUS SetInputClock(WORD wClock);
51 	virtual ECHOSTATUS GetInputClock(WORD &wClock);
52 
53 	//
54 	// Get and set sample rate
55 	//
56 	virtual ECHOSTATUS SetAudioSampleRate
57 	(
58 		DWORD		dwSampleRate
59 	);
60 
61 	virtual ECHOSTATUS GetAudioSampleRate
62 	(
63 		PDWORD	pdwSampleRate
64 	);
65 
66 	//
67 	// Update the sample rate based on received MTC data
68 	//
69 	virtual void ServiceMtcSync();
70 
71 protected:
72 
73 	WORD		m_wInputClock;
74 
75 };		// class CEchoGalsMTC
76 
77 
78 #endif // _CECHOGALSMTC_H_
79 
80 // *** CEchoGalsMTC.H ***
81