# 更新履歴

### 1998. 8.22

- API一覧で`sdPstmGetTotalSmpFrame`と`sdPstmGetCurAdr`の説明が逆になっていたのを修正．
- PCMストリームのリングバッファの更新タイミングを調べるAPIである`sdPstmIsTransferWaveData`のエラーコードに`SDE_ERR_HOST_CMD_BUF_NO_ENOUGH`が含まれていたが，間違いなので削除．
- エラーデータタイプである`SDE_ERR`の列挙子をいくつか追加．
- メモリブロック転送モードデータタイプである`SDE_MEMBLK_TRANSFER_MODE`の列挙子を追加．

### 1998. 8. 6

- `sdMemBlkSetTransferMode`が一覧に載っていなかったので追加．
- サンプルでリンクが切れているのがあったので修正．
- 最新の用語集を収録．

### 1998. 7.22

- サウンドドライバの動作診断を行うAPIである`sdDrvCheckExecute`を追加．
- サウンドライブラリの初期化を行うAPIである`sdDrvLibInit`の参照を更新．
- サウンドドライバのバージョン確認を行うAPIである`sdDrvGetVer`の備考を追加．
- サウンドデータから送られた特殊なメッセージをカウント数を取得するAPIである`sdDrvGetTimmingCounter`を`sdDrvGetMidiTimmingCounter`に変更．
- 最新の用語集を収録．

### 1998. 7. 8

- ポートフラグのビットアサイン定数である`SDD_PORT_FLG_〜`を一覧に追加していなかったので修正．説明は既に入っている．
- 各種MIDIメッセージを定義したマクロ定数である`SDD_MIDI_〜`の説明が途中で終わっていたので最後まで記述．
- 音源コントロールAPIの一覧で????ポートの再生????の設定とあるものを????ポートの????の設定に修正．
- 音源コントロールAPIの一覧で全ての????ポートのリセットとあるのを全ての????ポートのパラメータのリセットに修正．

### 1998. 7. 3

- PCMストリームを行うときに使用できるサンプリング周波数定数を追加（`SDD_PSTM_FREQ_48000`，`SDD_PSTM_FREQ_37800`，`SDD_PSTM_FREQ_32000`，`SDD_PSTM_FREQ_24000`，`SDD_PSTM_FREQ_18900`，`SDD_PSTM_FREQ_16000`，`SDD_PSTM_FREQ_12000`，`SDD_PSTM_FREQ_08000`）
- サウンドデータから送られた特殊なメッセージをカウント数を取得するAPIである`sdDrvGetTimingCounter`を追加．これを使用することにより，サウンドクリエイタが作成した特殊なタイミングを取得することが可能になる．
- 構造体と書いていたのを構造体型データタイプと書く等もう少し厳密に用語を記述．
- まだ〜`MEM_BLK`〜となってたところがあったので〜`MEMBLK`〜に修正．
- 句読点が抜けていたところがあったので修正．
- データタイプ一覧の`TH`エレメントに`Genre`クラスがついていなかったものがあったので修正．

### 1998. 7. 2

- ポートステータスを表すデータタイプである`SDS_{MIDI,SHOT,PSTM_CH}_STAT`のメンバを修正．`SDS_MODULE_COMMON_STAT`としていたものをそれぞれに直でメンバになるようにした．それによりデータタイプ`SDS_MODULE_COMMON_STAT`は削除．

### 1998. 6.19

- メモリブロックの転送モードを表すデータタイプである`SDE_MEMBLK_TRANSFER_MODE`を追加．
- メモリブロックの転送モードを設定するAPIである`sdMemBlkSetTransferMode`を追加．

### 1998. 6.19

- ARM7サウンドドライバにホストコマンドを直ちに送信するAPIである`sdSysHostCmd`を追加した．
- サウンドサーバのAPIである`sdSysServer`の返値を復活した．
- FAQを１つ追加．
- アウトラインで使用している図をPNGからJPEGに変更．ローレベルライブラリ名を使用していた部分を的確なライブラリ名（GD-FSライブラリ）にて修正．
- サウンドシステムシグナルでGD-DAのコントロールでパンポットの設定の範囲を間違えていたのを修正．
- サウンドシステムシグナルでMIDIのコントロールのスピード設定の範囲を間違えていたのを修正．
- サウンドシステムシグナルの内容をさらに詳しく加筆．
- 用語集を最新版（6月19日版）に更新．

### 1998. 6.16

- `sdPstmIsTransferWaveData`と`sdPstmTransferWaveData`の制限事項を追加した．

### 1998. 6. 7

- `sdPstmSetBaseVol`のボリュームの範囲・効果を間違えていたのを修正．

### 1998. 6. 5

- サウンドドライバが数えているカウンタを取得するAPIである`sdDrvGetExecuteCounter`を追加．
- サウンドメモリ上のバンク情報を取得するAPIである`sdSndMemGetBankStat`を公開．
- データタイプの記述を少し変えてみた．
- 用語集を最新のものに更新．
- FAQを１つ追加．
- `sdBankDownload`の引数の順番が間違っていたのを修正．

### 1998. 6. 3

- `sdQsndSetPos`の記述を多少詳しくした．また，`sdQSndSetPos`になっていたのを修正．

### 1998. 6. 1

- FAQを新規追加．まだまだ足りない（っていうか１つしかない）

### 1998. 5.31

- 非公開関数を削除．
- いくつかのAPIの値の範囲・返り値のエラーコードを追加．

### 1998. 5.28

- マルチユニットのダウンロードAPIである`sdDownloadMultiUnit`を`sdMultiUnitDownload`に変更．
- バンクのダウンロードAPIである`sdDownloadSingleBank`を`sdBankDownload`に変更．
- 用語集の最新版に差し替え．

### 1998. 5.15

- `sd????SetSpeed`の単位の説明を削除．

### 1998. 5.14

- メモリブロックハンドルの破棄を行うAPIの`sdMemBlkDestroy`が`sdMemBlkDestory`になっていたので修正．
- ドキュメントバージョンを0.47.06とする．

### 1998. 5.13

- APIのリファレンスをHTML4.0+CSS1でもう少しまじめに書いてみた．
- 一部のAPIに実際のエラーコードを記述した．
- もう少しパラメータの範囲等を追加．
- ドキュメントバージョンを0.47.05とする．

### 1998. 5.12

- エラーを表わす`SDE_ERR`の列挙子を整理した（番号と名称）
- ブロックチャート・シグナルチャート・仕様一覧を簡単に作成．この先どうしたらいいかちょっと思い付かないのでアイデア求む（苦笑）
- 独立で存在したHTML版サンプルを本マニュアルに組み込む．
- もう少しまともなHTMLで書いてみた．

### 1998. 5. 9

- MIDIメッセージを作成するAPIの`sdMidiSetMes`が一覧から抜けていたので追加．
- CSの方から受けたタイプミス報告を反映．
- 一部のパラメータの範囲を記述．
- 仕様を記述したドキュメントを追加．まだまだ貧弱．

### 1998. 4.27

- ドキュメントのバージョンを0.47正式版とする．

### 1998. 4.21

- CD-DAという用語が残っていたのでGD-DAに修正．
- ハンドルの説明がまったくなかったので簡単に作成．
- データタイプに総合索引を追加．
- 語録集を別に作成しているので削除した．

### 1998. 4.20

- メモリブロック構造体`SDS_MEM_BLK`の変わりにメモリブロックハンドル`SDMEMBLK`を作成．それの伴いメモリブロック操作ライブラリの第一引数をすべて`SDS_MEM_BLK`から`SDMEMBLK`に変更．
- メモリブロックハンドルの作成APIである`sdMemBlkCreate`と破棄APIである`sdMemBlkDestory`を追加．
- サウンドメモリのアロケート情報を取得するAPIである`sdSndMemGetStat`はシステム内部で使用するだけなので削除．
- メモリブロックステータスの列挙子を`SDE_MEM_BLK_STAT_〜_TRANSFER`から`SDE_MEM_BLK_STAT_TRANSFER_〜`に変更．
- サウンドシステムの初期化APIである`sdSysInit`をライブラリの初期化APIである`sdLibInit`とドライバの初期化APIである`sdDrvInit`に分割．
- サウンドデータを扱うAPIである．
- サウンドサーバの返り値を`Void`に変更．

### 1998. 4.10

- MIDIメッセージの構造体である`SDS_MIDI_MES`の中身を見せるのがいやなんで（基本的にライトオンリーだし）さっくり隠すことに変更．
- MIDIメッセージの構造体である`SDS_MIDI_MES`の設定を行うAPIである`sdMidiSetMes`を追加．
- マルチデータがマルチユニットになったのを忘れていたので`MULTI_DATA`が`MULTI_UNIT`に，`MultiData`が`MultiUnit`に修正．

### 1998. 4. 8

- PCMストリームをPCMストリームに，ワンショットをワンショットに，CD-DAをGD-DAに変更．それによってLstmがPstmに，SstmがShotに，CddaがGddaに変更．
- パラメータのリセットAPIである`sd...Reset`を`sd...ResetPrm`に，全てのポートに対してリセットを行うAPIである`sd...ResetAll`を`sd...ResetAllPrm`に変更．
- ドキュメントバージョンを0. 45αとする．

### 1998. 4. 6

- PCMストリームポートへの波形データを転送して良いかどうかチェックするAPI（`sdLstmIsTransferWaveData`）と実際に転送するAPI（`sdLstmTransferWaveData`）を追加．

### 1998. 3.19

- V割り込みで動作させる`sdSysServer`を追加．このＡＰＩが動かない限りサウンドデータの再生などは出来ません．

### 1998. 3.10

- `sdSndSetSndSpace`の名称がくどいので`sdSndSetSpace`に修正．
- バージョン構造体である`SDS_VER`のメンバを３つ（メジャーバージョン・マイナーバージョン・デバグバージョン）に削減．
- `SndSysInit`の第一引数がポインタになっていなかったのを修正．
- 一部校正ミスを修正．
- ドキュメントのバージョンを0. 41とする．

### 1998. 3. 1

- ハードウェアの検査処理がサウンドドライバに実装されていないので関連項目（SDE_AICA_STAT，SDE_SND_MEM_STAT，SDS_SND_HARD_WARE_MEM，sdCheckSndHardWare等）を削除．
- データタイプのリファレンスを細分化した．ついでに定数マクロ等のリファレンスも追加．

### 1998. 2.18

- SDE_BOOLを使用しなくなったので削除した．

### 1998. 2.16

- バージョン情報の構造体SDS_VERのメンバを４つに削減．
- CD-DAのコントロールAPI群のうちFXレベルを操作するAPIであるsdCddaSetFxLevを削除．

### 1998. 2.12

- メモリのアロケート情報を取得するAPIであるsdSndMemGetStatを追加．

### 1998. 2. 5

- ホストコマンドバッファの確保を行うAPIであるsd{Midi,Sstm,Lstm}SetHostCmdRsvAreaを追加．

### 1998. 2. 4

- SndPtrは総てSint32扱いにし，削除．
- サウンドドライバからCD-DAに対してのFXの設定が削除されたのでAPIも削除．
- 列挙子の語頭は総て列挙名が来るように修正．
- 全体の細かい間違えを修正．

### 1998. 2. 2

- sdSysInitにワークバッファの指定の為に第二引数を追加．
- ドキュメントバージョン0. 80βとする．

### 1998. 1.28

- 最新のKatanaコーディング規約に対応．
- 音源ポートコントロールの第一引数をポート番号からポートを象徴化したハンドルに変更．
- サウンドデータの再生APIであるsd{Midi,Sstm,Lstm}Playからポートリセットの指定の引数を削除．

### 1998. 1.26

- 最新のKatanaコーディング規約に対応．

### 1998. 1.21

- 表紙を更新し忘れていたので更新．
- SDS_MEMORY_BLOCKのメンバが間違っていたので修正．
- ホストコマンドの送信の遅延時間の設定をグローバルに専用APIで行うのではなく，各音源ごとのポートのオープンを行うAPIであるsd{MIDI,SStream,LStream}Openで行うように変更．

### 1998. 1.19

- サウンドシステム初期化APIであるsdSoundSystemInitをsdSystemInitに変更．
- ホストコマンドの送信の遅延時間を設定するAPIであるsdSystemSetHostCommandDelayを追加．
- 用語集を更新．

### 1998. 1. 8

- sdLStreamSet{Left,Right}Channel{Volume,Panpot}を引数の追加を行い，sdLStreamSetChannel{Volume,Panpot}に統合化．
- FXプログラムの操作APIをそれぞれsdGlobal{Set,Get,Clear}FXProgramに変更．
- FXアウトプット（旧称ミキサ）の操作APIをそれぞれsdGlobal{Set,Get,Clear}FXOutputに変更．
- グローバルサウンドコントロールAPIのsdGlobalGet{FXProgram,FXOutput}をsdGlobalGet{FXProgram,FXOutput}に修正．
- 音源コントロールAPIのsd{MIDI,SStream,LStream}GetStatusをsd{MIDI,SStream,LStream}GetCurrentStatusに変更．
- MIDIにはくり返し指定がドライバの仕様として存在しないようなので削除．
- sdSStreamPlayから繰り返し回数指定の引数を削除し，別API（sdSStreamSetRepeatTimes）を用意．
- sdLStreamPlayの引数をドライバイメージに変更．よっていSDE_LSTREAM_TRIGERを削除．

### 1998. 1. 5

- 若干の校正を行った．
- 音源コントロールAPIにSndLStreamSet{Left,Right}Channel{Volume,Panpot}を追加．
- sdLStreamPlayの引数からloopCountを削除．

### 1998. 1. 4

- CD-DAのステータスを表わす構造体SDS_CDDA_STATUSのメンバm_Priorityを削除．
- メモリブロックを表わす構造体SDS_MEMORY_BLOCKのメンバm_TransStatusをm_BlockStatusに変更．
- システム初期化APIのSndSoundSystemInitの第一引数のデータタイプをUint8 *からvoid *に変更．

１２月分がなぜか知らぬ間になくなってしまいました...（涙）

### 1998.11.26

- 構造体SndTransBlockDataと列挙SndTransBlockDataStatusをSndMemoryBlockとSndMemoryBlockStatusに変更．それらに関連する名称もすべて変更．
- 列挙SndBlockStatusのメンバの〜Trans〜を〜Transfer〜に変更．
- 二択用のデータタイプSndBooleanを追加．
- グローバルサウンドコントロールAPIのSndSetTotalVolumeの引数からフェード時間の設定を省く．さらにAPI名をSndSetMasterVolumeに変更．
- 若干の構成ミスを修正（Uint32をUInt32にしていた等）

### 1998.11.25

- 用語集の仕様が古くなっていたので多少修正．マルチデータについての定義も付加．

### 1998.11.10

- Qサウンドのコントロールを行うAPIであるSndSetQSoundPositionを追加．
- SndErrデータタイプにSndParameterOverRangeErr，SndPortIsNotOpen，SndAllPortIsUseErrを追加．
- ドキュメントバージョンを0. 55とする．

### 1998.11. 9

- Sストリームがサウンドドライバがモノラルのみのデータしか扱えないということで２チャンネル独立して存在したパラメータをすべて削除．

### 1998.11.7

- SndVolume，SndPitch，SndPanpot，SndSpeedのデータタイプを16ビットから32ビットに拡張した．
- Qサウンドのポジション用のデータタイプであるSndQSoundPositionを追加．
- データタイプSndLStreamPortStatusからm_RingBufferSwitchを削除．

### 1998.10.23

- SndResetMIDI，SndResetSStream，SndResetLStreamをそれぞれSndResetMIDIPort，SndResetSStreamPort，SndResetLStreamPortに名称を変更．
- AICAの仕様によりSndSStreamPause，SndSStreamContinue，SndLStreamPause，SndLStreamContinueを削除．
- データタイプでSndSpeedが抜けていたので追加，

- データタイプSndTrigerのメンバーにサンプリング周波数の設定メンバ（m_PCMFrequency）を追加．
- ドキュメントバージョンを0. 54とする．

### 1997. 9.24

- SndMixerデータタイプのメンバSndVolumeがSndLevelになっていたので修正．
- SndMIDIMessageTypeデータタイプのSndProgramChangeがSndMIDIPolyPressureになっていたので修正．
- SndMIDIMessageデータタイプのメンバm_Data1，m_Data2のデータタイプをUint8からSint16に，m_Data3をm_SystemMessageと名称変更し，サイズを保存するm_SystemMessageSizeを追加．
- SndPCMTypeの定義を忘れていたので追加．
- ドキュメントバージョンを0. 53とする．

### 1997. 9.21

- 一部校正間違えを修正．
- ドキュメントバージョンを0. 52とする．

### 1997. 9.18

- 一部校正間違えを修正．
- 列挙SndTransBlockDataStatusのSndNoSendTransBlockDataをSndTransBlockDataに，SndEndOfTransBlockDataをSndRemainTransBlockDataに変更．
- ドキュメントバージョンを0. 51とする．

### 1997. 9.15

- メモリブロック操作用構造体のメンバを直接触らせないためのAPIを新設．
- 音源モジュールコントロールAPIの一部を名称変更（SndSetMIDIVolume→SndSetMIDIPortVolume等）
- ドライバ・ライブラリのバージョン取得APIの追加．
- テクニカルノート項目を新設．
- ドキュメントバージョンを0. 50とする．

### 1997. 9.11

- ローレベルライブラリとハイレベルライブラリのデータタイプの区分けをし直した．これにより全てのAPI・データタイプはハイレベルライブラリのみで実用可能なのでローレベルライブラリの公開を廃止，ハイレベルライブラリのみでGuppy Sound Libraryとする．
- サウンド再生環境を設定するAPIであるSndSetSoundSpaceの追加．
- APIリファレンスを分割．
- ドキュメントバージョンを0.30とする．

### 1997. 9.10

- ローレベルライブラリとハイレベルライブラリのAPIの区分けをし直した．
- いくつかのAPIを追加．

### 1997. 9. 9

- ドキュメントバージョンを0.29とする．

### 1997. 9. 8

- 合計12個のハイレベルAPIを作成．

### 1997. 9. 4

- ハイレベルAPIの作成開始．

### 1997. 8.28

- 若干の校正ミスを修正．
- MIDIメッセージを発行するAPIのSndSndMIDIMessageを作成．それに伴いデータタイプにSndMIDIMessageTypeとSndMIDIMessageを追加．
- SndSetMixerで指定するミキサ情報をトーンデータから独立させたので引数を変更した．それによってSndDataTypeにSndMixerDataTypeを追加．SndMapDataTypeをSndMemoryMapDataTypeに変更．
- SndMixerを若干仕様変更．エフェクトパンを削除した．
- ＳストリームおよびＬストリームに再生の一時停止と再開APIを追加．
- ドキュメントバージョン0.28とする．

### 1997. 8.27

- 若干の校正ミスを修正．
- SndVolume，SndPanpot，SndPitchが２の補数と書きながらUInt16で定義しようとしていたのをInt16に変更．
- ドキュメントバージョン0.27とする．

### 1997. 8.26

- ドキュメントバージョン0.26とする．

### 1997. 8.25

- ドキュメントバージョン0.25とする．

### 1997. 8.22

- いくつかの打ち間違えを修正しました．重要なところで関数SndLStreamPlayの引数のうち SndLStreamInfo *theLStreamInfo となっていたところは SndLStreamTriger *theLStreamTriger になります．
- 更新記録を作成することにした．２・３日分ごと位を目安に更新記録ページに移動することにする．また，とりあえず英語版では更新記録存在していない（日本語版を追いかける形になるため）