[目次へ]

長野大介氏による 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 で開発やってます。



-----------------------

[ページの先頭へ]
[目次へ]