Bug #13
(V5.21)連結&が他のフィンガーのpqに影響を受ける
ステータス: | 終了 | 開始日: | 2007/10/13 | |
---|---|---|---|---|
優先度: | 通常 | 期日: | 2007/10/14 | |
担当者: | - | 進捗 %: | 100% | |
カテゴリ: | - | 作業時間の記録: | - | |
対象バージョン: | - |
説明
状況(2007.10.14)¶
明かな再現性を確認。
V5.22で対処済み。
(原因)連結処理のアルゴリズムは同時刻のノートOFFとノートONを検出することで行っているが、その検出を高速化するため、ある条件に達した場合に検出作業を打ちきっていた。今回、pqやスタッカートに影響されない仕様に変更したことで、その打ち切り条件を以前よりも広くとらなければならないにもかかわらず、以前のまま実施していた。
(対処)ロード時に、フィンガー毎の時刻キーによるソーティングリストを作成し、それを元に打ちきり条件を決めるように改修した。これにより、今までのコンパイル速度をほぼ維持しつつ、pqやスタッカートに影響を受けない連結を実現した。
(追記)今回の障害対応に伴い、連結&はフィンガー内でのみ実施するように改めた。従来は、メンバー内のフィンガーをまたいで効果していた。
概要(2007.10.13)¶
連結コマンド"&"の仕様が, 次のようなコードではうまく機能しません.
*FING"x1 q~64" #A0o5 [dg]4&[db][ea]&[e<c>] | [eb]&[ea][dg]&, | _ #A1p~16q^32.o3 ({ba<c>b<dc>ag}2)1 | () |
どうやら,他のフィンガーのp,q指定の影響も受けてしまっているようです.
余りよく調べていませんが,
・#A1 を #B0 など別のメンバーに変えても音は途切れたまま.
・#A1 をコメントアウトすると,ちゃんと音がつながる.
・#A1 の q 指定を q^16 とすると,ちゃんと音がつながる.
・#A1 の p,q 指定を p~4q^4~64 とすると,#A0 の最初のレの音だけがちゃんとつながる.
・#A1 の音符部分を (ba<c>b<dc>ag)1 | () | とする
(つまり,16分音符刻みから8分音符刻みにする)とちゃんと音がつながる.
などが判っています.
関連するチケット
履歴
#1 Redmine Admin がほぼ11年前に更新
- 説明 を更新 (diff)