FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
AudioBase_CLI.h
[詳解]
1#pragma once
2
3#include <FK/Audio.h>
4#include "Model_CLI.h"
5
6namespace FK_CLI
7{
9
29 public ref class fk_AudioBase abstract {
30 internal:
31 ::FK::fk_AudioBase *pAudio;
32 bool dFlg;
33
34 ::FK::fk_AudioBase * GetP(void);
35
36 public:
39
42
45
47
53 property double Gain {
54 double get();
55 void set(double);
56 }
57
59
63 property int QueueSize {
64 int get();
65 void set(int);
66 }
67
69
81 property bool LoopMode {
82 bool get();
83 void set(bool);
84 }
85
87
95 property fk_Vector^ Position {
96 fk_Vector^ get();
97 void set(fk_Vector^);
98 }
99
101
109 property fk_Model^ Model {
110 fk_Model^ get();
111 void set(fk_Model^);
112 }
113
115
121 property double Distance {
122 double get();
123 void set(double);
124 }
125
127
136 property bool SurroundMode {
137 bool get();
138 void set(bool);
139 }
140
143
145
157 virtual bool Open(String^ name) abstract;
158
160
171 virtual bool Ready(void) abstract;
172
174
188 virtual bool Play(void) abstract;
189
191
202 virtual double Tell(void) abstract;
203
205
212 virtual void Seek(double time) abstract;
213
215
223 virtual void Stop(void) abstract;
224
226
231 virtual void End(void) abstract;
232
234
243 void Pause(void);
244
246
249
251
262 void SetLoopArea(double start, double end);
263
264
266
273 double GetLoopStartTime(void);
274
276
283 double GetLoopEndTime(void);
285
288
290
298 static bool Init(void);
299
301
310 static bool GetInit(void);
311
313
333 static void Sleep(double time);
335
338
340
357 static void SetListenerModel(fk_Model^ model);
358
360
370 };
371}
372
373/****************************************************************************
374 *
375 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
376 *
377 * Redistribution and use in source and binary forms,
378 * with or without modification, are permitted provided that the
379 * following conditions are met:
380 *
381 * - Redistributions of source code must retain the above
382 * copyright notice, this list of conditions and the
383 * following disclaimer.
384 *
385 * - Redistributions in binary form must reproduce the above
386 * copyright notice, this list of conditions and the
387 * following disclaimer in the documentation and/or
388 * other materials provided with the distribution.
389 *
390 * - Neither the name of the copyright holders nor the names
391 * of its contributors may be used to endorse or promote
392 * products derived from this software without specific
393 * prior written permission.
394 *
395 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
396 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
397 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
398 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
399 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
400 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
401 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
402 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
403 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
404 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
405 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
406 * POSSIBILITY OF SUCH DAMAGE.
407 *
408 ****************************************************************************/
409/****************************************************************************
410 *
411 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
412 *
413 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
414 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
415 *
416 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
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 ****************************************************************************/
オーディオ基底クラス
Definition AudioBase_CLI.h:29
virtual void End(void) override
オーディオデータ解放メソッド
static fk_Model ^ GetListenerModel(void)
サラウンドリスナーモデル取得メソッド
static bool GetInit(void)
オーディオシステム初期化状態取得メソッド
static bool Init(void)
オーディオシステム初期化メソッド
fk_AudioBase()
コンストラクタ
void SetLoopArea(double start, double end)
ループエリア設定メソッド
virtual bool Open(String^ name) override
オーディオデータ読み込みメソッド
static void SetListenerModel(fk_Model^ model)
サラウンドリスナー同期モデル設定メソッド
fk_Model^ Model
サラウンド音源同期モデルプロパティ
Definition AudioBase_CLI.h:109
double GetLoopStartTime(void)
ループ開始点取得メソッド
fk_Vector^ Position
サラウンド音源位置プロパティ
Definition AudioBase_CLI.h:95
~fk_AudioBase()
デストラクタ
double GetLoopEndTime(void)
ループ終了点取得メソッド
virtual bool Ready(void) override
再生開始可能状態取得メソッド
void Pause(void)
ポーズメソッド
virtual bool Play(void) override
再生メソッド
virtual void Seek(double time) override
再生位置頭出しメソッド
double Gain
音量プロパティ
Definition AudioBase_CLI.h:53
int QueueSize
キューバッファサイズプロパティ
Definition AudioBase_CLI.h:63
bool SurroundMode
サラウンド効果状態プロパティ
Definition AudioBase_CLI.h:136
static void Sleep(double time)
プロセススリープメソッド
virtual void Stop(void) override
停止メソッド
bool LoopMode
ループモードプロパティ
Definition AudioBase_CLI.h:81
virtual double Tell(void) override
再生位置取得メソッド
double Distance
サラウンド音源有効距離プロパティ
Definition AudioBase_CLI.h:121
モデルを生成、管理するクラス
Definition Model_CLI.h:140
Definition AppWindow_CLI.h:11