z2m3his.txt
→v1.32 (July 1st, 2008)
・ボリューム操作に使うコントロールチェンジ番号を指定する
-Anum スイッチを追加。初期状態では-A7。
※YAMAHAのSMAFツールで一部、音量情報が使えない為、
このようなことを思いつかれたとのこと。 (Requested from MAZさん)
→v1.31 (May 8th, 2008)
・zmsのファイル名に、"ソ"などのいわゆる5C文字(2byte目が5C(\)になる文字)
を使うと、FILE NOT FOUNDになっていたのを修正。
(5C文字対策のコードは元々入っていたのですが、機能していませんでした・・)
(thanks to ホイホイさん)
→v1.30 (Apr. 13th, 2007)
・スペシャルタイ時チャンネルチェンジすると、スペシャルタイ分の
ピッチベンドがリセットされずに残る場合がある問題を修正。
(thanks to みやざきさん)
・z80,100 de&e などで、最後のタイ接続時に余計なアフタータッチが
入るのをとりあえず削除。後日本家の正しいアフタータッチの
挿入法がわかり次第対応し直します。(thanks to wabeeさん, MAZさん)
・-b2 スイッチをつけてコンバートした場合などに、ノートオン毎に
ピッチベンドの初期化が入るようになっていたのを修正。
(thanks to MAZさん)
→v1.29 (Feb. 6th, Mar. 5th and Mar. 24th, 2007)
・通常モードのARCCのリセット値として振幅値をセットしていたり、
タイミングがおかしかったりしていたのを修正。 (thanks to 3Tさん)
・@xでリアルタイムメッセージを埋め込めるよう修正。(thanks to MAZさん)
・ARCCの重畳ロジックがおかしかったのを修正。
(4本のARCCそれぞれの波形演算後に重畳すべきところを、
演算前に重ねていたため、合算値を振幅として波形に入力してました・・)
・ARCCの1/8モード定義直後の発音時はARCCのリセット値を送信しないよう修正。
・複数trkを単一chに割り当てていた場合、無限ループのフェードアウト変換時に
音量がおかしくなっていたのを修正。(v1.25エンバグ)
・v1.25/1.28でのフェードイン・フェードアウト設定がまだおかしかったのを
修正。
・音色設定を1度も行っていない状態で、音色バンク切り替えのみを行った場合
(=@iの直後に@を置いていない場合)に、音色切り替えが正しく動作
しなかったのを修正。
→v1.28 (Aug. 6th, 2006)
・¥コマンドによるフェードイン・フェードアウトスピードが速すぎたのを
暫定修正。 (thanks to wabeeさん)
→v1.27 (May 8th, 2006)
・format0で出力した場合に限り、トラック末尾のstep timeが正しくSMFに
反映されていなかった問題を修正。
その代わり、format 0指定時に限り、トラック末尾相当の位置に、
強制的に [meta event, cue, ""] (FF06) 相当のSMFデータを埋め込むように
なり、出力されるSMFがほんの少しだけ大きくなります。
あしからずご承知おきください。
(thanks to MAZさん)
→v1.26 (Aug. 17th, 2005)
・-Znumスイッチを追加。SMFの出力フォーマットを指定する。
numには0か1が指定可能。初期値は1。
なお、暫定的に-Znumを指定しなくても別の手段でformat0を作成できるよう
以下の手段を提供する:
-Lnum ([do]~[loop]の展開回数指定) で、numに128~254を
指定することで、フォーマット0、かつ-Lにはnumから128を引いた
値が指定される。
例: -L129 と -Z0 -L1 は同じ意味。
-L255 の時は、フォーマット0、かつ-L256 という意味となります。
つまり、
・フォーマット0
・共通コマンド部の、「小節線までのウエイト挿入」を行わない
・無限ループイベントにXELFさんのXMIDIのXMF拡張メタイベントを用いる
となります。
この暫定措置は、適当な頃合いを見て解除いたします。
→v1.25 (Aug. 9th, 2005)
・[CH_FADER] [TRACK_FADER] が事実上機能していなかったのを修正。
(thanks to JIM!さん)
→v1.24 (Mar. 20th, 2005)
・使用できるポート数を4から16に拡張。
(しかしながら、結構4つ決めうちのところが残っている模様・・)
(thanks to みやざきさん)
→v1.23 (Jan. 1st, 2005)
・.commentで与えられる改行コードを正しく削除できていなかったのを修正。
(thanks to MAZさん)
→v1.22 (Jan. 1st, 2005)
・ZtoMの-Bスイッチ相当のものをようやく実装。 (thanks to MAZさん)
以前よりあちこちから要望されていたものですが、
長い間お待たせして申し訳ございませんでした。
→v1.21 (Apr 22nd, 2004, Dec. 31st, 2004)
・zmc3 v0.98.3のメタイベント記述に対応。
→v1.20(Nov. 24th, 2002)
・MacOS X向けのパッチを追加。 (thanks to i_spacecadatさん?)
・ARCCのノートオン同期とユーザー定義波形の組み合わせが
うまく動作していなかったのを修正。
→v1.19(May 27th, 2002)
・printf削除と、よこむむさんのMac対応差分取り込み。
(thanks to よこむむさん)
→v1.18(Apr. 22nd, 2002)
・switch.cで使っていたスイッチ指定値保存用のグローバル変数を
なくした。リエントラント化への布石。
・.halt使用時、指定時間の4倍時間ウエイトが入っていたのを修正。
→v1.17(Feb. 18th, 2002)
・音符に対する直接ベロシティ指定が利かなくなっていたのを修正。
(例: c,,100) (thanks to muteさん)
→v1.16(Jan. 20th, 2002)
・@uでベロシティ揺らぎを設定した場合、*0 もしくは ポルタメントで
発音した場合に正しいベロシティ値が出力されない(もしくは発音されない)
状態だったのを修正。(zでの揺らぎ設定や、*0&での発音は問題なかった)
(thanks to 内海さん)
→v1.15(Dec. 8th, 2001)
・Polyphonic Key Pressure使用時に[@]が誤動作していたのを修正。
(明示的に使用しなくても、異なる構成の和音をタイ接続した際に
暗黙の内に発生します) (thanks to かんたさん)
→v1.14(Dec. 4th, 2001)
・@w*32767 に今度こそ対応。
(ついでに、rやら通常note onやらでも対応)
副作用で、和音時gateで*32767という値を指定できなくなっていますが、
これは本家Z-MUSIC V3でも同様(undocumentedな制限)のようです。
→v1.13(Dec. 3rd, 2001)
・@w*32767 対応で和音タイがおかしくなってしまっていたので、
とりあえず1.11以前の状態に戻した。 (thanks to かんたさん)
→v1.12(Aug. 18th, 2001 / Nov. 28th, 2001)
・@w*32767 が利かなくなっていたのを修正。 (thanks to じんべさん)
・トラック頭で[@]を使っていたときに、まだ誤動作することが
あったのを修正。(v0.88での修正不足)
→v1.11(July 2nd, 2001)
・非unix系(つまりDOS系)では、標準入力がテキストモードのままで、
使い物にならなかったのを修正。
(V3 ZMDフォーマットの1byte目は0x1A :-) (thanks to じんべさん)
(注: スペシャル版としてv1.10.1としていたものと内容は同じ)
→v1.10(June 30, 2001)
・まだファイル名の大文字小文字の整合が取り切れてなかったので、
今度こそ修正。
(thanks to 岡部さん)
→v1.09(May 28, 2001)
・長い音長に各種ARCCエフェクトをかけると"Segmentation Fault"
になっていたのを修正。
(要するに、ZtoMのseigen.txtにある現象です。ZtoMの方では
制限として放置しましたが、z2m3では対策しました)
・最初の(*0&以外の)note on時にピッチベンド0のリセットが
入らないように修正。(これもZtoMの仕様でした)
・引数に指定するファイル名バッファが1byte足らなかったのを修正。
(こんな初歩的なミスがまだ残ってるかねぇマッタク・・・T_T)
(以上3つ thanks to NKGRさん)
→v1.08(Mar. 20, 2001)
・@j0 c*0&d&e などのように、*0& で入ってスラーが続く場合に
途中のスラー音階がkeyoffされていなかったのを修正。
(thanks to muteさん)
・ソースファイル末尾の^Z(0x1A, EOF)の撤廃とか、小文字ファイル名で
アーカイブを作成するようにしたとか、Makefileの微調整とか。
(thanks to 岡部さん, とよしまさん, 小林さん)
・トラック終了時、トラック終了メタイベントFF 2F 00に与える
デルタタイムが1大きかったのを修正。
(thanks to kitさん)
・エラー終了など、正常終了でない場合でも(OSに頼らず)
自分で確保したメモリはすべて自分で解放するよう修正。
・他のプログラムに組み込まれるような場合を想定して、
単純に"zmdへのポインタを渡すとmidへのポインタを返す"ような
エントリを内部的に追加。
(z2m3.c内のconvertZmdtoMid()がそれです)
(以上2つ thanks to Kobarinさん)
→v1.07(Jan. 30, 2001)
・16半音以上をまたいだポルタメントが誤動作していたのを修正。
ついでに、@g127まで受け付けるよう修正。
・音符から休符へ、ベロシティを変えつつタイでつないだ場合
(例: c& u-1 r c)、Polyphonic Key Pressureの値が異常なものに
なっていたのを修正。 (以上2つ thanks to かんたさん)
・[COMMENT ...]を使うと誤動作していたのを修正。
→v1.06(Jan. 16, 2001)
・まだテンポ指定位置がずれていたのを修正。(thanks to かんたさん)
→v1.05(Jan. 10, 2001)
・ZMD的な相対ベロシティを使用するとすべて127になっていたのを修正。
・非同期ARCC設定後最初のキーオンまでの間に休符があるとARCCが
正しく動作していなかったのを修正。
(以上2つ thanks to muteさん)
・共通コマンド部のエクスクルーシブメッセージにあるポート指定が
有効となるよう修正。
→v1.04(Jan. 5, 2001)
・相対タイマ指定が誤動作していたのを修正。
(thanks to Fussyさん)
・@g12以外の時でもポルタメント(と@J1スラー)が正常動作
するよう修正。(これにより本家非互換となるので注意)
(thanks to 我孫子さん)
・ポルタメントに適用されるピッチベンドの値を調整。
(thanks to あいはらさん)
→v1.03(Nov. 9, 2000)
・V2互換強制発音で、臨時ベロシティを指定した場合にその
ベロシティが以降の発音にも引き継がれてしまっていたのを修正。
(thanks to NKGRさん)
→v1.02(June 27, 2000)
・中身を大幅改造。ARCC周りでエンバグしていたらごめんなさい。
(うまくいっていれば次回以降EVSが比較的容易に実装できるようになる)
・一部メモリリークの可能性があったところを修正。
・オートベンドやポルタメントのディレイ値と、step値が等しい場合
Divided by 0になってしまう不具合を修正。
(まだこんなショボいレベルのバグが残ってたか・・)
→v1.01(May 8, 2000)
・-L256指定時のみ、
・共通コマンド部の、「小節線までのウエイト挿入」を行わない
・無限ループイベントにXELFさんのXMF拡張イベントを用いる
よう修正。(ゲーム作成用) (thanks to muteさん)
・FM/ADPCMパートが存在する場合不正処理で落ちていたのを修正。
・MT-32のエフェクタ設定を行うと異常なZMDを出力していたのを修正。
(とはいえ現状skipさせてるだけ) (以上2つ thanks to あーくさん)
・.XG_EXCLUSIVE の、ifとcommentがうまく反映できていなかったのを
修正。
・コメント挿入時に使うメタイベントをCue PointからText Eventに修正。
→v1.00(Feb. 13, 2000)
・トラック数が0のZMDファイルを与えるとエラー終了していた
のを修正。
・テンポ値が30~300の範囲外の場合エラーとなるよう修正。
(以上 thanks to XELFさん)
・c,,100&c,,90 などとするとベロシティ90はPolyphonic Key
Pressureで送るよう修正(=オリジナルと同じ)。
(thanks to muteさん)
・[ARCCn.SYNC]の4bit目,5bit目にとりあえず対応。
→v0.99(Nov. 28, 1999)
・-X1以上を指定した場合にテンポの挿入位置がずれていた
のを修正、 (thanks to muteさん)
→v0.98(Nov. 3, 1999)
・共通コマンドでテンポ120を設定してもSMFには反映されなかった
のを修正。
(その代わりテンポ120以外の時はテンポのメタイベントが
テンポ120とそれ以外の計2個書き込まれることがあります)
・[do]~[loop]の展開回数指定スイッチである-Lで、回数0を
指定できるよう修正。-L0の場合、[do]~[loop]部がまったく
展開されなくなる。( c [do]d[loop] e → ce )
・ztom同様の-uスイッチを追加。テンポ演算の誤差設定スイッチで、
スイッチなし(デフォルト)でプレーヤ/シーケンサでの表示
の正しさ優先、スイッチありで誤差の少なさ優先。
(以上 thanks to MAZさん)
・メタイベントFF58(拍子定義)の最後2バイトを0x18 0x08の
固定値とするよう修正。
・@tの計算が全音符の分解能が192である場合のみ正しい結果と
なっていたのを修正・
→v0.97(Oct. 26, 1999) たった一日で・・・・
・共通コマンドのないzmsを変換した場合、テンポ指定がすべて
消えてしまっていたのを修正。 (thanks to MAZさん)
→v0.96(Oct. 25, 1999)
・まれにデルタタイムの計算に失敗することがあったのを修正。
・[back]内に、q-* な音符を並べると、最後の音符が次の
[back]開始まで鳴りっぱなしになる
(以上2つ thanks to muteさん)
→v0.95(Sep. 28, 1999)
・[@][!]がうまく機能しないことがあったのを修正。
・-L のデフォルトを -L1から-L2に変更。
→v0.94(Aug. 29, 1999)
・ポルタメントのタイ部分にv0.93でエンバグしていたのを修正。
・[auto_portament]を実装。
→v0.93(Aug. 8, 1999)
・@J1(c<c)&[c>c]とすると、後の[c>c]の オクターブがずれて
(この場合低くなって)しまっていたのを修正。
# 本来 (c<c)&(c>c)と同じ様になるのが正しい
(thanks to muteさん)
→v0.92(Jul. 14, 1999)
・ALL NOTE OFFの最適化キャッシュを無効にした。
(thanks to ぱじぃーさん)
・[@]があるトラック上で、[@]と同一tick上にあるMMLはその
前後関係に関わらず無条件に削除されていたのを修正。
・[KEY][METER]使用時の出力デルタタイムが異常だったのを修正。
(以上2つ thanks to 我孫子さん)
・NRPN,RPNの最適化キャッシュ構成を見直した。
→v0.91(Jun. 9, 1999)
・-x -i スイッチのデルタタイム指定が正しく機能して
いなかったのを修正。 (thanks to muteさん)
→v0.90(Jun. 1, 1999)
・タイ時にキーオフ&再キーオンがが必要になる場合
(例: @j0 c&(dc) )、無条件にポルタメントを殺していたのを
やめた。しかし、これにより副作用が生じるかも知れず経過
観察が必要。
・ztomにあった-xスイッチを追加。
・-iスイッチでデルタタイムに1以上の値を指定した場合に
@g12の初期化が入らなかったのを修正。
(以上3つ thanks to muteさん)
→v0.89(Apr. 25, 1999)
・RolandExclusive使用時に、ランニングステータスがリセット
されていなかったのを修正。 (thanks to 我孫子さん)
→v0.88(Apr. 3, 1999)
・[@]がトラック頭にあった場合に誤動作していたのを修正。
・@cを設定するだけで、@aの設定なしでもARCCが動作していたのを
修正。 (以上2つ thanks to MASAさん)
・LittleEndianなMPUで、波形メモリ使用時の波形初期化がうまく
いっていなかったのを修正。
・pushポルタメントを2つ以上並べると、2回目以降のポルタ
メントのピッチベンドの初期化が行われなかったのを修正。
→v0.87(Mar. 6, 1999)
・何かをあわてて取り繕ったような気がするが、よく覚えていない・・
→v0.86(Mar. 6, 1999)
・[!][@]に対応。(ztomの処理ルーチンそのまま流用:-)
→v0.86(Mar. 1, 1999)
・ARCCを1trkで2個以上使っていたり、ARCCの重畳を用いていた
場合に誤動作することがあったのを修正。一体なんのための
V3対応だか・・・。
→v0.85(Feb. 18, 1999)
・拡張ARCCのリセット値が、delay=0の場合にはnote on前に送信
されていなかったのを修正。 (thanks to muteさん)
→v0.84(Feb. 16, 1999)
・ディレイ0のオートベンドとディレイ0の和音を組み合わせると
「0で割り算」状態だったのを修正。 (thanks to Fussyさん)
→v0.83(Feb. 15, 1999)
・どんなエフェクト設定をしてもコーラス設定に化けていたのを修正。
→v0.82(Feb. 14, 1999)
・X680x0以外の環境でもコンパイル出来るようにした。
・ZMD以外のファイルを食わせた時にエラーを出力するようにした。
(これまではバスエラーだった)
・標準入出力に対応した。それに伴い出力ファイル名の指定方法を
変更し、-uスイッチを廃止した。
→v0.81(Sep.8,1998)
・[m,n]なポルタメントが(m,n)なポルタメントと同じ処理にされて
いたのを修正。(v0.75エンバグ)
・[CH_FADER ??-ALL]な時にフェーダが正しく動作していなかった
のを修正。 (以上2つ thanks to muteさん)
→v0.80(Aug.25,1998)
・[do]~[loop]を使用する場合は、全トラックで使わないと無限
ループに陥っていたのを修正。 (thanks to Yggdrasillさん)
→v0.79(Jul.26,1998)
・[ARCC.SYNC c,m]で、mが省略されていた時の初期化動作を修正。
・ARCC非同期時の挙動を修正。
・ARCC未使用chに対して[ARCCn.LEVEL OFF]した時にリセット値を
送信しないよう修正。
・@j1時、単音から和音に繋ぐ際もピッチベンドを変えていたのを
修正。
・@j1時、単音から和音に繋ぐと単音のnote offが出力されなかったり、
逆にうまくタイ接続出来なかったりすることがあったのを修正。
・ARCCのリセットのタイミングを修正。
・@Bm,n,d,b にて、dとbがマッチングしていない(@b0,8191,64,-32 c*96)
と言う場合に、bを無視するよう修正。
(以上7つ thanks to Yggdrasillさん)
・共通トラック部が全くない場合、誤変換していたのを修正。
・@j1から@j0に戻せなかったのを修正。
(known bug)
・通常ARCCの1/8モードを最初に使う場合リセットがうまく行かない
ことがある。
・いつエンバグしたのか、[VIBRATO.DEEPEN]が機能していないようだ。
→v0.78
・ .ASSIGN 1 {midi1-1,128,1,PLAY,NORMAL,COMMENT}
↑ここに対応
→v0.77
・ 一応32ch対応(まだ納得いく実装ではないが・・・)
・ -Rスイッチ実装
・ 表示周り変更
→v0.76
・ @t, @t±,[PATTERN],[EMBED]に対応
・ トラック名(.ASSIGN 1 {midi1-1,,,,,COMMENT} のCOMMENT)に対応
・ スイッチによるクロックタイマ指定に対応
・ モジュレーション/ARCCのディレイ周りでひどくエンバグして
いたのを修正
・ ユーザ波形で振幅の符号指定が無効になっていたのを修正
・ -u スイッチ指定で、以後 '/'をスイッチ指定子と見なさなく
なるようにした。(e.g. z2m3 -u /test.zmd )
→v0.75
・ オートベンド、ポルタメント、@j1周り、その他色々多々細かい修正
・ [timbre_split]に対応
→v0.74
・ @h96@m127r1 などのように、note onが0回でもモジュレー
ションが掛かってしまっていたのを修正
・ 4つのARCCの重畳に対応
(例: [arcc1.control VOLUME][arcc1.level 20]
[arcc2.control VOLUME][arcc2.level 30]
な時のvolume出力値は、20 + 30 = 50)
・ [ARCCn.PHASE]に対応。[ARCCn.DEEPEN]に一応対応(自信なし)。
ARCCの初期化動作を修正。
・ @Gの変換をミスッていたのを修正。
→v0.73
・ 休符時のモジュレーション/ARCC挙動を修正
・ V3モード時の波形メモリの振幅修正
・ Mナントカの指定なしでSナントカを指定した場合の
デフォルトをM1からM2に変更(昔のZ-MUSICではM1だった
ような気がするんですが・・・いつの間に!?)
・ [ARCCn.SYNC %101], [COMMENT ~] に対応。
↑このビット
・ (t1) c8,4 / 最後の音符 のように、MMLの解釈ではDEADに
なっても演奏は続いている、と言うような場合に対応
→v0.72
・ [KEY](.KEY) [METER](.METER) [EVENT WORD,STRING,"歌詞"]に対応
(この辺は個人的にどうしても欲しかったので・・・)
・ [PROGRAM n] [TIMBRE n] で、n>127 の場合に対応
・ -V2 スイッチを新設(フェーダのスピードなどをV2互換にする)
→v0.71
・ TIE時のARCCの挙動を修正。
→v0.70
・ 同期/ARCC/ベロシティ/トランスポーズ周りをかなり修正
・ 内蔵音源パートをスキップするようになった
・ 非同期波形サポート(例によってまだV2レベルだけど)
→v0.6
・ ARCC/モジュレーション/オートベンド/@j1 の細かい不具合修正
・ 無限ループのフェードアウト速度を従来のZtoMの
デフォルトと同じくらいに変更(=遅くした)
・ 白窓対応
・ その他色々
v0.50
・初版