SMFプレイヤーをつくろう!リベンジ「言語の設定とキーボードの表示」

投稿日: 更新日:

久しぶりにSMFプレイヤーの更新。
といっても前回の段階でSMFの再生の最低限の機能は実装されているので、
今回は表示関連を中心に。

まずは、言語の設定。

生まれて初めて、言語の設定を行えるような機能追加をしました。(=o・ω・o)
ほら、これからは日本以外にも視野を広げる時代ですから。はい。
実装としましては、言語の設定は、辞書式にしました。
辞書ファイルはカレントディレクトリにある*.langファイルを自動で検索。
また、リソースファイルの*.langを指定して選択できるように。
辞書ファイルの中身は、xmlです。といっても、JavaのPropertiesクラスを利用して実装しただけですが。
xmlにすると何が嬉しいかというと、辞書ファイルのエンコードを指定できるという点です。
Javaは通常Unicodeなので、設定ファイルもUnicodeで書かないといけないですが、
XMLでShift_JISと設定すれば、Unicode対応していないテキストエディタでも書き換えたりできますし。
ソフトの再起動しなくても、言語が変更されるところがこだわりポイント(*^U^*)
ほら、よく言語の設定をすると、ソフトの再起動が要求されるのとかあるじゃないですか。Timidity++とか。

次は、以前予告?していたキーボード。

キーボード。といってもチャンネル番号やら、使用している楽器などは表示していません。
上からチャンネル1~16と。ポートAしか表示してません。
キーボードの1つ1つが、キーボードクラスになっています。o(≧ω≦;)o
しかも、その1つ1つがスレッドを持って描写しているという設計。
ほら、キーボード1つのみ利用したいとかそういう場合に再利用できるし。
鍵盤の大きさも、横の鍵盤数も自由に設計できるようになってます。
出来る限り柔軟に柔軟に。ヾ(。・ω・。)
そういえば、描写の際に白鍵盤を先に描写してから、黒鍵盤を描写しないといけなくて、ちょっと面倒だった。
描写用のクラスは、以前作成したゲーム描写用の下地のクラスを利用しているので結構高速動作。
鍵盤の画像コピーも自前処理してます。
もっと高速にするには、やっぱり白鍵盤3種類作って、押した時と離した時のみ描写しないといけないかな。
ちなみに、このキーボードは全体を1回1回、目標fps10で描写しなおしてます^^;
鍵盤は以外にfpsゆっくりでも気にならないものですね。

後いい加減に、ホームページからダウンロードできるように設定。

以前のブログへ SMFプレイヤーをつくろう!リベンジ「出力ポート、MIDIと周波数の関係」

完成したJava製のSMFプレイヤーのダウンロード

広告

SMFプレイヤーをつくろう!リベンジ「言語の設定とキーボードの表示」” への2件のフィードバック

    […] 以前のブログへ SMFプレイヤーをつくろう!リベンジ「完成した」 続く… SMFプレイヤーをつくろう!リベンジ「言語の設定とキーボードの表示」 […]

    いいね

    […] 以前のブログへ SMFプレイヤーをつくろう!リベンジ「完成した」 続く… SMFプレイヤーをつくろう!リベンジ「言語の設定とキーボードの表示」 […]

    いいね

コメントをどうぞ(承認された後に公開されます。メールアドレスの記入は自由ですが、記入した場合でも一般公開されることはありません)

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中