「foobar2000」忘備録、Panel Stack Splitter編その3。

ボタンボタンで日が暮れて。
前回ボタン類の設置をしましたが、今回は抜けていた部分「切り替えボタン」についてのお話です。
モニター全体にソフトを表示させても、その領域には限度があります。省エネではありませんが、一度にドバっと全部広げるのではなく、重ね置きしておいて、必要に応じて入れ替える、という方法を取ります。

まずはこちらをご覧下さい。

foober03.jpg

今回のカスタマイズ時のレイアウトですが、下の方を注視してみると、「Panel Stack Splitter」が幾つも置かれ、しかも各「Panel Stack Splitter」の下にPanel(コンポーネント)が置かれていますね?
ボタンでPanel(コンポーネント)を切り替えるというより、各Panel(コンポーネント)を置いている「Panel Stack Splitter」を、ボタンによって表示・非表示を切り替えている、という風に考えた方がいいかもしれません。

とりあえずPreferences→Display→Columns UI→「Layout」で、まだ挿入してなかった下半分のレイアウトをしてしまいましょう。勿論置いただけでは意味がないので、置き終わったらベースの「Panel Stack Splitter」から「splitter Settings」を呼び出し、位置や大きさを設定します。

foober04.jpg
画像クリックで元の大きさの画像が見られます。

この画面では、「Panel Stack Splitter」に数字が付いていますよね? 以前にも触れましたが、これにはちゃんと意味があります。上記で『Panel(コンポーネント)というより、各Panel(コンポーネント)を置いた「Panel Stack Splitter」の表示・非表示を切り替えている』と書いた通り、切り替えの際どの「Panel Stack Splitter」を変えるのかを指定する為に、番号を振って区別を付けているのです。
全て同じ名前だと、処理するソフト側も訳が分かりませんからね。

何もこれは「Panel Stack Splitter」に限ったことではありません。同じコンポーネントを幾つも使用する時も、ソフト側に何かを命令する際に混同しないよう、名前を変えておく必要があります。
カスタマイズする側も要らぬ混乱を招いてしまいかねないので、同一コンポーネントを複数設置する際は、速やかに名前変更しておきましょう。

「Panel Settings」に「Caption」という項目があるので、まずは各「Panel Stack Splitter」の名前を変えておきます。これは区別が付けばいいだけなので、末尾に数字付ける程度の変更で構いません。

オタクらしさを前面に押し出してみました。 プレイリストと言えばこういう一覧表示ですよね。
画像クリックで元の大きさの画像が見られます。

「Panel Stack Splitter01」と「Panel Stack Splitter02」は、上の画面でいう左側のツリー部分に当たります。01が最初から表示されているsplitterで、02はその下に重ね置きされている感じです。
「Panel Stack Splitter03」と「Panel Stack Splitter04」は、右側のプレイリストの部分。これも03が最初から表示され、04はその下に置かれ初期状態では見えません。

何はともあれ一度レイアウトを終わらせてしまいましょう。例によって忘れず「Forced layout」と「Lock size」にチェックです。

Panel Stack Splitter01

left : 0
Top : 190
Width : 350
height : $sub(%_height%,190)

Panel Stack Splitter02

left : 0
Top : 190
Width : 350
height : $sub(%_height%,190)

重ね置きするので、splitterの大きさを同じにしています。「Panel Stack Splitter02」の方は、「Hide Panel on startup」にチェックを入れて下さい。起動時に非表示になる設定です。
次にそれぞれのsplitterの「Configure」ボタンから、splitter上に置かれたPanel(コンポーネント)の設定もしてしまいます。

Panel Stack Splitter01
Library Tree

left : 10
Top : 0
Width : $sub(%_width%,20)
height : $sub(%_height%,10)

Panel Stack Splitter02
swPlaylists(Playlist switcher)

left : 40
Top : 40
Width : $sub(%_width%,80)
height : $sub(%_height%,80)


それぞれのsplitterの大きさは同じですが、splitterの上に乗せるPanel(コンポーネント)は、微妙に大きさが違います。単に個人的な趣味の問題なので、同じでも何の問題もありません。

色や文字の大きさは、「Library Tree」がPanel(コンポーネント)の上で右クリック→「Panel Preferences」で、「swPlaylists(Playlist switcher)」はPreferences→Display→Columns UI→「Colors and Fonts」で変更が可能です。
「Element」を色を変えたいPanel(コンポーネント)、この場合は「Playlist switcher」を選び、Modeを「custom」にすると、色設定や文字設定を変更できるようになります。
各種コンポーネントの色と文字は大体この箇所で変更できますが、中には「Library Tree」のように、Panel(コンポーネント)自体の設定を呼び出さないと変えられないものも……。

「黒々にしてやんよ」という考えなので、両方のPanel(コンポーネント)の色はBackgroundが黒、テキスト部分(foreground)は白にしておきます。しかしsplitterがまだ「visual style」影響下のままなので、それをどうにかしましょう。

それぞれの「Panel Stack Splitter」から「splitter Settings」を開き、「Behaviour」タブを選びます。そして「Custom background colour」にチェック、色を黒に設定すれば、晴れてベースと同じ配色です。

「Custom background colour」の下に「Pseudo transparency」という項目がありますが、これは「Panel Stack Splitter」を擬似透過させる為のものです。下に置かれた「Panel Stack Splitter」の背景設定を、上に置いた「Panel Stack Splitter」に反映させられるという事……らしい。
確かにこれにチェックを入れると下と同じ背景色になりますが、今回は「Custom background colour」のみ使います。

「Pseudo transparency」にだけチェックを入れ、「Panel Stack Splitter」より小さめにPanel(コンポーネント)を置いてsplitterの切り替えを行なうと、切り替わる時に「visual style」の色がちらつくんですよね。切り替える「Panel Stack Splitter」に色設定をしていないから?

まぁとにかくそんな理由で「Pseudo transparency」は使いません。どうしても使いたい方はsplitterとPanel(コンポーネント)を同じ大きさにすれば、切り替え時もちらつきませんよ。

Panel Stack Splitter03

left : 350
Top : 130
Width : $sub(%_width%,360)
height : $sub(%_height%,140)

Panel Stack Splitter04

left : 350
Top : 130
Width : $sub(%_width%,360)
height : $sub(%_height%,140)

忘れず「Panel Stack Splitter04」の「Hide Panel on startup」にチェックを入れて下さい。続けてPanel(コンポーネント)の設定もしてしまいます。

Panel Stack Splitter03
EsPlaylist

left : 0
Top : 0
Width : %_width%
height : %_height%

Panel Stack Splitter04
Track info mod

left : 10
Top : 0
Width : $sub(%_width%,20)
height : 250

CSPlaylist(custom Playlist)

left : 10
Top : 250
Width : $sub(%_width%,20)
height : $sub(%_height%,250)

※最後に「Forced layout」と「Lock size」にチェックが入っているか、忘れずにチェックしておきましょう。

こちらも各splitterとPanel(コンポーネント)の色を変更しますが、「custom Playlist」はPanel(コンポーネント)の設定から弄る事になるので後回しに。「Track info mod」はPanel(コンポーネント)の上で右クリック→「Settings...」の「Colors」、「EsPlaylist」はPreferences→Display→Columns UI→「Colors and Fonts」から変更できます。

Panel(コンポーネント)の配置がほぼ終了しました。これで漸く切り替えボタンの設置に入ります。

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

ボタンの配置なので記述式は他のボタン類と大して変わりません。違うのは「command」の部分となります。

// 左パネル切り替え
$imagebutton($add($mul($get(Bp),6),$get(Bx)),$get(By),,,
$get(btn_path)kirikae01.png,
$get(btn_path)kirikae02.png,
PANELSHOW:'Panel Stack Splitter01':-1;
PANELSHOW:'Library Tree':-1;
PANELSHOW:'Panel Stack Splitter02':-1;
PANELSHOW:'swPlaylists':-1;
REFRESH:
)

// 右パネル切り替え
$imagebutton($add($mul($get(Bp),18),$get(Bx)),$get(By),,,
$get(btn_path)kirikae01.png,
$get(btn_path)kirikae02.png,
PANELSHOW:'Panel Stack Splitter03':-1;
PANELSHOW:'EsPlaylist':-1;
PANELSHOW:'Panel Stack Splitter04':-1;
PANELSHOW:'Track info mod':-1;
PANELSHOW:'CSPlaylist':-1;
REFRESH:
)


「PANELSHOW:」はパネルの表示・非表示を指定するコマンドです。コンポーネント付属のテキストファイルには、

  0は非表示  1は表示  -1は表示・非表示のトグル

と書いてあるように、この数値でパネルの動きを制御しています。-1は表示と非表示を切り替える動きをするので、起動時に表示されているパネルはボタンを押すことで非表示に変わり、逆に非表示だったパネルが表示に変わることで表に現れる、という仕組みです。

最後に「REFRESH:」なるものがありますが、これは「TFのPerTrack, PerSecondを更新する」らしい。更新されなければ変更しても表示が変わらないのだし、コマンドの最後に入れられているのも納得です。

無事これらを全て設置し終わったら、一度再起動してから切り替えボタンの動きを確かめてみて下さい。
「Panel Stack Splitter」編、次でいよいよおしまいか……?


今日はここまで。
関連記事

Comment

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

Trackback

URL
http://dejiseikatu.blog77.fc2.com/tb.php/45-5a37af80
この記事にトラックバック(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 © 番頭はん