Bug #14
(V5.22)p指定で後音を前音より先に発音させると連結&の結果が異常となる
ステータス: | 終了 | 開始日: | 2007/10/16 | |
---|---|---|---|---|
優先度: | 通常 | 期日: | 2007/10/18 | |
担当者: | - | 進捗 %: | 100% | |
カテゴリ: | - | 作業時間の記録: | - | |
対象バージョン: | - |
説明
状況(2007.10.18)¶
(原因)pqおよびスタッカートに依存しない連結&の処理の考慮不足。接続すべきノートOFFとノートONを除去した結果、連結後の残されたノートONとOFFの時間的な順番が逆になってしまい。音が鳴り続ける。しかも、譜面モニタの座標が別のアルゴリズムで処理されていたため表示が発音と食い違ってしまう現象も起きていた。
(対処)接続すべき2音のノートONの後先関係を調べ、上記に該当する状態の場合は連結処理を実施しないように改めた。V5.23で対応済み。
概要(2007.10.16)¶
以下のデータを実施した際、異常な解析結果となる。
x2_2 [ceg]4p^2q~2&[ceg]8_
今回の実装では①&②という記述を①の位置でオン、②の位置でオフ、 と言う風に内部処理されていらっしゃると、2つめのデータの モニタ画像で確信しましたが(これもV5.21とは似ても似つかない出力です)、 とするならば、この最後のデータはオフ→オンの順の処理がなされ、 同じ音をもう一度鳴らせてさらにオン→オフの命令を出さない限り ひたすら鳴りっぱなしになるのではと思っていました。実際 そうなっているようです。譜面モニタではオフとオンが逆になって 音長が表示されていますが実際にCの和音が鳴り始めるのは モニタのオフの(ように見える)位置でそれから鳴りっぱなしに なっているようです。
ある意味忠実なコンパイルとも言えますから、これでよいような気も しますが(そもそもこんな記述は実際は誰もしませんし)、 譜面モニタの表示がずれるのは少々気分が悪いですね…
エクスクルーシブなどを使わずに、妙な現象を引き起こせるので 面白いと言えば面白いですが、このようにコンパイルしてしまって 良いのか、難しいところですね。オンとオフがひっくり返れば なかなか粋な仕様とも思いますが、さらに&が続いた場合に 収拾がつかないような気もします(苦笑)。難しいところですね。
関連するチケット