帰ってきた「foobar2000」忘備録、Panel Stack Splitter中盤戦。

「ふくしゅう」と打って変換したら、何故か真っ先に「復讐」がでた。Google日本語文字入力……おい、おいぃぃぃ……。
始める前に前回のカスタマイズでもお世話になり、今回も各種ボタンから曲情報の表示まで、幅広く「splitter Settings」の設定を参考にさせてもらった、

Panel Stack Splitter | ナメサメカリンチョ

こちらのサイトさんに多大なる感謝を。いつもお世話になってます。そしてこれからもお世話になると思います。珈琲を供えねば……!

正直、画像ボタン配置に関しては、

「foobar2000」忘備録、Panel Stack Splitter編その2。 - へっぽこデジタル生活

こちらで殆ど説明しているので、またもや復習的な内容となっております。「そんなの余裕」な人はササッと読み飛ばして下さいな。

ではでは、画像ボタンを用意して下さい。お持ちでない方は手に入れるか、自分で作るなりしましょう。まぁ最悪、テキストボタンで代用はできます。

ベースのPanel Stack Splitterの上で右クリック、splitter Settingsを選んで設定画面を出して下さい。「script」タブを選び、「PerTrack」の部分を表示します。この時点では何も書いてませんが、ここでボタンや文字の表示を指定していきます。


まずは変数の宣言をします。とりあえず画像ボタン表示に必要なのは

$puts(Bx,20) // ボタン 1 つ目の開始位置の X 座標
$puts(By,5) // ボタン 1 つ目の開始位置の Y 座標
$puts(Bp,33) // ボタン 1 つあたりの幅 [余白含む]

// ボタン画像フォルダのパス
$puts(btn_path,C:\Program Files\foobar2000\ban2015\)

です。

それと以前、「起動させるとボタンが反応しているなぁ……」という疑問に対し、回避策を頂いたので、それもしっかり入れておきます。

//ボタン
$textbutton(,,,,,,,,)


忘れずに入れよう!

変数は、

$puts(name,value)

で変数を宣言し、

$get(name)

で変数を利用します。

ボタン表示に使うのは、Panel Stack Splitterのボタン関数、

$imagebutton(x,y,w,h,path,mover_path,command,options1,options2)

です。これを利用して、

$imagebutton($add($mul($get(Bp),22),$get(Bx)),$add($mul($get(Bp),0),$get(By)),,,
$get(btn_path)owari01.png,
$get(btn_path)owari02.png,
COMMAND:'File/Exit') // foobar2000 を閉じるボタン

というように、ボタンを表示していきます。これは完成画面の右上にある、バツ印のボタンを表示する構文です。

さて、上記を例に復習していきしましょう。

xの部分は「$add($mul($get(Bp),22),$get(Bx))」です。

$add(a,b)
aにbを足す

$mul(a,b)
aにbを掛ける

つまり「$mul($get(Bp),22)に$get(Bx)を足す」、「$mul($get(Bp),22)は「ボタンの幅×22」、「二十二個分の横幅」であり、そこにxの最初の位置を足しているわけです。Yの部分を指す「$add($mul($get(Bp),0),$get(By)」も理屈は同じ。Yは最初の位置のままなので、「$mul($get(Bp),0)」は「ボタンの幅は0個分(なし)」で、$get(Bp)のみの数値が入力されていると分かります。

この構文では、xやYの位置を「ボタン○個分の長さ(高さ)+x(Y)の最初の位置」で指定しているので、○個分の数値を変更するだけで、ボタンの縦揃えも横揃えも簡単にできます。つまり、

$imagebutton($add($mul($get(Bp),22),$get(Bx)),$add($mul($get(Bp),0),$get(By)),,,

では、「22」や「0」の数値を弄ればいいわけです。

そしてボタン画像を使用するので、wやhの数値は省略できます。

path(ボタン画像を指定)
mover_path(マウスオーバー次の画像を指定)

という画像の指定では、画像が入ったフォルダを「$get(btn_path)」という変数で統一することによって、簡略化しています。これなら例え画像が入っているフォルダを移動したり名前を変えたりしても、「$puts(btn_path,C:\Program Files\foobar2000\ban2015\)」の部分を変えればいいだけなので、全てのボタン画像のpathとmover_pathをいちいち書き換える手間が省けます。

commandについては、「PerTrack」設定画面の下にlistボタンがありますが、その横にある「Function」というセレクトボックスがありますよね? このセレクトボックスを「Menu command」にして、listボタンを押してみて下さい。Panel Stack Splitterで利用できるコマンドが一覧表示され、選んだらPerTrackにそのコマンドが入力されます。

注意すべき点は、'File/Exit'のように「'」でコマンドを囲むこと。うっかり見落としがちなので、「'」の有無は常にチェックです。

options1とoptions2は、利用していないので省略です。使いたい方は、コンポーネントの入ったフォルダの中にある、テキストファイルを参照して下さい。

ボタン用の構文は、基本殆どが同じです。なので基本はコピペして、ボタン位置の数値、ボタンの画像、コマンドの内容を書き換えればいいです。

ちなみに今回のカスタマイズで利用したボタンの内容は、

上段

・設定画面を開く ・Mp3tagを起動 ・プロパティを開く
・ソフトの終了  ・プレイリストクリア

下段
・一つ前へ ・一時停止 ・再生 ・停止 ・一つ後へ ・イコライザー

という感じ。基本的に前回で使ったコマンドばかりです。本当はウィンドウの最小化ボタンも入れようと思ったんですが、UI Hacksをインストールしたらコマンドが使えなくなっ……いや、まぁいいんですが。

説明すべきところといえば、「Mp3tagを起動」のボタンでしょうか?

Mp3tagはmp3のタグを編集するソフトです。タグを編集したくなった時、いちいちMp3tagを立ち上げて、編集したいファイルをドロップして……という手間が、このボタンでなくなります。何しろ「ファイルを選択→ボタンを押す」ですから。

$imagebutton($add($mul($get(Bp),0),$get(Bx)),$add($mul($get(Bp),1),$get(By)),,,
$get(btn_path)kirikae01.png,
$get(btn_path)kirikae02.png,
CONTEXT:'Run service/Mp3tag') // 選択ファイルをmp3tagへ

ポイントは「CONTEXT:'Run service/Mp3tag'」です。

commandがCONTEXTとなっていますね? これは、

command(メニュー用のコマンド)
CONTEXT(右クリックメニュー用のコマンド)

という意味であり、先ほど説明した「Function」というセレクトボックスで「Context command」を選ぶと、利用できるコマンドが分かります。

ただし初期状態でRun serviceは使えません。利用する為には、別途コンポーネント(foo_run)のインストールが必要です。今回はMp3tagとの連携で利用しましたが、Run service自体は他にも色々とできる、優れものです。アーティスト名でGoogle検索を掛けるような設定も予め用意されています。

インストールされていれば、File→Preference→Run serviceで、設定ができるようになり、右クリックメニューにも表示されます。

ただし「Context command」で表示される部分には、Run serviceとしか書かれておらず、そのままだとボタンを押しても動きません。そこでまずはFile→Preference→Run serviceで設定ページをき、Addボタンを押し、

Label:Mp3tag

Path:"C:\Program Files\Mp3tag\Mp3tag.exe" "%_path%"

Simultaneous runs:Unlimited

というのを作成して、Mp3tagを呼び出すメニューを作成します。

※OSによって実行ファイルの場所は「"C:\Program Files\Mp3tag\Mp3tag.exe"」だったり、「Path:"D:\Program Files '('x86')'\Mp3tag\Mp3tag.exe"」だったりします。自分の環境によって適切な設定をして下さい。

これで漸くボタンのコマンドに……と思いきや、先述した通り、「Context command」ではRun serviceとしか書かれません。これだとボタンが動かないので、Label名を入れて更なる指定をしましょう。だからコマンドが

Run service/Mp3tag

つまり「Run service/Label名」で狙い撃ちなわけですね!

前回カスタマイズの復習的なノリで進む忘備録。このままゆるゆるまったりな感じで進めたいものです。そんなわけで次回、「私を三日以上Googleと睨めっこさせ、極度のグロッキー状態に陥れたテキストボタン編」でお会いしましょう。
関連記事

Comment

(編集・削除用)
管理者にだけ表示を許可

Trackback

URL
http://dejiseikatu.blog77.fc2.com/tb.php/374-ddafd134
この記事にトラックバック(FC2Blog User)

サイト内検索

月別アーカイブ

07  02  11  10  05  04  03  02  12  11  10  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10 

スピーカー。

利用してる所とか。

ネットで買い物するなら。



ここで古本買ってます。 ブックオフオンライン

QRコード

QR

FC2カウンター

プロフィール

番頭はん

Author:番頭はん
腐女子なのに時々それを忘れる駄目オタク。
一日に二杯の珈琲を与えないと、目に見えて機嫌が悪くなる。
このサイトについて

ランキングに参加中。

人気ブログランキングへ

メールで連絡を取りたい方はこちらからどうぞ。

Amazon検索

カテゴリ

ユーザータグ

お世話になってます。



リンクシェア アフィリエイト紹介プログラム

最新コメント

最新トラックバック

Copyright © 番頭はん