playmidiのソースコードなど公開物一式のりぽじとり
Révision | 8157b8ed67ac4acd9094de243850374d7e8c1f7a (tree) |
---|---|
l'heure | 2014-02-23 20:45:45 |
Auteur | koinec(Koine Yuusuke) <koinec@user...> |
Commiter | koinec(Koine Yuusuke) |
@@ -0,0 +1,89 @@ | ||
1 | +** playumidiインストール方法 ** | |
2 | + | |
3 | +[このソフトなに?]---------------------------------------------------------- | |
4 | + | |
5 | + "playumidi"はFreeBSDのUSB-MIDI向けの「シンプル」なMIDIファイルプレイヤーです。 | |
6 | + このソフトは、FreeBSDのuaudioドライバに内蔵されたumidiデバイス(/dev/umidi*.*) | |
7 | + を直接叩いて再生するので、/dev/sequencerは不要です。 | |
8 | + また、MIDIファイルを調べて、自動でXG/GS/GMのリセットを発行する機能を持っています。 | |
9 | + (ので、リセットを発行していないが故に音色がめちゃくちゃになるMIDIファイルでも | |
10 | + 大丈夫です) | |
11 | + | |
12 | + | |
13 | +[必要環境]------------------------------------------------------------------ | |
14 | + | |
15 | + README.jpを見て下さいな。 | |
16 | + | |
17 | + | |
18 | +[インストール方法]---------------------------------------------------------- | |
19 | + | |
20 | + rootユーザーで以下のコマンドを順に実行して下さい。 | |
21 | + | |
22 | + 1. sourceforge.jpからtarボールを持って来て、保存する | |
23 | + (このテキスト読んでいるんだから大丈夫なはず) | |
24 | + | |
25 | + 2. 持って来たtarボールを任意のディレクトリに展開する。 | |
26 | + (展開したディレクトリは、以下"INSTALL DIR"と書きます). | |
27 | + "tar xvfz playumidi_0.8.0.tar.gz" | |
28 | + | |
29 | + 3. 展開したディレクトリ"INSTALL_DIR"にカレントディレクトリを移動する | |
30 | + "cd INSTALL_DIR" | |
31 | + | |
32 | + 4. 以下のビルドコマンドを実行する。 | |
33 | + "make -DWITH_ICONV install && make clean" | |
34 | + | |
35 | + (もし、MIDIファイル内に埋まっているテキストは全てASCIIで、日本語は | |
36 | + 一切不要、と言い切れるなら、以下でOKです。この場合libiconvは不要) | |
37 | + "make install && make clean" | |
38 | + | |
39 | + これで終り。すぐに使えるようになります。 | |
40 | + | |
41 | + MIDIファイルを再生するには | |
42 | + "playumidi yourmidifile.mid" | |
43 | + でOKです。(通常、オプション指定とか不要です) | |
44 | + | |
45 | + | |
46 | +[使い方]-------------------------------------------------------------------- | |
47 | + | |
48 | + README.jpか、"man playumidi"を見て下さいな。 | |
49 | + (但し、man playumidiは英語です) | |
50 | + | |
51 | + | |
52 | +[念のための注意]------------------------------------------------------------ | |
53 | + | |
54 | + plyaumidi は/dev/umidi*.*を直接開き、再生データを書き込みます。 | |
55 | + ので、/dev/umidi*.*にはplayumidiを実行するユーザーによるR/W権限が必要です。 | |
56 | + | |
57 | + が、FreeBSDのumidiドライバ(uaudio内蔵)は、以下の設定をしない場合rootのみR/W | |
58 | + 権限で、他は読み込み権限みです。(permission 644) | |
59 | + | |
60 | + このため、R/W権限を設定する方法例を以下に示しますので参考にどうぞ。 | |
61 | + | |
62 | + * (例1) 毎回権限を設定する方法 | |
63 | + rootユーザか、sudoなどで、以下のコマンドを実行すればOKです。 | |
64 | + (ただし、PCの電源落した当然設定が元に戻ります) | |
65 | + "chmod -R 755 /dev/umidi*" | |
66 | + | |
67 | + * (例2) umidiデバイスの権限を恒久的に変更する方法 (FreeBSD 8/9のみ) | |
68 | + devfs.rulesにumidiデバイスの権限を設定してしまう方法です。 | |
69 | + rootユーザか、sudoなどで、以下のコマンドを実行すればOKです。 | |
70 | + | |
71 | + 1. /etc/devfs.rules に以下の2行を追加する。 | |
72 | + (/etc/devfs.rulesがなければ作成する) | |
73 | + ------------------------------------------ | |
74 | + [devfsrules_common=7] | |
75 | + add path 'umidi*' mode 0666 group wheel | |
76 | + ------------------------------------------ | |
77 | + | |
78 | + 2. /etc/rc.conf に以下3行を追記する | |
79 | + ------------------------------------------ | |
80 | + devd_enable="YES" | |
81 | + devfs_enable="YES" | |
82 | + devfs_system_ruleset="devfsrules_common" | |
83 | + ------------------------------------------ | |
84 | + | |
85 | + 3. リブートする (shutdown -r now) | |
86 | + | |
87 | + | |
88 | +END of INSTALL ************************************************************ | |
89 | + |
@@ -91,10 +91,10 @@ playumidi - play standard midi-file format 0/1 for FreeBSD USB-MIDI device | ||
91 | 91 | * Disable Auto-Insert XG/GS/GM Reset code. |
92 | 92 | |
93 | 93 | -q |
94 | - * Quiet Mode : Don't output the Meta-Event Text to the terminal stdout." | |
94 | + * Quiet Mode : Don't output the Meta-Event Text to the terminal stdout. | |
95 | 95 | |
96 | 96 | -v |
97 | - * Verbose Mode : Output the playumidi running status.(DEBUG mode)" | |
97 | + * Verbose Mode : Output the playumidi running status. | |
98 | 98 | |
99 | 99 | -h |
100 | 100 | * Output Command-Line Help Message (Usage) |
@@ -0,0 +1,183 @@ | ||
1 | +playumidi - play standard midi-file format 0/1 for FreeBSD USB-MIDI device | |
2 | + Version 0.8.0 | |
3 | + | |
4 | + | |
5 | +[このソフトなに?]---------------------------------------------------------- | |
6 | + | |
7 | + "playumidi"はFreeBSDのUSB-MIDI向けの「シンプル」なMIDIファイルプレイヤーです。 | |
8 | + このソフトは、FreeBSDのuaudioドライバに内蔵されたumidiデバイス(/dev/umidi*.*) | |
9 | + を直接叩いて再生するので、/dev/sequencerは不要です。 | |
10 | + また、MIDIファイルを調べて、自動でXG/GS/GMのリセットを発行する機能を持っています。 | |
11 | + (ので、リセットを発行していないが故に音色がめちゃくちゃになるMIDIファイルでも | |
12 | + 大丈夫です) | |
13 | + | |
14 | + | |
15 | +[必要環境]------------------------------------------------------------------ | |
16 | + | |
17 | + "playumid"は以下の環境で動作します。 | |
18 | + * OS: FreeBSD | |
19 | + * USB-MIDIドライバ (uaudioドライバ内蔵。/dev/umidi*.*が存在すること) | |
20 | + (/dev/sequencerは使えません) | |
21 | + * USB-MIDIデバイスとその先に繋がっているMIDI音源 | |
22 | + (YAMAMA MU1000/2000/128/etc... or Roland SC-88xx) | |
23 | + * libpthread ライブラリ | |
24 | + (ただし、FreeBSDの初期インストール時に一緒にインストールされるので | |
25 | + 特段のインストール作業とか不要です) | |
26 | + * libiconv ライブラリ | |
27 | + (なければインストールして下さい。ただ、これも通常の日本語が使える | |
28 | + FreeBSD環境では、ほとんどインストールされているはずです) | |
29 | + | |
30 | + (参考)動作確認環境 | |
31 | + * FreeBSD 9.1-RELEASE | |
32 | + * uaudio driver | |
33 | + ( http://lists.freebsd.org/pipermail/freebsd-usb/2012-December/011702.html | |
34 | + にあるパッチコードを手動で当てています。) | |
35 | + ( このパッチがなければこのソフトはなかった、という意味で、 | |
36 | + どなたか不明ですが。。。パッチの作者さん感謝です ) | |
37 | + * YAMAHA MU1000 MIDI音源 (内蔵のUSBインタフェースを利用) | |
38 | + | |
39 | + | |
40 | +[インストール]-------------------------------------------------------------- | |
41 | + | |
42 | + INSTALL.jpを読んで下さいな。 | |
43 | + | |
44 | + | |
45 | +[Usage]--------------------------------------------------------------------- | |
46 | + | |
47 | + playumidiはコマンドラインから使います。 | |
48 | + | |
49 | + コマンドライン文法: | |
50 | + "playumidi [option] file" | |
51 | + | |
52 | + オプション | |
53 | + -d device_name | |
54 | + * USB-MIDIデバイス名を指定します。(デバイス番号とポート番号は自動検索) | |
55 | + (例:/dev/umidi0.[0-15]を使いたい場合は、"-d umidi"と指定) | |
56 | + ※/devは勝手に補います。 | |
57 | + * デフォルト値: "umidi" | |
58 | + | |
59 | + -0 device_fullname | |
60 | + * MIDIポート0として使うMIDIデバイス名を個別に指定します。 | |
61 | + (このオプションは、例えば2台のMIDIデバイスがある環境で、 | |
62 | + デバイス番号が後のデバイスを使いたい場合にのみ利用します) | |
63 | + * -dオプションとの混用はできません。(両方指定した場合の動作は未定義) | |
64 | + * MIDIポート0が開けない場合、playumidiはエラーで終了します。 | |
65 | + | |
66 | + -1 device_fullname | |
67 | + * MIDIポート1として使うMIDIデバイス名を個別に指定します。 | |
68 | + (このオプションは、例えば2台のMIDIデバイスがある環境で、 | |
69 | + MIDIチャンネル17-31を2台目のMIDIデバイスで再生したい場合にのみ利用します) | |
70 | + * -dオプションとの混用はできません。(両方指定した場合の動作は未定義) | |
71 | + * ポート1が利用できない(開けない)場合は、エラー表示を出力しますが、 | |
72 | + 他のポートだけで再生します。この場合MIDIチャンネル17-31は再生できません。 | |
73 | + | |
74 | + -2 device_fullname | |
75 | + * MIDIポート2として使うMIDIデバイス名を個別に指定します。 | |
76 | + (このオプションは、例えば2台のMIDIデバイスがある環境で、 | |
77 | + MIDIチャンネル32-47を2台目のMIDIデバイスで再生したい場合にのみ利用します) | |
78 | + * -dオプションとの混用はできません。(両方指定した場合の動作は未定義) | |
79 | + * ポート2が利用できない(開けない)場合は、エラー表示を出力しますが、 | |
80 | + 他のポートだけで再生します。この場合MIDIチャンネル32-47は再生できません。 | |
81 | + | |
82 | + -3 device_fullname | |
83 | + * MIDIポート3として使うMIDIデバイス名を個別に指定します。 | |
84 | + (このオプションは、例えば2台のMIDIデバイスがある環境で、 | |
85 | + MIDIチャンネル48-63を2台目のMIDIデバイスで再生したい場合にのみ利用します) | |
86 | + * -dオプションとの混用はできません。(両方指定した場合の動作は未定義) | |
87 | + * ポート3が利用できない(開けない)場合は、エラー表示を出力しますが、 | |
88 | + 他のポートだけで再生します。この場合MIDIチャンネル48-63は再生できません。 | |
89 | + | |
90 | + -r | |
91 | + * XG/GS/GMリセットイベントの自動挿入をしないようにします。 | |
92 | + (playumidiは通常、再生前にMIDIファイルを読みだし、再生対象ファイルが | |
93 | + XG/GS/GMのいずれかか、およびそれぞれのリセットイベントを最初に発行して | |
94 | + いるかをチェックし、リセットイベントを発行していないファイルの場合は | |
95 | + 自動でこれを発行しますが、このオプションを指定するとこの発行をしません) | |
96 | + | |
97 | + -q | |
98 | + * 再生中にMIDIファイル内のMETAイベントによるテキスト表示をしません。 | |
99 | + (CopyrightやTitleが表示されなくなります) | |
100 | + | |
101 | + -v | |
102 | + * テンポの変化やキーの変更など、詳細な情報を表示するようにします。 | |
103 | + | |
104 | + -h | |
105 | + * コマンドラインのヘルプを表示します。 | |
106 | + | |
107 | + -l language_code | |
108 | + * MIDIファイル内のMETAイベントで使われているテキストの文字コードを | |
109 | + 指定します。 | |
110 | + * このオプションはビルド時に"-DWITH_ICONV"を指定していない場合、 | |
111 | + 利用できません。 | |
112 | + * "language_code"に指定できる文字コードの値は、"iconv -l"のコマンド | |
113 | + を実行した場合に表示される文字列のいずれかとなります。 | |
114 | + * デフォルト値: SHIFT_JISX0213 (普通のShift JISです) | |
115 | + | |
116 | + -t language_code | |
117 | + * METAイベント内のテキストを出力するコンソール(端末)の文字コードを | |
118 | + 指定します。 | |
119 | + * このオプションはビルド時に"-DWITH_ICONV"を指定していない場合、 | |
120 | + 利用できません。 | |
121 | + * "language_code"に指定できる文字コードの値は、"iconv -l"のコマンド | |
122 | + を実行した場合に表示される文字列のいずれかとなります。 | |
123 | + * デフォルト値: | |
124 | + 環境変数LANGが設定されている場合は、LANGの値中の"."より後ろの部分 | |
125 | + を全て大文字にした値となります。 | |
126 | + 環境変数LANGが未指定の場合は"EUC-JP"となります。 | |
127 | + | |
128 | + | |
129 | + 再生中に利用可能な操作は以下の通りです。 | |
130 | + | |
131 | + "Ctrl + C"キー | |
132 | + * 再生を停止し、playumidiを終了します。 | |
133 | + | |
134 | + | |
135 | +[念のための注意]------------------------------------------------------------ | |
136 | + | |
137 | + plyaumidi は/dev/umidi*.*を直接開き、再生データを書き込みます。 | |
138 | + ので、/dev/umidi*.*にはplayumidiを実行するユーザーによるR/W権限が必要です。 | |
139 | + | |
140 | + が、FreeBSDのumidiドライバ(uaudio内蔵)は、以下の設定をしない場合rootのみR/W | |
141 | + 権限で、他は読み込み権限みです。(permission 644) | |
142 | + | |
143 | + このため、R/W権限を設定する方法例を以下に示しますので参考にどうぞ。 | |
144 | + | |
145 | + * (例1) 毎回権限を設定する方法 | |
146 | + rootユーザか、sudoなどで、以下のコマンドを実行すればOKです。 | |
147 | + (ただし、PCの電源落した当然設定が元に戻ります) | |
148 | + "chmod -R 755 /dev/umidi*" | |
149 | + | |
150 | + * (例2) umidiデバイスの権限を恒久的に変更する方法 (FreeBSD 8/9のみ) | |
151 | + devfs.rulesにumidiデバイスの権限を設定してしまう方法です。 | |
152 | + rootユーザか、sudoなどで、以下のコマンドを実行すればOKです。 | |
153 | + | |
154 | + 1. /etc/devfs.rules に以下の2行を追加する。 | |
155 | + (/etc/devfs.rulesがなければ作成する) | |
156 | + ------------------------------------------ | |
157 | + [devfsrules_common=7] | |
158 | + add path 'umidi*' mode 0666 group wheel | |
159 | + ------------------------------------------ | |
160 | + | |
161 | + 2. /etc/rc.conf に以下3行を追記する | |
162 | + ------------------------------------------ | |
163 | + devd_enable="YES" | |
164 | + devfs_enable="YES" | |
165 | + devfs_system_ruleset="devfsrules_common" | |
166 | + ------------------------------------------ | |
167 | + | |
168 | + 3. リブートする (shutdown -r now) | |
169 | + | |
170 | + | |
171 | + | |
172 | +[作者]------------------------------------------------------------------- | |
173 | + | |
174 | + Koine Yuusuke (koinec@users.sourceforge.jp) | |
175 | + | |
176 | + | |
177 | +[ライセンス]------------------------------------------------------------- | |
178 | + | |
179 | + playumidi は、"2項タイプのFreeBSDライセンス"です。 | |
180 | + 詳しくは LICENSE ファイルを読んで下さいな。 | |
181 | + | |
182 | + | |
183 | +END of README *********************************************************** |
@@ -55,10 +55,10 @@ DEFAULT: "umidiX.3" (X is serarched by playumidi from 0 to 15.) | ||
55 | 55 | Disable Auto-Insert XG/GS/GM Reset code. |
56 | 56 | .TP |
57 | 57 | .B -q |
58 | -Quiet Mode : Don't output the Meta-Event Text to the terminal stdout." | |
58 | +Quiet Mode : Don't output the Meta-Event Text to the terminal stdout. | |
59 | 59 | .TP |
60 | 60 | .B -v |
61 | -Verbose Mode : Output the playumidi running status.(DEBUG mode)" | |
61 | +Verbose Mode : Output the playumidi running status. | |
62 | 62 | .TP |
63 | 63 | .B -h |
64 | 64 | Output Command-Line Help Message (Usage) |
@@ -55,10 +55,10 @@ DEFAULT: "umidiX.3" (X is serarched by playumidi from 0 to 15.) | ||
55 | 55 | Disable Auto-Insert XG/GS/GM Reset code. |
56 | 56 | .TP |
57 | 57 | .B -q |
58 | -Quiet Mode : Don't output the Meta-Event Text to the terminal stdout." | |
58 | +Quiet Mode : Don't output the Meta-Event Text to the terminal stdout. | |
59 | 59 | .TP |
60 | 60 | .B -v |
61 | -Verbose Mode : Output the playumidi running status.(DEBUG mode)" | |
61 | +Verbose Mode : Output the playumidi running status. | |
62 | 62 | .TP |
63 | 63 | .B -h |
64 | 64 | Output Command-Line Help Message (Usage) |