当サイト(ブログ含む) のドメインを変更しました。2019/02 までは自動転送されますが、それ以降は旧ドメインではアクセスできなくなります
本ブログの新アドレスは blog.alphaziel.info となります
DNS 逆引きでホスト名が不明な IP ドレスはアクセス拒否するよう設定致しました。該当する方は DNS サーバー設定確認をお願いします。そもそも、既にこのページ自体が見れないから、この告知は意味を成しませんね (・ω<) てへぺろ
I changed the domain of this site (including blog). Until 2019/02 will be forwarded automatically, but after that it will be inaccessible in the old domain
The new address of this blog will be blog.alphaziel.info
We decided to deny IP dress whose host name is unknown by DNS reverse lookup. Please check the DNS server setting if applicable. In the first place, since this page itself can not be seen already, this announcement does not make sense (· ω <) Tohpeiro
Panels UI 0.14.12 のマニュアルメモです。公式マニュアルの体裁を維持しつつ Panels UI を使っている時にプレーンテキストファイルにメモとして残していたのを加えたものを加筆したモノなので公式マニュアルのローカライズ版ではありません
また Panels UI 0.14.12 を使いながら titleformat の実行結果やその時のコード、スクリーンショットなども掲載しています
なお、ここの blog の仕様上、投稿記事の容量に制限がある為、現在の所 2つの記事に分けて掲載しています。記事の続きの方にさらに続けて内容が書けるのでそちらの方に vol.2 の分を加えました。私のブログでは記事の続きを閲覧する為にクリックは必要なく、続けて表示される様にテンプレートを修正しています
※ 掲載されているスクリーンショットの内容は記事執筆者 zodiac の趣味、趣向を表すモノではありません
このリファレンスは Panels UI 特有の titleformat 機能と変数に関する情報です。ほとんどの情報が Panels UI 0.14.10 で導入された新しい構文を使用しています
色指定を異なった書式で指定します。各関数は BGR 16進数 の書式文字列を返します
パラメーター r には赤。g には緑。b には青 を 10進数表記の文字列で 0~255 の範囲内で指定します。RGB 形式でパラーメーターで指定された色を返します
$c(0,128,255)
$color(0,128,255)
パラメーター h には色相。s には彩度。l には輝度 を 10進数表記の文字列で指定します。HLS 形式でパラーメーターで指定された色を返します
$h(359,359,255)
色相、彩度、輝度で指定する値に統一性が見られない理由からなのか、指定する値の有効範囲に関する明示的な記述がありません。ただ、パラメーター h(色相) と s(彩度) は 0~359 が有効範囲の様です。無効な値を指定すると近似値を返す様です
パラメーター c には 16進数表記の文字列で指定します。RGB 16進数 形式でパラーメーターで指定された色を返します。HTML 記述の様に先頭の # (シャープ) は不要です
$hexcolor(00ff80)
パラメーター b の % を n% の色 a および (100-n) で色を返します
$blendcolor(10,10,5)
パラメーター n で指定されたシステムで定義されている色を返します。n は 0~30 の整数値を指定します。n の値の記述については msdn または下記テーブルを参照してください
値 | 意味 |
---|---|
21 | 3D オブジェクトの暗い影の色 |
15 | 3D オブジェクトの表面色と、ダイアログボックスの背景色 |
20 | 3D オブジェクトの最も明るい色(光源に面した辺) |
22 | 3D オブジェクトの明るい色(光源に面した辺) |
16 | 3D オブジェクトの影の色(光源に面していない辺) |
10 | アクティブウィンドウの境界の色 |
2 | アクティブウィンドウのタイトルバーの色 Windows98 と Windows2000: グラデーション効果が有効になっている場合、アクティブウィンドウのタイトルバーのグラデーションのうち、左端の色を指定します |
12 | マルチドキュメントインターフェイス(MDI) アプリケーションの背景色 |
1 | デスクトップの色 |
18 | プッシュボタンのテキストの色 |
9 | タイトルバー、サイズボックス、スクロールバーの矢印ボックス内のテキスト |
27 | Windows98, Windows2000: アクティブウィンドウのタイトルバーのグラデーションのうち、右端の色を指定します |
28 | Windows98 と Windows2000: 非アクティブウィンドウのタイトルバーのグラデーションのうち、右端の色を指定します |
17 | 淡色状態(無効状態) のテキストの色。現在のディスプレイドライバが純色(ベタ色) の淡色(灰色) をサポートしていない場合、この色は 0 に設定されます |
13 | コントロール内で選択されている項目の色 |
14 | コントロール内で選択されている項目のテキストの色 |
26 | ホットトラッキング項目の色 |
11 | 非アクティブウィンドウの境界の色 |
3 | 非アクティブウィンドウのタイトルバーのテキストの色 Windows98, Windows2000: グラデーション効果が有効になっている場合、非アクティブウィンドウのタイトルバーのグラデーションのうち、左端の色を指定します |
19 | 非アクティブウィンドウのタイトルバーのテキストの色 |
24 | ツールチップコントロールの背景色 |
23 | ツールチップコントロールのテキストの色 |
4 | メニューの背景色 |
7 | メニュー内のテキストの色 |
0 | スクロールバーの軸の色 |
5 | ウィンドウの背景色 |
6 | ウィンドウの枠の色 |
8 | ウィンドウ内のテキストの色 |
文字配置を全てリセットします。この関数は以下の例と同様です
$alignabs(0,0)$align(left,top)
$rectabs(0,0,0,0,$c(220,220,220),null)
$align(right,bottom)$textcolor(0-128-255)これは右下に表示される foobar2000
$alignabs()$textcolor(0-0-255)これは左上に表示される foobar2000
上記のサンプルコードでは 1行目では描画領域全体を塗りつぶし、2行目で右下に文字列を表示し、3行目にて $alignabs() で文字配置を全てリセットし、文字列表示を行っています
文字描画開始位置を指定します。パラメーター x には横座標、y には縦の座標を整数値、画素単位で指定します
パラメーター
$alignabs(,10)$textcolor(0-128-255)foobar2000
$alignabs(10,)$textcolor(255-0-128)foobar2000$textcolor(0-255-0)foobar2000
$alignabs(20,20)$textcolor(0-0-255)foobar2000
サンプルコードと実行結果の画像から解るようにパラメーターを省略すると 0 と解釈されるようです
文字列の描画を行う矩形を設定します
パラメーター
$alignabs(10, 10, $sub(%_width%,20), $sub(%_height%,20) )
$textcolor(0-128-255)1-foobar2000
$alignabs(10, 10, $sub(%_width%,20), $sub(%_height%,20), right, )
$textcolor(0-64-255)2-foobar2000
$alignabs(10, 10, $sub(%_width%,20), $sub(%_height%,20), , bottom )
$textcolor(0-0-255)3-foobar2000
$alignabs(10, 10, $sub(%_width%,20), $sub(%_height%,20), center, middle )
$textcolor(255-0-128)4-foobar2000
パラメーターを省略するには , (カンマ) を記述する必要があるようです。また w, h に 0 を指定すると、幅と高さが最大になるようです
水平および垂直方向の文字列の配置方法を指定します
パラメーター
$alignabs(0,0,0,0)$textcolor(0-128-255)
$align(,middle)foobar2000
$align(right,)foobar2000
パラメーターを省略するには , (カンマ) を記述する必要があるようです。2~3行目のコードの結果から解るようにそれぞれ left, top に設定されるようです
現在の行の高さパラメーター n を整数値、画素単位で指定します
$lineheight(18)
foobar2000$char(10)
こんにちわ$char(10)
$lineheight()
foobar2000$char(10)
こんにちわ$char(10)
パラメーターを省略したり、無効な値を指定するとリセットされるようです
現在の行の幅で表示しきれない文字列は次の行に折り返されます。$char(10) を出力することによってこの設定を解除できます
哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位
$char(10)
$char(10)
$wordwrap()哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位
表示しきれない文字列は末尾が ... (3つのピリオド) に置き換わります
パラメーター n で指定した分だけ整数値、画素単位にて字下げを行います
foo$tabx(20)bar$tabx(60)2000$char(10)
hello$tabx(20)world$tabx(60)!!$char(10)
パラーメーター n が画素単位だと言う事に注意。タブコード $char(9) を出力する訳ではない
現在の短径領域の幅を返します
$alignabs(10,10,$sub(%_width%,20),$sub(%_height%,20),left,top)
'%_width%' : $tabx(60)%_width%$char(10)
'$width()' : $tabx(60)$width()$char(10)
'%_height%' : $tabx(60)%_height%$char(10)
'$height()' : $tabx(60)$height()
右の実行結果画像からも解るように機能していないようです。戻り値が %_width% よりも小さい値が返ってくるはずなんですが…
現在の短径領域の高さを返します
サンプルコードと実行結果は $width() を参照してください
これも、どうやら機能していないようです。戻り値が %_height% よりも小さい値が返ってくるはずなんですが…
フォントの外観を設定します
パラメーター
bold と thin オプションは排他的なものなので同時に指定すると表示がおかしくなります
注釈
Panels UI の設定画面の Effects ボタンを押す事によって、上記オプションをプレビューで確認しながら GUI で操作できるプレビューダイアログが表示されます。このダイアログ最下部に確定した $font() 関数のパラメーターが記述されているので、これをクリップボードにコピーし、元の Panels UI の設定ダイアログ上にペーストして使用できます
$font(Tahoma,30,bold,italic,strikeout,underline)札幌は$char(10)
$font(Tahoma,30,textalpha,128,alpha,128,
radius,2,iterations,1,offset,5,glow,3,effectcolor,$c(0,0,255))雪が積もってる
上記のコードを実行すると右の画像の様な結果になります
文字にパラメーター n を整数値、画素単位で指定された分加えます。$addcharspace() は各文字の間を n 画素分追加、削除します
foobar2000だもん$char(10)
$addcharspace(5)foobar2000だもん$char(10)
foobar2000だもん$char(10)
$addcharspace(-1)foobar2000だもん$char(10)
$addcharspace(0)foobar2000だもん
設定を解除するには明示的にパラメーターに 0 を指定する必要があるようです。追加、削除される間隔は文字の右側です
文字をパラメーター n を整数値で指定された幅に設定します
foobar2000だもん$char(10)
$fixedwidth(5)foobar2000だもん$char(10)
$fixedwidth(-1)foobar2000だもん$char(10)
$fixedwidth(10)foobar2000だもん$char(10)
$fixedwidth(0)foobar2000だもん
設定を解除するには明示的にパラメーターに 0 を指定する必要があるようです
文字の色を BGR 16進数文字列パラメーター c によって設定します
サンプル
例1: 下記の例では文字が赤くなります
$textcolor($hexcolor(ff0000))
例2: 下記の例でも文字が赤くなります
$textcolor(255,0,0)
と、公式マニュアルでは記述されていますが、上記の2つの例は $newsyntax() 関数で新書式対応にしていないと動作しません。旧書式で上記の例と同じようにするには以下の様に記述します
$textcolor(255-0-0)
$textcolor($hexcolor(ff0000))foobar2000だもん$char(10)
$textcolor(255,0,128)foobar2000だもん$char(10)
$newsyntax()
$textcolor($hexcolor(ff0000))foobar2000だもん$char(10)
$textcolor(255,0,128)foobar2000だもん
$newsyntax() を行っていないと新書式では動作しないので注意。$newsyntax() を行いたくない場合は旧書式でパラメーターを記述する必要があります
パラメーター text のキャピタライズによってフォントを切り替えます。その際、同時に $textcolor() 等で色指定も可能です
$smallcaps(
$font(Tahoma,14,bold)$textcolor(0-128-255),
$font(Tahoma,12)$textcolor(255-0-128),
fooBar2000$char(10)
)
$smallcaps(
$font(Tahoma,14,bold)$textcolor(0-128-255),
$font(Tahoma,12)$textcolor(255-0-128),
FooフーバーBar
)
サンプルコードの実行結果からも解るようにマルチバイト文字は小文字扱いの様です。また、パラメーター text は大文字に変換されるようです
この関数でサポートされる画像ファイルフォーマットは PNG, BMP, GIF, JPEG, ICO の 5種類
パラメーター
n | 意味 |
---|---|
1 | 時計廻りに 90°回転 |
2 | 時計廻りに 180°回転 |
3 | 時計廻りに 270°回転 |
4 | 左右反転 |
5 | 時計廻りに 90°回転し、左右反転 |
6 | 上下反転 |
7 | 時計廻りに 90°回転し、上下反転 |
n/a | 左右 反転 | 上下 反転 | 左右 上下 反転 | n/a |
時計廻りに 90°回転 | 5 | 7 | 3 | 1 |
時計廻りに 180°回転 | 6 | 4 | 0 | 2 |
時計廻りに 270°回転 | 7 | 5 | 1 | 3 |
n/a | 4 | 6 | 2 | 0 |
右の基準となる画像を元にパラメーターの関係を表したサンプルコードと結果画像を以下に示します
resize,w,h パラメーターと clip,x,y,w,h パラメーターとの関係
$imageabs(0,$sub(%_height%,225),/i\imageabs_sample.png)
$imageabs($sub(%_width%,150),0,/i\imageabs_sample.png,resize,150,113)
$imageabs(10,10,/i\imageabs_sample.png,clip,55,84,33,28,resize,150,113)
rotateflip,n パラメーターと clip,x,y,w,h パラメーターとの関係
$imageabs(0,0,/i\imageabs_sample.png,rotateflip,1)
$imageabs($sub(%_height%,70),0,/i\imageabs_sample.png,
rotateflip,1,clip,130,200,70,70)
resize,w,h パラメーターによる拡大処理
$imageabs(-90,0,/i\imageabs_sample.png,nokeepaspect,resize,400,300)
元画像より大きなサイズでリサイズを行うには nokeepaspect を指定しなければなりません
以上の結果から $imageabs() における同時指定パラメーターの優先順位は以下の順です
矩形を描画します。元の関数名は $drawrect() です
パラメーター
$rectabs(0,0,%_width%,%_height%,$c(0,128,255),null)
$imageabs(0,25,/i\10028807.jpg,resize,200,150)
$rectabs(30,30,$sub(%_width%,60),$sub(%_height%,60),null,$c(0,0,255))
$rectabs(50,50,$sub(%_width%,100),$sub(%_height%,100),
$c(255,128,255),$c(255,128,255),alpha,128)
Persistent Variable (略して PVARS) これらの変数の定義、取得関数は foobar2000 が起動している間、値を保つ変数です。Panels UI 自身、Track Display, Single Column Playlist, Library Filter の titleformat 中で共通して使用できます
コード | 結果 |
$getpvar(foo,bar) | [unknown pvar] |
$setpvar(foo,bar) | |
$getpvar(foo) | bar |
$getpvar(Foo) | bar |
$setpvar(foo,2000) | |
$getpvar(foo) | 2000 |
foobar2000 の変数操作関数 $put(), $puts(), $get() を使用して PVARS にアクセスすることができない事に注意
最後にパラメーター name に格納された PVARS の値を返します。指定された変数が未定義であった場合 '[unknown pvar]' 文字列を返します
$select( $getpvar(display),
シナリオ1,
シナリオ2,
シナリオ3
)
display 変数の値がそれぞれ 1, 2, 3 であった場合、それぞれの値に対応して シナリオ1、シナリオ2、シナリオ3 を実行します
パラメーター name で指定された変数に value を格納します
$setpvar(display,2)
PVARS 変数名 display に 値 2 を格納します
// Background
$if($strcmp($getpvar(display),'[unknown pvar]'),
$setpvar(display,1)
)
文字列パラメーター s の高さの画素数を返します
文字列パラメーター s の幅の画素数を返します
expression を評価してその結果を返します。整数値ではないオペランドが指定された場合は 0 に変換されます。エラーの場合 -1 を返します
パラメーター
演算子 | 意味 | 優先順位 |
{ } | { } 内の式を結合 | 1 |
* | 乗算 | 2 |
/ | 除算 | 2 |
@ | 剰余 | 2 |
+ | 加算 | 3 |
- | 減算 | 3 |
$eval(100/4@7+{5+3}*3)
上記の結果は 28 となります。式の結合規則は左から右の様です
パラメーター file で指定されたファイルが存在すれば 真(true) を、そうでなければ 偽(false) を返します
$if($fileexists(%foobar_path%foobar2000.exe),'あるよ','ないね')
この関数は戻り値が 真/偽(boolean) を返すので $if() などを使う必要があります。file にはワイルドカード (*, ?) も使用できます
パラメーター name で指定されたフォントが存在すれば 真(true) を、そうでなければ 偽(false) を返します
$if($fontexists(MS ゴシック),'ある','ない')
この関数は戻り値が 真/偽(boolean) を返すので $if() などを使う必要があります。大文字、小文字の区別はしていないようですが、それ以外は厳密にチェックしている様です
バージョン 0.14.10 以前の推奨されない関数、構文の処理をパスします。その結果、新しい関数と構文の完全な利用を可能にします。推奨されない関数、構文は認識されなくなります
注釈
// Global 再描画セクションの中でこの関数を使用しなければなりません
現在、この関数を使用して影響を受ける関数を以下に示します
下記の例は $newsyntax() を使用しなかった場合の記述例です。$textcolor(c) は旧書式しか受け付けません
$textcolor(0-128-255)
$newsyntax() を使用した場合には以下の様に記述しなければなりません
$textcolor(0,128,255)
上記、5つの関数は下記で記述している動作の様に受ける影響が同じです
$alignabs(0,0,%_width%,%_height%,left,top)
$rectabs(0,0,%_width%,%_height%,null,$c(0,128,255))
$imageabs(50,50,/i\10028807.jpg,resize,100,75)
$rectabs(50,50,100,75,null,$c(255,0,128))
$alignabs(10,10,$eval(%_width%-20),$eval(%_height%-20),right,bottom)
$rectabs(0,0,$eval(%_width%-20),$eval(%_height%-20),null,$c(0,0,255))
$imageabs(50,50,/i\10028807.jpg,resize,100,75)
$rectabs(50,50,100,75,null,$c(255,128,0))
$font(Tahoma,20)$textcolor(0,64,220)sample
この例からも解るように $newsyntax() を使用すると、$alignabs(x,y,w,h,[h-align,v-align]), $imageabs(x,y,filename[,options]), $rectabs(x,y,w,h[,brush color,pen color,options]), $imagebutton(x,y,image,hover image,command[,options]), $textbutton(x,y,w,h,text,hover text,command[,options]) の 5つの関数のパラメーター x,y はパネル全体からの座標ではなく、最後に使用した $alignabs(x,y,w,h,[h-align,v-align]) からの相対座標となります。サンプルコードの 7~9行目の座標パラメーターでそれが解ります
現在のパネルの高さが画素単位で格納されています
現在のパネルの幅が画素単位で格納されています
foobar2000 がインストールされているディレクトリが完全なパス名で格納されています。末尾に \ (バックスラッシュまたは円記号)が付いています
$glass() 関数がサポートされていれば 真(true) を、そうでなければ 偽(false) が格納されいます
現在のプレイリスト名が格納されています
現在のソートグループのプリセット名が格納されています
ソートグループプリセット数が格納されています
トラックディスプレイ (Track Display) だけで使用できる titleformat です。User Interface Module を Panels UI にした場合の foobar2000 メインウィンドウはこのトラックディスプレイとなります
titleformat スクリプトを効率的に動作させる為に再描画のタイミングを各セクションによって分類しています。それぞれのセクションはトラックディスプレイパネルに一度だけ宣言します。セクションの開始を表す構文は厳密に評価されます
このセクションでは変数の定義を行うのに最適です
パネルの背景画像、塗りつぶしなど一度だけ実行するようなコードを定義するのに最適です
トラックが動的に変化する場合にこのセクションにコードを定義するのが最適です。%album%, %artist% またはボタンなど
秒単位で動的に変化する値を再描画するのにこのセクションにコードを定義するのが最適です。%playback_time% やシークバーなど
// Global
$if($meta_test(album artist),
$puts(album_is_va,1)
)
$puts(fontStyle,Calibri,20,bold)
// Background
$imageabs(0,0,/images\background.png)
// PerTrack
Current song information: %artist% - %title%
$imagebutton(20,20,
/images\play.png,
/images\play_hover.png,
'Play or Pause')
// PerSecond
$font($get(fontStyle))
%playback_time%
ボタンは様々な機能を実行させる事ができるクリック可能なホットスポットを生成します。これらは masstagger スクリプト、metatag の値、メインメニューコマンド、コンテキストメニューコマンドなどを含む様々な foobar2000 の操作、変数の操作、ボタン特定のコマンド実行、および操作を含んでいます。ボタン関係の関数は // PerTrack 再描画セクションに定義しなければなりません
イメージベースのボタンを描画します
パラメーター
$imagebutton(5,10,
/images\rating_star.png, /images\rating_star_hover.png,
TAG:SET:rating:5,
tooltip,,
hotspot,0,0,25,25,
)
座標 x,y に 5,10 を指定し、通常表示とマウスカーソルを重ねた時の表示イメージファイル名 image,hover image を指定。ボタンが押された時の動作 command は rating というタグに値 5 を設定するように指定。ツールチップテキスト tooltip,text は非表示にし、クリック可能な領域 hotspot,x,y,w,h を 0,0,25,25 に指定
$imagebutton(0,0,
/images\resize.png, /images\resize_hover.png,
WINDOWSIZE:400:500:LEFT:TOP,
tooltip,'Resize window'
)
座標 x,y に 0,0 を指定し、通常表示とマウスカーソルを重ねた時の表示イメージファイル名 image,hover image を指定。ボタンが押された時の動作 command は ウィンドウサイズ WINDOWSIZE:width:height[:h-anchor:v-anchor] を左上を基点にして幅400 高さ400 にリサイズするように指定。ツールチップテキスト tooltip に Resize Window というテキスト text を指定しています
テキスト(文字列) ベースのボタンを描画します。$textbutton(x,y,w,h,text,hover text,command[,options]) は $imagebutton() と同じコマンドとオプションを使用します。コマンドとオプションパラメーターについては $imagebutton() を参照してください
パラメーター
$textbutton(0,0,150,14,
Click for preferences,
$textcolor(0-0-255)Click for preferences,
Preferences
)
座標 x,y を 0,0 を指定し、幅、高さはそれぞれ w,h 150, 14 に指定。通常表示テキスト text を Click for preferences に指定し、マウスカーソルを重ねた時のテキスト hover text を青色で表示するように指定。ボタンが押された時の動作 command は foobar2000 の設定画面を表示するように指定しています
Windows Vista Aero Glass のマージンを広げます。left, top, right, bottom が画素単位で指定する整数値パラメーターです。例えば $glass(0,0,0,100) とすると、下部の Vista Aero Glass マージンを広げます
パラメーター s で指定された文字列をメインウィンドウタイトルに設定します
パラメーター s で指定された文字列をタスクトレイアイコンテキストに設定します
foobar2000 ウィンドウスタイルを設定します。$windowstyle(option[,option]) は // Background 再描画セクションに記述しなければなりません
パラメーター
現在のパネルにコンポーネント(パネルとも言う) を追加します。パネルには Track Display の様に互いに重ね合わせる事が可能です。特定のパネルは常に再描画されるものがあります
パラメーター
$panel(MyPanel,Peakmeter,0,0,100,500)
と、上記の様に公式マニュアルには記載されていますが、これでは機能しないので下記の様にする必要があります
$panel(MyPanel,Peakmeter,0,0,100,500,)
パラメーター n で指定されたソートグループプリセット名称を返します
Track Display での現在のトラック情報に関する現在のモードが格納されています。格納されている文字列は Now Playing か Follow cursor です
"%_trackinfo_mode%"$char(10)
"%_trackinfo_notrack%"$char(10)
Panels UI 0.14.12 で Track Display のモードを Now Playing の状態で、再生している曲を停止すると変数の後ろにゴミ(?) が付いているのが解ると思います
Track Display のモードが Now Playing の場合に、トラック情報が格納されていない場合には 真(true) を、そうでなければ 偽(false) が格納されています
$if($strcmp($left(%_trackinfo_mode%,3),'Now'),
'%'_trackinfo_mode'%' is Now playing,
'%'_trackinfo_mode'%' is Follow cusor
)
$char(10)
$if($strcmp($left(%_trackinfo_notrack%,1),1),
'%'_trackinfo_notrack'%' is true,
'%'_trackinfo_notrack'%' is false
)
これらの変数と関数は Single Column Playlist 特有の titleformat です
グループにおける field の合計値を返します
グループにおける field の合計値を返します
以上で Panels UI Commands reference は終了です。できる限り正確な情報を掲載したつもりでしたが、如何でしたでしょうか?
日付 | 内容 |
2008/07/03 (木) | スタイルシートの改修に沿って修正 |
2008/02/03 (日) | 章番号が思いっきり間違ってました…('A`) |
2008/02/01 (金) | なんかリンクのパラグラフ指定がまぬけなのを修正('A`) |
foobar2000 を 0.9.5 にバージョンアップしました。バージョンアップは 0.9.4.5 をインストールしていたディレクトリをバックアップして、上書きインストールで完了。致命的な問題もなく起動、動作を確認
で、ついでに以前から行おうと思っていた Panels UI を 0.13.8 から 0.14.12 へのバージョンアップも行いました。0.13.8 と 0.14.12 ではマニュアルが別に用意されているぐらいかなり変更がされているので、0.14.12 をベースに試しに作ってみました。0.13.8 での関数名、パラメーター書式は一応使えますが、一部で動作がオカシイ所があるかもしれないので、関数名、パラメーター書式を 0.14.12 のマニュアルを参照しつつ、作っていきました
作っていて気付いた 0.13.8 との相違点
スクリーンショットの画像は新しくした foobar2000 と Panels UI で試しに作った UI です。インストール、設定方法などは中の HTML 形式の readme を読んでください
こっそりと更新しました…
※曲目や背景画像の内容は Panels UI 0.14.12 を試す為のリソースであり、foobar2000 や Panels UI 等と関係するものではありません('A`)
google 大先生のアドセンスをフリースペースに入れていたんですが、一向に表示されない問題はずっと放置してました。
どうやら、アドセンスのユニットの設定が間違っていたみたいです…設定をし直し、無事に広告が表示するようになりました
有料プランなので、クリックしてくれると嬉しいです…('A`)
タイトルの通り、コンパクトデジタルカメラを買いました。選択のポイントは 3~4万円と言う事だけで選びました。…が!この価格帯でもかなりのメーカー、機種があり選ぶのに時間がかかりそうです。こういった理由により今まで買えずにいました。ここからはメーカーを絞って機種を選定しました。ポイントはカメラ専門メーカーという事。つまり、カメラ以外にも様々なデジタル家電を販売しているメーカーは外し、ほぼカメラだけを販売しているメーカーに絞るとこの機種になりました。最終的に購入したのは NIKON COOLPIX P5100 です
買った日に帰宅し、暫くしてからカメラを使ってみようと思い、説明書を読んだりしてバッテリーが充電されるのを待ち、充電されてからカメラにバッテリーを装着して説明書の通りに初期設定をしようと思い電源を入れましたが、ほとんどのボタンが効かないという初期不良品と言うことが判明。翌日、販売店に行き初期不良交換をしました。万が一という事もあるのでその場で初期設定を行い、ついでに液晶保護プロテクターも購入
正直、これが初めてのコンパクトデジタルカメラな訳なんですが、私にとっては色々機能があり過ぎて、使いこなすには時間がかかりそうです。ただ、唯一の不満点としてはオートフォーカスがチョットアレな事だけです
一応、幾つかの撮影した画像を載せておきます。撮影データなどは画像をクリックした大きい画像の Exif 情報を参照すれば解ると思います
そろそろ、後継機が出るようですね…('A`)
日付 | 内容 |
2008/07/05 (土) | サムネイル画像を変更 |
2008/01/31 (木) | レイアウトを修正 |
PHP で使用する Pear のセットアップ方法とパッケージのインストール方法のメモです。Pear は PECL と違ってソースコードレベルで提供されるライブラリパッケージです。パフォーマンスの点では PECL に譲りますが、インストールするパッケージは PHP ソースコードなので自分で保守できる事が特徴です
Pear のセットアップを行います。Windows のコマンドプロンプトを起動し PHP をインストールしたディレクトリに移動します
>cd /d c:¥php
PHP をインストールしたディレクトリに go-pear.bat というバッチファイルがあるのでこのコマンドスクリプトを実行します
>go-pear
go-pear を実行すると、以下の様にインストール方法に関する情報を入力するようにプロンプトが表示されます
>go-pear
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : enterデフォルトの system でいいので enter で次に進みますBelow is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : C:¥php
2. Temporary directory for processing : C:¥php¥tmp
3. Temporary directory for downloads : C:¥php¥tmp
4. Binaries directory : C:¥php
5. PHP code directory ($php_dir) : C:¥php¥pear
6. Documentation directory : C:¥php¥pear¥docs
7. Data directory : C:¥php¥pear¥data
8. Tests directory : C:¥php¥pear¥tests
9. Name of configuration file : C:¥php¥pear.ini
10. Path to CLI php.exe : C:¥php
1-10, 'all' or Enter to continue: enter
1 から 10 までの Pear で使用するディレクトリを指定します。そのままでよければ enter でセットアップを開始します。ディレクトリを変更したい場合は変更したい対応する番号を入力します。例えば 5番の PHP code directory を変更したい場合は、5 enter とここで入力しますBeginning install...
Configuration written to C:¥php¥pear.ini...
Initialized registry...
Preparing to install...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.2.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.3.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.6.1.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar...
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
install ok: channel://pear.php.net/Archive_Tar-1.3.2
install ok: channel://pear.php.net/Console_Getopt-1.2.3
install ok: channel://pear.php.net/Structures_Graph-1.0.2
install ok: channel://pear.php.net/PEAR-1.6.1
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
** WARNING! Old version found at C:¥php, please remove it or be sure to use the new c:¥php¥pear.bat command
go-pear を何回も行ったりするとこの警告メッセージが表示されますが、この場合は特に問題ないのできにしなくてよいThe 'pear' command is now at your service at c:¥php¥pear.bat
* WINDOWS ENVIRONMENT VARIABLES *
For convenience, a REG file is available under C:¥php¥PEAR_ENV.reg .
This file creates ENV variables for the current user.Double-click this file to add it to the current user registry.
との、事なので C:¥php¥PEAR_ENV.reg をエクスプローラーなどからダブルクリックしてシステムに反映させます。行っていることは環境変数の設定です続行するには何かキーを押してください . . .enter
>
以上で Pear のパッケージをインストール前準備ができました。次は、実際にパッケージをインストールしてみましょう。取り敢えず、pear コマンドとタイプしてみて pear が動作するか試します
>pear
Commands:build Build an Extension From C Source bundle Unpacks a Pecl Package channel-add Add a Channel channel-alias Specify an alias to a channel name channel-delete Remove a Channel From the List channel-discover Initialize a Channel from its server channel-info Retrieve Information on a Channel channel-update Update an Existing Channel clear-cache Clear Web Services Cache config-create Create a Default configuration file config-get Show One Setting config-help Show Information About Setting config-set Change Setting config-show Show All Settings convert Convert a package.xml 1.0 to package.xml 2.0 format cvsdiff Run a "cvs diff" for all files in a package cvstag Set CVS Release Tag download Download Package download-all Downloads each available package from the default channel info Display information about a package install Install Package list List Installed Packages In The Default Channel list-all List All Packages list-channels List Available Channels list-files List Files In Installed Package list-upgrades List Available Upgrades login Connects and authenticates to remote server logout Logs out from the remote server makerpm Builds an RPM spec file from a PEAR package package Build Package package-dependencies Show package dependencies package-validate Validate Package Consistency pickle Build PECL Package remote-info Information About Remote Packages remote-list List Remote Packages run-scripts Run Post-Install Scripts bundled with a package run-tests Run Regression Tests search Search remote package database shell-test Shell Script Test sign Sign a package distribution file uninstall Un-install Package update-channels Update the Channel List upgrade Upgrade Package upgrade-all Upgrade All PackagesUsage: pear [options] command [command-options] <parameters>
Type "pear help options" to list all options.
Type "pear help shortcuts" to list all command shortcuts.
Type "pear help <command>" to get the help for the specified command.
もっともメジャーなパッケージ HTTP_Request パッケージをインストールしてみましょう
>pear install HTTP_Request
WARNING: "pear/Net_URL" is deprecated in favor of "pear/Net_URL2"
downloading HTTP_Request-1.4.2.tgz ...
Starting to download HTTP_Request-1.4.2.tgz (16,398 bytes)
......done: 16,398 bytes
install ok: channel://pear.php.net/HTTP_Request-1.4.2>
この警告メッセージは Net_URL パッケージが Net_URL2 に取って代わられました。と表示される(2007/12/23 現在) と思いますが、Net_URL のサイトを参照するかぎり、バグとセキュリティフィックスのために維持されているようなので、このままでも構いません。が、一応、stable バージョン以外のパッケージのインストール方法を示す為にNet_URL2 (2007/12/23 現在βバージョンです) もインストールしてみましょう
>pear install Net_URL2
Failed to download pear/Net_URL2 within preferred state "stable", latest release is version 0.1.0, stability "beta", use "channel://pear.php.net/Net_URL2-0.1.0" to install
Cannot initialize 'channel://pear.php.net/Net_URL2', invalid or missing package file
Package "channel://pear.php.net/Net_URL2" is not valid
install failed>
どうやら、stable バージョンではないパッケージをインストールすることはパッケージ名を指定してできないので、チャンネル名を指定してインストールしろとの事なので、その様にします
>pear install channel://pear.php.net/Net_URL2-0.1.0
downloading Net_URL2-0.1.0.tgz ...
Starting to download Net_URL2-0.1.0.tgz (5,358 bytes)
.....done: 5,358 bytes
install ok: channel://pear.php.net/Net_URL2-0.1.0
>
Net_URL2 パッケージのインストールが成功しました。インストールされているパッケージの一覧を見てみます
>pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET: ========================================= PACKAGE VERSION STATE Archive_Tar 1.3.2 stable Console_Color 1.0.2 stable Console_Getopt 1.2.3 stable HTTP 1.4.0 stable HTTP_Request 1.4.2 stable Net_DNS 1.0.0 stable Net_Socket 1.0.8 stable Net_URL 1.0.15 stable Net_URL2 0.1.0 beta PEAR 1.6.1 stable Services_DynDNS 0.3.1 alpha Structures_Graph 1.0.2 stable >
以上で大まかな Pear のセットアップとパッケージのインストール方法は終了です。実際に Pear のパッケージを使用した PHP のサンプルなども記事にしたいと思っています