domino/要望003/152

Last-modified: 2009-05-18 (月) 21:04:11

ポートを指定して開く

  • ページ: domino/要望
  • 投稿者: ゆえ?
  • 優先順位: 低
  • 状態: 完了
  • 投稿日: 2009-03-26 (木) 13:58:24

メッセージ

MIDIファイルを読み込んだり、新規作成する際に、
出力するポートが指定できれば、便利かなあと思います。

過去に作ったMIDIファイルや、他人が作ったMIDIファイル等を開く際、
ポート情報がなければ基本的にAポートになりますが、
データによっては、別のポートで再生する必要がある場合があります。
その場合は、全てのトラックのポートを目的の音源がセットされたポートに変更するか、
AポートのMIDI-OUTを一時的に変更するかしないといけないので、結構面倒です。

新規作成の際も、例えば音源はCポートに設定した音源で作ろうと思ったときに、
トラックセッティングをごそっと入れ換えないといけないので、やや面倒です。

もし他に何か良い方法があれば良いのですが、
よろしくお願いいたします。


  • うーん、各トラックのポート設定一括置換機能があれば、新規作成時も過去のファイルを開いたときでも対応できますかね? -- たかぼー? 2009-03-26 (木) 14:20:20
  • 聴くだけなら各トラックのポート設定一括置換でも良いとは思いますが、よく考えたらCCマクロの復元機能が適切な音源で出来ないですよね。(現在はAポートのMIDI-OUTを一時的に変更でやってたのでポート変える方法での問題に気づきませんでした)
    新規作成も初期データが入れかわらないとまずいと思うのですがどうでしょうか。というか、新規作成は音源ごとの初期データのみのdmsを作っておけば良いかと思いました。 -- ゆえ? 2009-03-26 (木) 15:59:29
  • たしかに^^;・・・となると後は、MIDI-OUT設定画面で、プリセット保存・読み込み機能をつける案、ぐらいでしょうか? -- たかぼー? 2009-03-26 (木) 17:45:33
  • 「MIDI-OUT設定画面で、プリセット保存・読み込み機能をつける案」と言うのは、逆にちょっと大げさすぎる気がしますし、大抵は1ポートだけなので、現状でやっている「AポートのMIDI-OUTを一時的に変更する」ってのと手間(設定して終ったら戻す作業)はそんなに変わらないと思います。

    私が最初に書いたのは、MIDIファイルを読み込む時に、BポートやCポートと指定して読み込めたらいいなって思ったのです。

    例えば、MIDI-OUTの設定が下記のような状態だとします。
     ・ A~Bポート:SC-88Pro A~B
     ・ C~Fポート:SC-8850 A~D
     ・ Gポート:Microsoft GS Wavettable SW Synth
    ポートの設定は普段の曲づくりをする状態なので基本的には変更したくないものです。
    ここで、GSm専用に作られたMIDIファイルがあったとして、そのファイル(16ch)を読み込んだら、シーケンサー上ではGポート16トラックになれば良いな。と言うことなのです。

    素人目には、読み込み時にダイアログでポートを聞いてくれるだけで済むと思うのですが、技術的には難しいのでしょうか。 -- ゆえ? 2009-03-26 (木) 18:53:18
  • 難しくはないですが、MIDIファイル読み込み時に2つも確認が出るとさすがにウザイかなとも思いまして。まぁ読み込み時に問い合わせる案でいきましょうか。ちなみに、ポート毎に細かく指定(A→B、B→Fなど)できるようにするのと、ベースとなるポートを一つ指定するだけ(ベースポートCの場合はMIDIファイルのAポートがC、MIDIファイルのBポートがDに変換される)のと、どちらが良いと思いますか? -- たかぼー? 2009-03-26 (木) 21:33:00
  • すみません。色々と考えてくださりありがとうございます。確かに2つも確認が出るとさすがにウザイかもしれませんね。でも要らない人は設定で出ないようにすれば問題ないかと思います。
    それで問い合わせ方法ですが、私はマルチポートなMIDIファイルにはあまり出くわさないので「ベースとなるポートを一つ指定」しか考えてなかったのですが、やりやすい方・ウザさが少ない方で良いかと思います。(となるとやはりベースだけ指定でしょうか)
    マルチポートでかつ音源もバラバラなのは稀なので、それこそ設定を一時変更とかで応用しても良いと思います。 -- ゆえ? 2009-03-27 (金) 11:45:20
  • ではとりあえずそうしておきましょうかね。 -- たかぼー? 2009-03-27 (金) 15:30:56
  • やってみました→http://www.tkb-soft.hmcbest.com/Domino135_dev003.ZIP デフォルトではオフになっていますので、環境設定→SMFから設定してみてください。 -- たかぼー? 2009-04-02 (木) 21:17:49
  • 別のポートを選択した時に、SMF読み込み時のdms化?がポートAの定義ファイルを元に行われるようです。例えば、ポートAにGSmを、ポートBにSC-8850を設定した状態でポートBを選択して読み込むと、CC#10 Panpotの値が64になっていたり(正しくは、0にならないといけない。)、Channel PressureがCC#128 Restになっていたりします(GSmではCC#128 CATになっているためだと思われます)。 -- 逃亡者? 2009-04-04 (土) 18:37:40
  • 失礼いたしましたm(_ _)m ポート変換処理の前にポートを使っている箇所が残っていました。早速修正してみました→http://www.tkb-soft.hmcbest.com/Domino135_dev004.ZIP -- たかぼー? 2009-04-04 (土) 19:14:02
  • ありがとうございます。修正を確認しました (^^) -- 逃亡者? 2009-04-04 (土) 20:00:31
  • 実装着手ありがとうございます。ただ問題がある様です。【dev003】では逃亡者さんの報告の通り、Bポートを指定して開くと、Aポートの定義ファイルで展開されてBポートで開かれますが、【dev004】では、私が確認した限り、CCマクロ復元をする・しないに関わらず、開くポートをBポート等に指定してもAポートで開いてしまいます。逃亡者さんの4/4の書き込みでは問題ない様に見受けられますがご確認いただけますでしょうか。 -- ゆえ? 2009-04-06 (月) 22:24:55
  • すみません、確認不足でしたね。確かに、フォーマット:0 のSMFで再現しました。 -- 逃亡者? 2009-04-07 (火) 02:42:01
  • あ、すみません、フォーマット:1 でも再現しました。 -- 逃亡者? 2009-04-07 (火) 02:44:14
  • すみません、dev005(今晩か明日の晩)で修正させていただきますね(実はdev004をアップした後で気がついたのですがwポート情報が入っていないsmfを読むと駄目でした (OO; ) -- たかぼー? 2009-04-07 (火) 09:06:41
  • と言うわけでこちらをお試しくださいm(_ _)m →http://www.tkb-soft.hmcbest.com/Domino135_dev005.ZIP -- たかぼー? 2009-04-07 (火) 21:24:10
  • 確認しました。フォーマット:1 は大丈夫でしたが、フォーマット:0 を読み込んだ時に自動で作成される「System Setup」トラックがポートAでした。 -- 逃亡者? 2009-04-07 (火) 23:27:20
  • がーん (OO; -- たかぼー? 2009-04-08 (水) 08:53:50
  • 今度こそ・・・http://www.tkb-soft.hmcbest.com/Domino135_dev006.ZIP -- たかぼー? 2009-04-08 (水) 19:31:58
  • 確認しました。私の手持ちのMIDIではバッチリです (^^) -- 逃亡者? 2009-04-08 (水) 21:55:08
  • ありがとうございますm(_ _)m -- たかぼー? 2009-04-09 (木) 09:09:48
  • 対応ありがとうございます♪ 私も先程確認いたしました。私の方でも問題は無かったです。 -- ゆえ? 2009-04-09 (木) 09:55:57