OSDN Git Service

run loop input and output of wave
[internetcity/break_prototype.git] / source / CInputWave.h
1 // \8b\9e
2 #ifndef INC_CInputWave
3 #define INC_CInputWave
4
5 // \83C\83\93\83N\83\8b\81[\83h\82Í\95K\82¸\95K\97v\82È\95¨\82¾\82¯
6 // \93à\95\94\82Å\97\98\97p\82·\82é\82¾\82¯\82Ì\95¨\82Í\83\\81[\83X\82É\8bL\8fq
7
8 // \8aÖ\90\94\96¼\82Í\83\8d\81[\83\8f\83L\83\83\83\81\83\8b\83P\81[\83X\82Æ\82·\82é
9
10
11 #include "CWaveData.h"
12
13 ////////////////////////////////////////////////////////////////////////////////
14 // CInputWave
15 ////////////////////////////////////////////////////////////////////////////////
16 class CInputWave
17 {
18         ////////////////////////////////////////////////////////////////////////////////
19         // \83\81\83\93\83o\95Ï\90\94
20         ////////////////////////////////////////////////////////////////////////////////
21 private:
22         // Wave\83f\83o\83C\83X\83n\83\93\83h\83\8b
23         HWAVEIN m_hWaveIn;
24         // Wave\83w\83b\83_\81[
25         WAVEHDR m_WaveHeader;
26         // Wave\83f\81[\83^
27         CWaveData* m_pWaveData;
28
29         // \83f\83o\83C\83X\82ð\83I\81[\83v\83\93\82µ\82Ä\82¢\82é
30         bool m_isOpen;
31         // \98^\89¹\92\86
32         bool m_isInput;
33
34         ////////////////////////////////////////////////////////////////////////////////
35         // \83R\83\93\83X\83g\83\89\83N\83^
36         ////////////////////////////////////////////////////////////////////////////////
37 public:
38         CInputWave();
39
40         ////////////////////////////////////////////////////////////////////////////////
41         // \83f\83X\83g\83\89\83N\83^
42         ////////////////////////////////////////////////////////////////////////////////
43 public:
44         virtual ~CInputWave();
45
46         ////////////////////////////////////////////////////////////////////////////////
47         // \83R\81[\83\8b\83o\83b\83N\95Ï\90\94
48         ////////////////////////////////////////////////////////////////////////////////
49         // \93ü\97Í\83f\83o\83C\83X\82Ì\8fó\91Ô\82ð\92m\82ç\82¹\82é\83R\81[\83\8b\83o\83b\83N\8aÖ\90\94
50         static void CALLBACK waveInProc(HWAVEIN in_hWaveIn, UINT in_Message, DWORD in_Instance, DWORD in_Param1, DWORD in_Param2);
51         void callbackWave(HWAVEIN in_hWaveIn, UINT in_Message, DWORD in_Instance, DWORD in_Param1, DWORD in_Param2);
52
53
54         ////////////////////////////////////////////////////////////////////////////////
55         // \91\80\8dì\83\81\83\\83b\83h
56         ////////////////////////////////////////////////////////////////////////////////
57 public:
58         // \8f\89\8aú\89»
59         void initialize();
60         // \83f\83o\83C\83X\82ð\8aJ\82­
61         bool open();
62         // \83f\83o\83C\83X\82ð\95Â\82\82é
63         bool close();
64 protected:
65         // prepare buffer of wave
66         bool prepareWaveBuffer();
67 public:
68         // \93ü\97Í\81i\98^\89¹\81j\82ð\8aJ\8en\82·\82é
69         bool start();
70         // \93ü\97Í\81i\98^\89¹\81j\82ð\92â\8e~\82·\82é
71         bool stop();
72
73         ////////////////////////////////////////////////////////////////////////////////
74         // \91®\90«\83\81\83\\83b\83h
75         ////////////////////////////////////////////////////////////////////////////////
76 public:
77         void setWaveData(CWaveData* io_pWaveData)
78         {
79                 m_pWaveData = io_pWaveData;
80         }
81
82         ////////////////////////////////////////////////////////////////////////////////
83         // \83C\83e\83\8c\81[\83V\83\87\83\93
84         ////////////////////////////////////////////////////////////////////////////////
85         ////////////////////////////////////////////////////////////////////////////////
86         // \8fó\91Ô
87         ////////////////////////////////////////////////////////////////////////////////
88         ////////////////////////////////////////////////////////////////////////////////
89         // \83X\83^\83e\83B\83b\83N\8aÖ\90\94
90         ////////////////////////////////////////////////////////////////////////////////
91         ////////////////////////////////////////////////////////////////////////////////
92         // \89\89\8eZ\8eq
93         ////////////////////////////////////////////////////////////////////////////////
94         ////////////////////////////////////////////////////////////////////////////////
95         // \8f\83\90\88\89¼\91z\8aÖ\90\94\81A\92è\8b`\82Ì\82Ý
96         ////////////////////////////////////////////////////////////////////////////////
97         ////////////////////////////////////////////////////////////////////////////////
98         // \93à\95\94\83N\83\89\83X
99         ////////////////////////////////////////////////////////////////////////////////
100
101
102 };
103
104 #endif //INC_CInputWave