format 1 の読み込みエラーに対する処理
メッセージ
現在、同一トラック内に複数のチャンネル メッセージを含むような SMF (format 1) は読み込み時にエラーが出るようになっていますよね。
このエラーを出さずに、うまくデータを展開するようにしてほしいです。
いろいろな方法があると思います。
・ トラック情報がないものとして読み込み、format 0 と同じように System Setup + 16 パートに展開する
→ トラック名の管理など (複数ポートへの対応も含む) に問題点があるので、実際に行うかはユーザーに決めさせる
・ 該当するトラックのみ複数に分ける (例: 5ch 用っぽいトラックに 5ch へのチャンネル メッセージと 6ch へのチャンネル メッセージが混じっていた場合、それらを分ける)
→ ユーザーにはそれが行われたことがわからないので、これも実際に行うかはユーザーに決めさせる
・ 上記 2 つや他の方法をすべて取り入れた上で、コマンドをユーザーに適宜決めさせる
→ 実装が大変
・ Domino のシステムを改め、ひとつのトラック上に別のチャンネルに送信するメッセージを入れてもいいようにする
→ 合理的だが、実装がもっと大変
よろしくお願いします
- これたまに質問等で来るんですよね・・・。たしか現在もformat1でコンダクタートラックにノートとかが入っていたら、別トラックに勝手に展開していたと思いますので、「該当するトラックのみ複数に分ける」で良いかなと個人的には思います(毎回確認がでるとうざいかなと思うので、オプション切り替えでしょうかね)。ただ、テストデータが無いと何も出来ませんので、チャンネル混在データを作成できるソフト情報またはデータを提供していただけますか? -- たかぼー? 2010-12-30 (木) 09:52:13
- 僕も「該当するトラックのみ複数に分ける」でいいと思います。一応ユーザーに知らせるために、ステータス バーに処理を行ったことを示す文章を書き出したらいいのではないでしょうか。自分の持っている環境ではデータが作れなかったので、既存のデータを載せときます: th5_16.mid -- 大佐? 2010-12-30 (木) 14:29:09
- ぼくも、「該当するトラックのみ複数に分ける」賛成します。テストデータについては、たぶんcherryというソフトで作れます。 -- [homo] 2011-01-02 (日) 11:29:16