1 /*
2 Copyright (C) 1994-1995 Apogee Software, Ltd.
3 
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 
13 See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 
19 */
20 #ifndef _rt_dmand_public
21 #define _rt_dmand_public
22 
23 typedef enum {
24    rs_nodata,
25    rs_newsound,
26    rs_endsound,
27    rs_data
28 } recordstate;
29 
30 //***************************************************************************
31 //
32 // SD_StartIncomingSound - Setup to receive an incoming sound in chunks
33 //
34 //***************************************************************************
35 
36 void SD_StartIncomingSound ( void );
37 
38 //***************************************************************************
39 //
40 // SD_StopIncomingSound - Stop receiving an incoming sound and playback
41 //
42 //***************************************************************************
43 
44 void SD_StopIncomingSound ( void );
45 
46 //***************************************************************************
47 //
48 // SD_UpdateIncomingSound - Update an incoming sound
49 //
50 //***************************************************************************
51 
52 void SD_UpdateIncomingSound ( byte * data, word length );
53 
54 //***************************************************************************
55 //
56 // SD_GetSoundData - Returns next piece of sound data, returns:
57 //
58 //                   nodata if no sound data is ready
59 //                   newsound if it is the start of a new sound
60 //                            data is also returned;
61 //                   data if data is ready
62 //
63 //***************************************************************************
64 
65 recordstate SD_GetSoundData ( byte * data, word length );
66 
67 //***************************************************************************
68 //
69 // SD_SoundDataReady - Returns true if data is ready
70 //
71 //***************************************************************************
72 
73 boolean SD_SoundDataReady ( void );
74 
75 //***************************************************************************
76 //
77 // SD_SetRecordingActive - Set the recording active flag
78 //
79 //***************************************************************************
80 
81 void SD_SetRecordingActive ( void );
82 
83 //***************************************************************************
84 //
85 // SD_ClearRecordingActive - Clear the recording active flag
86 //
87 //***************************************************************************
88 
89 void SD_ClearRecordingActive ( void );
90 
91 //***************************************************************************
92 //
93 // SD_RecordingActive - Check if recording is active on some system
94 //
95 //***************************************************************************
96 
97 boolean SD_RecordingActive ( void );
98 
99 //***************************************************************************
100 //
101 // SD_StartRecordingSound - Start recording a sound in chunks
102 //
103 //***************************************************************************
104 
105 boolean SD_StartRecordingSound ( void );
106 
107 //***************************************************************************
108 //
109 // SD_StopRecordingSound - Stop recording a sound
110 //
111 //***************************************************************************
112 void SD_StopRecordingSound ( void );
113 
114 #endif
115