1: 2003-09-21 (日) 22:10:25 [6] | 2: 2003-10-24 (金) 07:33:00 [7] | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | * その他 [[GUIGUI00_mbIn]] | + | * その他 [[GUIGUI00_man]] |
#contents | #contents | ||
***lib_init | ***lib_init | ||
struct LIB_WORK *lib_init(struct LIB_WORK *work) : | struct LIB_WORK *lib_init(struct LIB_WORK *work) : | ||
- | (説明未完成) | + | |
+ | 機能: APIライブラリを初期化する。 | ||
+ | |||
+ | work==0の時はmalloc(256)してその領域を返す。その他のときはworkを返す。 | ||
+ | ほかのコマンドを使う前にできるだけ早くこのコマンドを実行すること。 | ||
+ | システムタイマーの時間基点にその時の時刻を設定し、シグナルハンドラ | ||
+ | マスク値を-1にする。 | ||
***lib_close | ***lib_close | ||
void lib_close(int opt) : | void lib_close(int opt) : | ||
- | (説明未完成) | + | |
+ | 機能: APIライブラリを終了する。 | ||
+ | |||
+ | opt=0。 | ||
+ | 現在、アプリもろとも終了する。 | ||
***lib_opensoundtrack | ***lib_opensoundtrack | ||
void lib_opensoundtrack(int slot) : | void lib_opensoundtrack(int slot) : | ||
- | (説明未完成) | + | |
+ | 機能:サウンドトラックをオープンする。 | ||
+ | |||
+ | slotはスロット番号を意味していて、0x200~0x3f0の値を指定する。slotは1つ消費。 | ||
+ | ウィンドウ等で使ったslot番号は使えないので重複しないようにすること。また、slotは | ||
+ | 16の倍数でなくてはならない。 | ||
+ | |||
+ | 参考になるサンプル:music2(introb)、music3(introb)、plymmlc0(intorb) | ||
***lib_controlfreq | ***lib_controlfreq | ||
void lib_controlfreq(int slot, int freq) : | 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 | ***lib_getrandseed | ||
Line 29: | Line 56: | ||
***lib_execcmd | ***lib_execcmd | ||
- | void lib_execcmd(void t void lib_execcmd(void t void1 | + | void lib_execcmd(void *EBX) : |
- | eq | + | |
- | st_getrandsd | + | |
- | void1b_conrelfreq(id t, ...cmd(void t>* その他 [[GUIGUI00_mbIn]] | + | |
- | #contents | + | |
- | ***lib_init | + | 機能: コマンド列へのポインタをAPIライブラリに渡し、実行させる。 |
- | struct LIB_WORK *lib_init(struct LIB_WORK *work) : | + | |
- | (説明未完成) | + | |
- | ***lib_close | + | コマンド列の書き方: |
- | void lib_close(int opt) : | + | void*の配列として書くと書きやすい。 |
- | (説明未完成) | + | |
- | ***lib_opensoundtrack | + | 参考になるサンプル: introe01/helloc8.c |
- | void lib_opensoundtrack(randseed | + | |
- | 参疋肇薀奪?鬟?鴫考齔数の種(ra oundtはスロット番号を意味?疋肇?鴫考鵑(“freq(9痢fmル:te菲涼佑鮖慊?ndtはト番号1つ消費はスクぃをオ・等で使ったト番疋肇?値を>n覆襪ので重覆(“るい茲λなtはmm_函?泙拭▽等で擦?い?/稜楴錣任よ?q(呂よ蕕よろット箸砲覆襯汽鵐廛襦?estmusic2dseerob)、music3dseerob)、plymmlc(voidorb)*lib_controlfreq | + | ***lib_execcmd0 |
- | void lib_controlfreq(int slot, int freq) : | + | void lib_execcmd0(int cmd, ...) : |
- | (説tc〔dぢ个t0o?er俣ンプ4后抑?o?er?a W示亮?ra oundtはスロck | + | |
- | void lib_openso)で温欄霓瑤離?滋るで使ったヲ入れ?ralot,は以下’衆でfre瓩藩遂:te菲涼佑鮖 oundtslot, 椰瑤?察?e菲涼佑鮖 ounral?w*(ただ涓0ofはHzで表箸耽周波数) 椰?衆で? oundtsloと無音(消音) oundtっ?_函なるサt, 椰瑤犯になるサンプル:testmusic2dseerob)、music3dseerob)、plymmlc(voidorb)*lib_cotrandseed | + | |
- | int lib_getrandseed() : | + | |
- | 機能:乱数の種を生成する。 | + | 機能: 引数をAPIライブラリのコマンドとして実行する。 |
- | 例:srand(lib_getrandseed()); | + | guigui00.hのほとんどのコマンドはこれでできている。 |
- | ット箸砲覆襯汽鵐廛襦?est029 | + | ***lib_execcmd1 |
- | 参考になるOSASK-ML:[OSASK 3233] | + | const int lib_execcmd1(int ret, int cmd, ...) : |
- | ***lib_execcmd | + | 機能: 引数をAPIライブラリのコマンドとして実行し、引数の一部を返す。 |
- | void lib_execcmd(void t void lib_execcmd(void t void1 | + | |
- | eq | + | cmd以下の引数をAPIのコマンドとして実行し、*(int*)&cmd+(ret-12)/4を返す。 |
- | st_getrandsd | + | 引数が入っているメモリはAPIライブラリが返り値を返すバッファとして使うこと |
- | void1b_conrelfreq(id t, ...cmd(void t> | + | がある。 |
+ | |||
+ | * こめんと欄 | ||
+ | -周期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