FineKernelToolKit  3.1.0
AudioBase_CLI.h
[詳解]
1 // AudioBase_CLI.h
2 
3 #pragma once
4 
5 #include <FK/Audio.h>
6 #include "Model_CLI.h"
7 
8 namespace FK_CLI
9 {
11 
31  public ref class fk_AudioBase abstract {
32  internal:
33  ::fk_AudioBase *pAudio;
34  bool dFlg;
35 
36  ::fk_AudioBase * GetP(void);
37 
38  public:
40  fk_AudioBase();
41 
43  ~fk_AudioBase();
44 
46  !fk_AudioBase();
47 
49 
55  property double Gain {
56  double get();
57  void set(double);
58  }
59 
61 
65  property int QueueSize {
66  int get();
67  void set(int);
68  }
69 
71 
83  property bool LoopMode {
84  bool get();
85  void set(bool);
86  }
87 
89 
97  property fk_Vector^ Position {
98  fk_Vector^ get();
99  void set(fk_Vector^);
100  }
101 
103 
111  property fk_Model^ Model {
112  fk_Model^ get();
113  void set(fk_Model^);
114  }
115 
117 
123  property double Distance {
124  double get();
125  void set(double);
126  }
127 
129 
138  property bool SurroundMode {
139  bool get();
140  void set(bool);
141  }
142 
144 
145 
147 
159  virtual bool Open(String^ name) abstract;
160 
162 
173  virtual bool Ready(void) abstract;
174 
176 
190  virtual bool Play(void) abstract;
191 
193 
204  virtual double Tell(void) abstract;
205 
207 
214  virtual void Seek(double time) abstract;
215 
217 
225  virtual void Stop(void) abstract;
226 
228 
233  virtual void End(void) abstract;
234 
236 
245  void Pause(void);
246 
248 
250 
251 
253 
264  void SetLoopArea(double start, double end);
265 
266 
268 
275  double GetLoopStartTime(void);
276 
278 
285  double GetLoopEndTime(void);
287 
289 
290 
292 
300  static bool Init(void);
301 
303 
312  static bool GetInit(void);
313 
315 
335  static void Sleep(double time);
337 
339 
340 
342 
359  static void SetListenerModel(fk_Model^ model);
360 
362 
370  static fk_Model^ GetListenerModel(void);
372  };
373 }
374 
375 /****************************************************************************
376  *
377  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
378  *
379  * Redistribution and use in source and binary forms,
380  * with or without modification, are permitted provided that the
381  * following conditions are met:
382  *
383  * - Redistributions of source code must retain the above
384  * copyright notice, this list of conditions and the
385  * following disclaimer.
386  *
387  * - Redistributions in binary form must reproduce the above
388  * copyright notice, this list of conditions and the
389  * following disclaimer in the documentation and/or
390  * other materials provided with the distribution.
391  *
392  * - Neither the name of the copyright holders nor the names
393  * of its contributors may be used to endorse or promote
394  * products derived from this software without specific
395  * prior written permission.
396  *
397  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
398  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
399  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
400  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
401  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
402  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
403  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
404  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
405  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
406  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
407  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
408  * POSSIBILITY OF SUCH DAMAGE.
409  *
410  ****************************************************************************/
411 /****************************************************************************
412  *
413  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
414  *
415  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
416  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
417  *
418  * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
419  * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
420  *
421  * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
422  * および下記免責条項を含めること。
423  *
424  * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
425  * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
426  * 含めること。
427  *
428  * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
429  * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
430  * コントリビューターの名前を使用してはならない。
431  *
432  * 本ソフトウェアは、著作権者およびコントリビューターによって「現
433  * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
434  * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
435  * に限定されない、いかなる保証もないものとします。著作権者もコン
436  * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
437  * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
438  * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
439  * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
440  * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
441  * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
442  * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
443  * ついて、一切責任を負わないものとします。
444  *
445  ****************************************************************************/
void SetLoopArea(double start, double end)
ループエリア設定メソッド
fk_Vector^ Position
サラウンド音源位置プロパティ
Definition: AudioBase_CLI.h:97
static void SetListenerModel(fk_Model^ model)
サラウンドリスナー同期モデル設定メソッド
static void Sleep(double time)
プロセススリープメソッド
virtual bool Ready(void) override
再生開始可能状態取得メソッド
virtual bool Play(void) override
再生メソッド
~fk_AudioBase()
デストラクタ
static fk_Model^ GetListenerModel(void)
サラウンドリスナーモデル取得メソッド
int QueueSize
キューバッファサイズプロパティ
Definition: AudioBase_CLI.h:65
double GetLoopStartTime(void)
ループ開始点取得メソッド
bool LoopMode
ループモードプロパティ
Definition: AudioBase_CLI.h:83
static bool Init(void)
オーディオシステム初期化メソッド
virtual void Seek(double time) override
再生位置頭出しメソッド
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
virtual void Stop(void) override
停止メソッド
double GetLoopEndTime(void)
ループ終了点取得メソッド
virtual bool Open(String^ name) override
オーディオデータ読み込みメソッド
モデルを生成、管理するクラス
Definition: Model_CLI.h:125
static bool GetInit(void)
オーディオシステム初期化状態取得メソッド
double Gain
音量プロパティ
Definition: AudioBase_CLI.h:55
double Distance
サラウンド音源有効距離プロパティ
Definition: AudioBase_CLI.h:123
virtual double Tell(void) override
再生位置取得メソッド
void Pause(void)
ポーズメソッド
fk_AudioBase()
コンストラクタ
オーディオ基底クラス
Definition: AudioBase_CLI.h:31
virtual void End(void) override
オーディオデータ解放メソッド
fk_Model^ Model
サラウンド音源同期モデルプロパティ
Definition: AudioBase_CLI.h:111
bool SurroundMode
サラウンド効果状態プロパティ
Definition: AudioBase_CLI.h:138
Definition: AppWindow_CLI.h:11