No.16 ベロシティシーケンス(西川善司)に対するコメント

No.18
タイトル(TITLE):ベロシティシーケンス分かりました。

氏名(NAME):じんべ
メールアドレス(MAIL ADDRESS):jimbe@imasy.or.jp
書込日時(DATE):98/07/14 02:05:03

既に西川さんとやぎさんの間で解決していたら無視してください。
Ver.2 のベロシティシーケンスの動作ですが、ソースから原因らしきものが分かりました。
どうやら、最初の値を求めるループが必ず16回回るのが原因のようです。
動作は、それまでの処理した中でもっとも件数のある(省略もカウントします)zコマンドの最後の値が、最初の省略時('z,'のような時)の値になります。
但し、「もっとも件数のあるzコマンド」以降のzコマンドが全て「もっとも件数のあるzコマンド」より2以上少ない場合です。
ようするに、zコマンドの各値をテーブルに展開し、エンドコードも書くのですが、
それ以降は前の値が残っていて、省略時のチェックがエンドコードを無視しているために、
「最後のデータ」が古いものになるわけです。
ソースでは ZMSC.HAS の 11510辺りのループがターゲットです。

Z-MUSIC BBSへ戻る
ホームページへ戻る