ページへ戻る

− Links

 印刷 

gg00man​/others :: OSASK計画

osaskwiki:gg00man編集/others

その他 GUIGUI00_man[1]

ページ内コンテンツ
  • その他 GUIGUI00_man
      • lib_init
      • lib_close
      • lib_opensoundtrack
      • lib_controlfreq
      • lib_getrandseed
      • lib_execcmd
      • lib_execcmd0
      • lib_execcmd1
  • こめんと欄
Page Top

lib_init

struct LIB_WORK *lib_init(struct LIB_WORK *work) :

機能: APIライブラリを初期化する。

    work==0の時はmalloc(256)してその領域を返す。その他のときはworkを返す。
    ほかのコマンドを使う前にできるだけ早くこのコマンドを実行すること。
    システムタイマーの時間基点にその時の時刻を設定し、シグナルハンドラ
  マスク値を-1にする。
Page Top

lib_close

void lib_close(int opt) :

機能: APIライブラリを終了する。

    opt=0。
    現在、アプリもろとも終了する。
Page Top

lib_opensoundtrack

void lib_opensoundtrack(int slot) :

機能:サウンドトラックをオープンする。

  slotはスロット番号を意味していて、0x200~0x3f0の値を指定する。slotは1つ消費。
ウィンドウ等で使ったslot番号は使えないので重複しないようにすること。また、slotは
16の倍数でなくてはならない。

参考になるサンプル:music2(introb)、music3(introb)、plymmlc0(intorb)
Page Top

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)
Page Top

lib_getrandseed

int lib_getrandseed() :

機能:乱数の種を生成する。

例:srand(lib_getrandseed());

参考になるサンプル:test029
参考になるOSASK-ML:[OSASK 3233]
Page Top

lib_execcmd

void lib_execcmd(void *EBX) :

機能: コマンド列へのポインタをAPIライブラリに渡し、実行させる。

コマンド列の書き方:
void*の配列として書くと書きやすい。

参考になるサンプル: introe01/helloc8.c
Page Top

lib_execcmd0

void lib_execcmd0(int cmd, ...) :

機能: 引数をAPIライブラリのコマンドとして実行する。

    guigui00.hのほとんどのコマンドはこれでできている。
Page Top

lib_execcmd1

const int lib_execcmd1(int ret, int cmd, ...) :

機能: 引数をAPIライブラリのコマンドとして実行し、引数の一部を返す。

    cmd以下の引数をAPIのコマンドとして実行し、*(int*)&cmd+(ret-12)/4を返す。
  引数が入っているメモリはAPIライブラリが返り値を返すバッファとして使うこと
  がある。
Page Top

こめんと欄

  • 周期fの逆数は周波数(cycle)だと思うのですが。 -- I.Tak.[3] 2003-09-26 (金) 23:22:30
  • つまり、fが周波数だから、freqは周期と呼ぶべきものではないか、ということですよね?そのとおりなのですが、そのとおりではありません。もし本当に周期だとするなら、1/fであるべきで、それを物理的な根拠もないまま0x100000000倍しているから周期とはいえません(まあ周期の小数部分、といえるんですが)。僕としては、そういう物理量にあえて言及することなく、APIの都合で周波数を指定するときにちょっとへんな加工をしたもの、というニュアンスで説明を書きました。だから、僕としてはこれでいいのです。 -- K[4] 2003-09-27 (土) 00:21:36
  • しまった周期と周波数を逆に書いて突っ込んでしまった…… -- I.Tak.[3] 2003-09-27 (土) 00:35:42

Last-modified: 2009-11-17 (火) 00:00:00 (JST) (102d) by ゲスト