uLilithフェイスの仕様


uLilithで使用できるファイル

定義ファイル

フェイス定義を書き込んだiniファイル(拡張子が*.iniのファイル)
iniファイルでなくても、ファイルの中身がフェイス定義を書き込んだiniファイルであれば
(iniファイルとして作って、拡張子だけを書き換えたものなら)フェイスとして利用可能です。
ただし、iniファイル以外はフェイスセレクタ(フェイスの選択ウィンドウ)上には表示されないので
単体で使用するのは不可能です。
使用する場合は特定のコマンドを利用しフェイスの切り替えを行うか
サブウィンドウとして呼び出す必要があります。

(通常とは別モードのフェイスやサブウィンドウとして使うフェイスなどは
フェイスセレクタに表示されないように拡張子を変更しておくといいでしょう。)

画像ファイル

BMP / PNG / JPEG / GIF / TIFF / EMF ファイル
※透過領域つき(αチャンネル)のPNG / GIF画像はそのまま透過表示されます。
   また、画像の透過領域に応じて自動的に当たり判定の領域が作成されます。
   (不透明部分はクリック可能、透明部分は無反応。
     クリックに反応する範囲はキー設定で変更することも出来ます。)

カーソルファイル(*.cur 形式)

特定のキーを設定することにより、
クリック可能なアイテムをマウスオーバー/クリックしたときに表示するカーソルを
アイテムごとに変更することが出来ます。
このときに使用するカーソルファイルです。
外部のカーソルファイルを直接指定する以外にも、
Windowsで使用中のカーソルから選ぶことも出来ます。
カーソル指定を省略した場合は、クリック可能領域は指カーソルになります。
クリックできないその他の領域全てはデフォルトの矢印カーソルのままになっています。

なお、フェイスに使用する各ファイルは
iniファイルがある位置と別のフォルダに置いてあっても問題ありません。
その場合はファイル名に指定する部分にフォルダ名も含めて記述してください。
(書き方は下の項目で説明しています)



iniファイルの書き方

uLilithのフェイス定義ファイルは、
一般的なiniファイルと同じように書いていけば問題ありませんが、いくつか注意点があります。

フィールド名について

基本的にはフィールド名は半角英数字であれば何を使ってもかまいませんが、

  • 同じフィールド名は2つ以上は使えない
    (同じフィールド名が複数ある場合はファイル先頭から数えて最初の1つだけが認識される)
  • 使用するプラグインによっては、
    特定のフィールド名を使ったアイテムを記述しなければならないものもある

というルールがあります。
また、記号が入ったフィールド名でも動作は可能ですが、
一部のキーやコマンドのパラメータで
その(記号を含めた名前の)フィールドを含めて複数指定するときに
上手く動作しない可能性もあるらしいので注意が必要です。

なお、uLilithでは旧Lilith(Ver.0.9系)と違い、
例えば[Play]フィールドが再生ボタンになるなど、特定のフィールド名をつけたからといって
自動的にそのフィールド名が示すスイッチなどになる、という機能はuLilithにはありません。
再生ボタンにするには「再生する」コマンド(Play)をCommandキーで指定
(フィールド内に、Command = Playの1行を記述)する必要があります。
(旧Lilithでの「ユーザ定義アイテム(Category = UserItem指定)」で
   CommandIDを直接指定してスイッチ類を作っていくのと同じようなやりかたになります。)


キーの書き方

キー行の「=」の両端は半角スペースは空けても空けなくてもどちらでも同じように動作します。
つまり、
PosX=0
PosX = 0
も同じものとして認識されます。
スペースは2つ置いても問題ないようですが、
スペースを入れる際は全角スペースと間違えないようにしてください。

キーの値に文字列を指定する場合、半角の二重引用符 " " で囲んでも囲まなくても同じように動作します。
TipHint = 再生
TipHint = "再生"
は同じものとして認識されます。
途中に空白を含んだ文字列を指定する場合は " " で囲むようにするといいでしょう。

複数の項目の指定

キーやコマンドのパラメータで複数の項目を指定する場合、
それぞれの項目を半角カンマ・スペースで区切ってください。
例:FontStyleというキーに「Bold」と「Italic」を指定する
FontStyle = Bold, Italic

ファイル名の指定

画像ファイルなどに別フォルダのファイルを使用する場合は、
パスを\(半角\マーク・バックスラッシュ)か/(半角スラッシュ)で区切ってください。
以下の書式のどれでも同じように認識されます。
(「相対パス」で他のフォルダのファイルを指定します。)

例えば、このようなフォルダ構成のとき、
例1:「face1フォルダ」のiniファイルで、説明書ドキュメントに
        同じ「face1フォルダ」の中にある「readme.txt」を使用する場合
DocumentFile = .\readme.txt
DocumentFile = readme.txt

例2:「face1フォルダ」のiniファイルで、画像ファイルに「imgフォルダ」の中にある「play.png」を使用する場合
ImageFile = .\img\play.png
ImageFile = img\play.png
または
ImageFile = img/play.png

例3:「subフォルダ」のiniファイルで、画像ファイルに「imgフォルダ」の中にある「play.png」を使用する場合
ImageFile = ..\img\play.png
ImageFile = ../img/play.png

ただし、サブフェイスの指定など、
「ファイル名を含めた複数のパラメータを同時に指定する場合」は
\でないと上手く認識されないようです。
例:「PlaylistWindow」「subフォルダのplaylist.txt」「0」「200」とパラメータを指定する場合
CommandParam = PlaylistWindow, .\sub\playlist.txt, 0, 200

数値の指定

キーの値に指定する数値は、半角数字で記述してください。
(数値ではなく文字列として全角の数字を含めるのは問題ありません。)

色と透明度の指定

0xFFFFFFFF
というかたちで表します。
例:背景色の指定
BackgroundColor = 0xFFFFFFFF
0xのすぐ右の部分から数えて2桁ずつ、00(= 0)~FF(= 255)の16進数の数値で、
それぞれ「α(不透明度)」「Blue(青)」「Green(緑)」「Red(赤)」を示すABGR形式で記述します。
一般的なRGB形式とは色数値の順番が逆になるので記入の際にはご注意ください。
「α(不透明度)」はFFが不透明、00が完全透明になります。

例えば0xFFFFFFFFは白、0xFF000000は黒に、
0x80FF0000は半透明の(透明度128の)青色、
0x00000000は完全な透明状態になります。
色指定系のキーを省略した(キーを設定していない)ときは
基本的に0x00000000の扱いになることが多いです。

キーの記述順

各フィールドの中に記述するキーの順番は特に決まっていません。
例えば、
[Button1]
Category = DynamicImage
Type = StaticItem
ImageFile = ButtonA-1.png
PosX = 10
PosY = 30
BackgroundColor = 0xFFFF0000
Width = 50
Height = 60
Align = Center
上記のようなフィールドがあるとします。
このフィールド内であれば、キーの並びを変えても同じ内容のアイテムとして認識されます。
つまり、
[Button1]
ImageFile = ButtonA-1.png
BackgroundColor = 0xFFFF0000
Width = 50
Align = Center
Category = DynamicImage
PosY = 30
PosX = 10
Height = 60
Type = StaticItem
こう並べても同じものが出来上がります。
上であげた2つのフィールドはどちらも行の順番が違っていても内容は同じなので、
作成されるアイテムも同じものになります。
自分で見て分かりやすい順番に並び替えて記述していくといいでしょう。

ただし、記入ミスなどで同じキー(「=」の左側が同じ行)が2つ以上記述された場合は
そのキーが一番最初に書かれた行の設定が有効になります。



必須フィールド・キーについて

uLilithのフェイス定義ファイルには必須のフィールドやキーがいくつかあります。
詳しい説明は後のページで説明しますが、とりあえず覚えておく必要があるのは
  1. [Preference]フィールド全体
  2. [Preference]フィールド内のSignatureキー
  3. [Preference]フィールド内のNeedVersionキー
    (これは無くても表示はとりあえず可能ですが、
      フェイスを表示するたびにバージョン確認ウィンドウが出ます)
  4. (A)[Preference]フィールド内のCanvasWidthCanvasHeightキー
    (B)BackImageカテゴリを指定したフィールド
       の(A)・(B)どちらか片方
  5. [Preference]フィールド以外の)各フィールドのCategoryキー
の5つです。
他にも、各フィールドに指定したCategoryキーや使用するプラグインによっては
必須のキーがさらにいくつか出てきますが、
それに関しては後述の説明や仕様書を参照してください。

逆に言えば、必須のもの以外は記述しなくても問題はありません。
仕様書の中でキー個別に書かれている「省略された場合、~~になります」という
それぞれのデフォルトの設定になるだけで、
特にデフォルトの設定から変える必要が無い場合は記述しなくてもフェイスとしては認識されます。



作れるアイテムの制限

uLilithフェイスは基本的には一つのフェイスの中に
同じ機能のアイテムを複数配置することが出来ます。
例えば再生ボタンを複数置いたりタイトル表示を複数の位置に置くこともできます。

ただし、BackImageカテゴリのアイテム(背景画像用のアイテム)は
1フェイスに1つしか置けません。2つ目が出た時点でエラーになります。
また、PlayListカテゴリのアイテム(フェイス内のドッキングプレイリスト)は、
1フェイスに1つしか置けないうえに
右クリックメニューで表示するuLilith本体のデフォルトのプレイリストとも
同時に表示できません。
PlayListカテゴリのアイテムを配置したフェイスの表示中は
デフォルトのプレイリストは表示できなくなります。


uLilithフェイスの起動・終了・再読み込みについて

uLilithのiniファイルは、以下のタイミングで読み込みが開始・フェイスの使用が終了されます。

読み込みが開始されるタイミング

  • フェイスセレクタでそのフェイスを選んで表示したとき
  • (前回uLilithを閉じたときにそのフェイスを選んでおいて)uLilithを起動したとき
  • 最小化でタスクトレイに収納していた状態から元に戻したとき

フェイスの使用が終了されるタイミング

  • フェイスセレクタで別のフェイスに切り替えたとき
  • uLilithを閉じた(終了した)とき
  • 最小化でタスクトレイに収納したとき

このため、作成中のフェイスを表示しながらiniファイルの手直しなどを行う場合は
いちいちフェイスセレクタで別のフェイスに切り替えたりしなくても
「タスクトレイに最小化→元のサイズに戻す」でiniファイルの変更を反映させることができます。

また、フェイスの再読み込みはショートカットキーに割り当てることも出来ます。
以下のページを参照してください。
最終更新:2012年12月22日 17:04