掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MIDIファイルからプログラムチェンジ等の情報をぬきだすには? (ID:3380)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> ごめんなさい、凄く初心者ですね。申し訳ございません。 あやまることなんてないですよ、みんな最初は初心者なんですし。 さて、本題。 察するに、中から最初のプログラムチェンジ情報を抜き出して、 それを表示したりするんでしょうか? それならたしかに、上のソースじゃ、そのまんまじゃ使えませんね。 (あれはとりあえず、総当たりなので) でも、ちょっとした工夫で、何とかなりませんか? たとえば、プログラムチェンジが見つかったら、フラグを立てて、次のプログラムチェンジは素通りするようにする。 MIDIには16のチャンネルがありますから、一つ一つのチャンネルで、 プログラムチェンジが見つかったのか否か、調べないといけません。 わたしなら、あらかじめ0〜15の数値配列(Byte型でいいでしょう、0〜126しかないんですから)をつくり、 プログラムチェンジコードを見つけたら、配列のチャンネル番目のますに、見つけたプログラムチェンジの楽器番号を入れておきます。 (たとえば、1チャンネルめのプログラムチェンジを見つけたら、array[0] := 10 などのように) もう取得済みかどうか確かめるには、 そのチャンネル番目のますにちゃんとした番号が入っているかどうか調べればわかりますね。 (あらかじめ全部に255とかを入れておけば、一目瞭然でしょう) そしてファイル内のプログラムチェンジを調べ終わったら、 MusicConstユニット内の定数配列と照らし合わせて、 楽器名に変換。 こんなんでどうでしょう?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.