* その他 [[GUIGUI00_man]] #contents ***lib_init struct LIB_WORK *lib_init(struct LIB_WORK *work) : 機能: APIライブラリを初期化する。 work==0の時はmalloc(256)してその領域を返す。その他のときはworkを返す。 ほかのコマンドを使う前にできるだけ早くこのコマンドを実行すること。 システムタイマーの時間基点にその時の時刻を設定し、シグナルハンドラ マスク値を-1にする。 ***lib_close void lib_close(int opt) : 機能: APIライブラリを終了する。 opt=0。 現在、アプリもろとも終了する。 ***lib_opensoundtrack void lib_opensoundtrack(int slot) : 機能:サウンドトラックをオープンする。 slotはスロット番号を意味していて、0x200~0x3f0の値を指定する。slotは1つ消費。 ウィンドウ等で使ったslot番号は使えないので重複しないようにすること。また、slotは 16の倍数でなくてはならない。 参考になるサンプル:music2(introb)、music3(introb)、plymmlc0(intorb) ***lib_controlfreq void lib_controlfreq(int slot, int freq) : 機能:サウンドトラックに対し、どんな音を出すのか指示する。 slotはlib_opensoundtrack()でオープンしてあるslot番号を入れる。freqは以下の式で 求めた値を指定する。 freq = 0x100000000 / f (ただし、fはHzで表した周波数) freqに0を指定すると無音(消音)を指定したことになる。 参考になるサンプル:music2(introb)、music3(introb)、plymmlc0(intorb) ***lib_getrandseed int lib_getrandseed() : 機能:乱数の種を生成する。 例:srand(lib_getrandseed()); 参考になるサンプル:test029 参考になるOSASK-ML:[OSASK 3233] ***lib_execcmd void lib_execcmd(void *EBX) : 機能: コマンド列へのポインタをAPIライブラリに渡し、実行させる。 コマンド列の書き方: void*の配列として書くと書きやすい。 参考になるサンプル: introe01/helloc8.c ***lib_execcmd0 void lib_execcmd0(int cmd, ...) : 機能: 引数をAPIライブラリのコマンドとして実行する。 guigui00.hのほとんどのコマンドはこれでできている。 ***lib_execcmd1 const int lib_execcmd1(int ret, int cmd, ...) : 機能: 引数をAPIライブラリのコマンドとして実行し、引数の一部を返す。 cmd以下の引数をAPIのコマンドとして実行し、*(int*)&cmd+(ret-12)/4を返す。 引数が入っているメモリはAPIライブラリが返り値を返すバッファとして使うこと がある。 * こめんと欄 -周期fの逆数は周波数(cycle)だと思うのですが。 -- [[I.Tak.]] SIZE(10){2003-09-26 (金) 23:22:30} -つまり、fが周波数だから、freqは周期と呼ぶべきものではないか、ということですよね?そのとおりなのですが、そのとおりではありません。もし本当に周期だとするなら、1/fであるべきで、それを物理的な根拠もないまま0x100000000倍しているから周期とはいえません(まあ周期の小数部分、といえるんですが)。僕としては、そういう物理量にあえて言及することなく、APIの都合で周波数を指定するときにちょっとへんな加工をしたもの、というニュアンスで説明を書きました。だから、僕としてはこれでいいのです。 -- [[K]] SIZE(10){2003-09-27 (土) 00:21:36} -しまった周期と周波数を逆に書いて突っ込んでしまった…… -- [[I.Tak.]] SIZE(10){2003-09-27 (土) 00:35:42} #comment
(This host) = http://osask.net