[目次へ]
長野大介氏による STed2 for UNIX FAQ です。
(只今製作中なり) (御意見、ご質問は 長野大介 <breeze.nagano@nifty.ne.jp> まで ) ----------------------- Q:STed が作るデータの形式は ? A:STed が作る MIDI file は、Standard MIDI File ( SMF:*.MID ) では ありません。ほぼ日本ローカルである RCP/R36 ファイルです。 この RCP/R36 ファイルは、カモンミュージック製「レコンポーザ」で 使用される data format と互換性があります(てゆーかそのもの)。 RCP/R36 ファイルから SMF への変換には、別に配布している rcpconv が 利用できます。あるいは、MS-DOS 汎用の CVS.EXE (HAJI 氏作) であれば、 データ中のテキストメッセージを含めた高度な変換が行えます。 逆に、SMF ファイルから RCP/R36 ファイルへの変換は、これも別に配布 している rc_converters に含まれる ItoR (TURBO氏作、私移植) を利用 してください。 いずれの変換も不可逆変換ですので、それぞれ完全には元のデータを再現 できるわけではありません。 # とはいえ、変換できないのは一部のテキストメッセージだけで、 # 演奏情報自体は(多分)完全に変換できます。 RCP->SMF の変換には、MS-DOS が使用できる環境であれば、CVS.EXE を使用 した方が幸せになれると思います。PC-UNIX なら dosemu や wine 経由で使うと いう手もありますね。 ちなみに、cvs.x (TURBO氏による X68k への移植版) を、wine + run68k 経由で 動作させるという手もあります。実績あり。 Q:SMF (その他の形式) のファイルを読み込むことは出来ますか ? A:今のところ、SMF についてはファイルメニューからの読み書き共に可能です。 SMF として読み込んだファイルは SMF として、RCP/R36 として読んだファイルは RCP/R36 として書き出します。フォーマットを変更しての書き出しはサポート していません。 なお、"OPTION" メニューの "Standard MIDI File load" およびその他の ファイル読み込み関連メニューは、現在のところ動作しません。対応予定も ありません。 Q:XF3(前候補/変換 など) での一時停止が出来ません A:オリジナルでは、これは専用 MIDI ドライバ側の機能でした。STed では、 その機能を内部コールで呼び出しているだけです。今の所、その専用ドライバの 内部コールはほとんどエミュレート出来ていませんので、一時停止のような 特殊機能はほとんど利用できないということになっています。 但し、STed で使用する MIDI player によっては、STed とのインタフェイスを 実装しこのような処理が行えるものもあります。 Q:SJIS な環境で使用したいのですが A:UNIX 版では、元のソース内の全ての漢字コードを EUC に変換し、また 入出力の部分でも SJIS<->EUC の変換を行っています。 しかし、最低限の変更で SJIS 環境にも対応できるよう準備はしています。 まず、ソース中の全ての *.c/*.h ファイルに対し、nkf などを使用して SJIS へのコード変換を行って下さい (コメント部分などに日本語が残って いるので)。 そして、./configure 時に --enable-sjis というオプションを追加してください。 その後普通通り make すれば、Shift-JIS 版の sted が出来て来るはずです。 出力メッセージの SJIS 化については、po/ja.po を nkf などで SJIS にして、適当な SJIS 用のメッセージカタログ置場に置いてください。 Q:sted: Cannot allocate shared memory とか云われるんですけど A:STed では、MIDI player との協調動作のためにデータ領域を shared memory 上に取っているのですが、環境によっては shared memory に 大きな領域を確保できないらしいです。 player との協調動作さえ行わなければ、別に必要の無い機能ですから、 コンパイル時に「shared memory なんか使わないぞ」と指定してやれば 問題は無くなります。というわけで、configure 実行時に --disable-shm をオプションに追加してください。 ----------------------- X Window System 版にて Q:X 版で日本語が出ません A: configure 時に、 % env CFLAGS="-DFORCE_XLOCALE" ./configure (some-options) としてみてください。 運が良ければ、これで日本語が出て来るかもしれません。 まさか、環境変数 LANG の値が日本語用になっていない、なんて オチはないでしょうね? 出力メッセージのカタログもきちんとインストール していますか? Q:XF1 - XF5 に対応するキー配置がありません。変えられませんか? A:sted2.cnf 内で設定できるようになっています。#KEY_?? というエントリを 適当に修正して下さい。 たとえば、PrintScreen キー(106/109 キーボードなど) に「登録」を割り当 てたい場合は、まず xev などで PrintScreen に対応する KeySym 名を見付け ("(keysym 0x????, foo)" という箇所が表示される筈です。その 'foo' の部分 です) 、その名前を #KEY_TOROKU = foo のように指定すると設定できます。 なお、他のキーで存在しない/設定できないというものがありましたら御連絡 下さい。同様に設定可能にします。 Q:日本語でタイトルやメモを入力したいのですが A:今の所、カット&ペーストによる入力しか行えません。 別に kterm や mule を起動して、そちらで入力した日本語文字列を マウスでドラッグし、sted のウィンドウ上でマウスの中央のボタン (2 ボタンの場合は左右同時押しなど) を押して下さい。入力フィールドに 先ほどドラッグした文字列が入るはずです。 (ちなみに、rxvt 上からは持って来れません。仕様です。) なお、内部的に勝手に SJIS に変換しますので、EUC な データを作ったりする 心配はありません。 Q: Gtk+ や KDE のテーマが反映されないんですが。 A: 現状の STed2 は、いずれの widget も使用しておりません。それどころか、 X toolkit すら使用していません。純粋な X lib のみで構築されています。 誰か一緒に Gtk+ 化しませんか ? ----------------------- curses 版にて Q:コンソールで動作させた時、表示が変です A:表示系は X680x0 のものをそのまま流用していますので、当然画面には 96桁 x 32行 の文字が出力されることになります。kterm や rxvt を使用して Window size をそこまで拡げるか、kon 上でも適当なフォントを使用して 画面サイズを確保するようにしてください。 Q:curses.c のコンパイルが通りません A:STed で使用している curses は、GNU ncurses です。FreeBSD で提供されている curses は版が古いらしく、一部の関数が足りないということでコンパイルが 通らないことがあります。ある程度は ./configure 時に判定して対処しますが、 それも完全でない場合があります。 とりあえず、新しい ncurses を拾って来てインストールしなおすのが、 STed に限らず色々と幸せになれる道だと思います。 ちなみに、開発環境で使用している ncurses は、Linux の Slackware 3.4 で 配布された libncurses.so.1.9.9e です。版によっては日本語処理周りに バグがある雰囲気なので、上記の版より新しいからといって安心できません:-) Q:それでも curses.c のコンパイルが通らないです A:curses 関係のコンパイルを行わない方法もあります。./configure 時に --disable-curses というオプションを追加してください。curses 関係の機能を完全に 無効としますので、コンパイルも通ると思います。 但し、こうすると当然コンソール上で STed を使用する事は出来なくなります。 ----------------------- 一般的なことについて Q:STed2 って何ですか? A:MIDI 楽器を制御して音楽を演奏するためのデータを作るツールです。 ある意味、音楽エディタとも言えます。 この手のツールには、 ・画面上の楽譜に音符を並べる (譜面入力式) ・直接鍵盤を弾いてその情報を記録する (リアルタイム入力式) ・音の長さの情報をグラフ状にいじくる (ピアノロール式) などがありますが、STed2 は 音符の情報を数値として打ち込んでいく (ステップ入力) という方式です。その中でも、相対的な音符情報を取り扱うという、 古くは Roland の専用シーケンサに始まる、割と歴史のある (言い替えれば 時代遅れな) 入力方法です。慣れれば猛烈な速度で入力が可能なんですけど。 STed「2」となっている理由は、私は分かりません。恐らく version 2.0x の 「2」だとは思うのですが。 sted という同名のテキストエディタとは、多分関係ないと思います。同様に、 Atari ST にあるという同名のシーケンサとも関係ないと思います。 Q:何だって今更ステップ入力なんですか? A:他にソースが公開されている処理系ってありますか? Q:原作者さんはどうなされたのですか? A:詳しくは同梱の tuitou.doc を御覧になって頂きたいのですが、 1997 年 12 月に病気で亡くなられたそうです。謹んで御冥福をお祈り致します。 私もネットワーク上でこの情報を聞いただけですので、詳細に付いては 承知しておりません。 Q:X680x0 とは何ですか? A:(株) シャープが生み出したパーソナルコンピュータ (あるいはパーソナル ワークステーション) です。 その名前通り CPU に MC68000 を採用し、(当時としては)群を抜いた映像、 音響性能で多くの人々を魅了しました。 その上では素晴らしいフリーソフト文化が花開きました。この STed も そういった中から生み出されたソフトです。 Q:何だって移植なんかするんだ A:ウチの X68000 XVI (24MHz 改) の「2個目の」電源も壊れたからです :) Q:お前は誰だ A:只の音楽が好きな貧乏学生です :^) お仕事募集中。 「1 万円のオーケストラ」を目標に、9800 円で買った 486 マシンと 雑誌の付録の Slackware で開発やってます。 ----------------------- [ページの先頭へ] [目次へ]