スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

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

まだまだ逝きます、ではなくいきますよー。
前回はシークバーやボリューム等、細々とした物を置いてみました。次は音楽プレイヤーに必要な再生ボタン類を置いていきます。
まず今回書くに辺り、カスタマイズの際に「splitter Settings」の設定を利用させてもらったページを紹介しておきます。

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

変数設定やパネルによる切り替えなど、かなり参考にしまくりです。とは言ってもこちらのサイトさんのカスタマイズは高度過ぎて、三分の一も理解できない有様ですけどね。それでも勉強になることは確かです。
管理人さんには多大な感謝を込めてドリップコーヒーをお供えしておきます。例によってお供えした珈琲は、後で私が美味しく頂きました。

まずはボタン類を設置する前に、「Panel Stack Splitter」の本気を見せ付けて頂きましょう。今のままだと「Visual Style」の影響下を受けたままなので、「Panel Stack Splitter」の背景色を変更します。

まずベースの「Panel Stack Splitter」の「splitter Settings」を開き、「Behaviour」タブを選びます。「Custom background colour」というのがありますよね? これが背景に色をつける為のチェックボックスです。

少し下に「Use bakground image」というのがありますが、こちらは背景に画像を指定できるチェックボックスです。背景に画像……カスタマイズの醍醐味ですが、あくまでも「Panel Stack Splitter」に背景を設定できるだけなので、「Panel Stack Splitter」の上に乗るPanel(コンポーネント)の背景には殆ど影響しません。なので嬉々として画像を設定しても、かなりしょんぼりした結果を生むことも……。

「Use bakground image」に関しては後々語る機会があるのでここまでにして、とりあえずベースの「Panel Stack Splitter」の背景を変更します。「Custom background colour」にチェックを入れ、「Chenge colour...」のボタンを押すと色が選べる画面になりますので、色を設定して下さい。
そうしたら「APPLY」か「OK」で、ベースの「Panel Stack Splitter」の色が変わります。ベースとして使っているわけですから、全体的に変更がかかるわけですね。黒々にしてやんよ、です。

では各種ボタンを置いていきます。「splitter Settings」の「script」タブにある「PerTrack」、これを使うわけですが、隣のタブに「Per Second」というのがありますね? こちらは毎秒ごとの更新が必要な場合に使う部分であり、演奏時間の表示で利用するぐらいで、余り使う機会はありません。

入力部分がありますが、初めての方なら戸惑うかと思います。私も「ここをどうすりゃいいの」と頭を抱えたものです。参考にできるページがあって本当に良かった……。

そんなわけでまず最初にやる事は、「各種変数を用意する」です。title formatting referenceの日本語リファレンスに書いてある、$puts(name,value)を利用します。

「変数名○○には、△△を保存しているよ」というのを宣言する、と考えておけばいいと思います。最初に宣言しておけば使う時にわざわざ宣言する必要がないわけですから、手間が掛かりません。だから必要な変数は、最初にズラズラと羅列しておく必要があるわけです。
なので変数を使う際は、随時冒頭に書き足していきましょう。

まずはこれを見て下さい。

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

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

オタクらしさを前面に押し出してみました。
画像クリックで元の大きさの画像が見られます。

この画面で一列に沢山並んでいるボタンに関する変数です。あれだけボタンを並べておいて、利用している変数は意外と少ないですよね。Bxに75、Byに80……と、変数の宣言がされています。

一番下のがちょっと分かり難いかもしれませんが、ボタン用の画像を置いているフォルダのパスを、変数内に保存しています。仮に作業中、ボタン画像の入っているフォルダの位置を変更しても、この変数に記述されているパスを変更すればいいだけ、というわけです。

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

これが今回使う、画像ボタンを作る為の記述です。記述式に関する詳しい説明は、コンポーネント付属のテキストファイルを参考にして下さい。
ちなみに「script」タブの下にある、メニューリストから「Function」を選び、「list」というボタンを押してみると、「PerTrack」で使える記述式が一覧表示され、選ぶと「PerTrack」に記述式を挿入できます。

再生ボタン部分の記述はこれです。

$imagebutton($add($mul($get(Bp),16),$get(Bx)),$get(By),,,
$get(btn_path)saisei01.png,
$get(btn_path)saisei02.png,
COMMAND:'Playback/Play') // 再生

……正直最初に見た時は「何が分からないのかが分からない」、まさにそんな状況でした。今回の忘備録は「カスタマイズにチャレンジしてみたいけど、分からない事が多過ぎてもう挫折しそうなんですが」という、私のような方向けに残しておこうと考えたので、私なりに解説してみたいと思います。

$get(name)は「この変数名に保存している値を返す」ですから、$puts(name,value)で宣言して保存したものが返されることになります。まずはその事を頭に入れて下さい。$get(Bp)なら$puts(Bp,33)が該当しますから、33が代入されるわけです。

「$add($mul($get(Bp),16),$get(Bx))」がleft(Xの位置)部分を指しています……と言われても、初心者には全く訳がわかりませんね!
まずTF式を書き出してみましょう。使われているのは$add(a,b)、$mul(a,b)の二種類です。

$add(a,b)は「aにbを足す」(足し算)

$mul(a,b)は「aにbを掛ける」(掛け算)

$addの足し算式で「$mul($get(Bp),16)」と「$get(Bx)」を足しているのが分かってきました。$mul($get(Bp),16)での$get(Bp)は「ボタンの横幅」なので、「ボタンの横幅16個分の長さ」を、これで導き出しています。
つまり「ボタンの横幅16個分の長さ」に「ボタン一つ目のleft(Xの位置)」を足しているわけです。

もしこの「16」の部分が「0」だったとします。掛け算部分で「0」が入ると答えは必然的に「0」ですから、「0」に「ボタン一つ目のleft(Xの位置)」を足します。「0」番目、つまりボタン1つ目の場所なんですね。
そう、この「16」の数値の部分を変える事で、横の位置をいちいち入力することなく、ボタンを簡単に並べて置くことができるのです。何という便利さ!

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

$imagebutton($add($mul($get(Bp),16),$get(Bx)),$get(By),,,
$get(btn_path)saisei01.png,
$get(btn_path)saisei02.png,
COMMAND:'Playback/Play') // 再生

記述式のy部分は$get(By)、これは分かりますよね。
しかし記述式のWとh、この部分に目を向けてみると、何も書いてありません。この場合は省略されたことになります。画像を表示するのですし、指定しなくても問題ないです。これがテキストボタンなら話は別ですがね。

「path」と「mover_path」は、「通常時の画像」と「マウスオーバー時の画像」の指定です。本来なら長ったらしい画像のパスを入れるのですが、ここで$puts(btn_path,C:\Program Files\foobar2000\ban2000\)の設定が生かせます。$get(btn_path)で保存したパスを代入し、その後に使用するボタン画像を指定するわけですね。上手く簡略化されていて、これまた便利この上なし!

commandはボタンで何を命令するかを指定する部分です。
記述式と同じく、「script」タブの下にあるメニューリストから「Menu Command」を選び、「list」というボタンを押して下さい。「PerTrack」で使えるコマンドが一覧表示され、選ぶと「PerTrack」に挿入できます。
ただし一覧を見たら見たで、種類の多さに混乱しそうな気もしますが……。

入力の際は、COMMAND:'Playback/Play'のように、忘れずコマンドを' 'で囲んで下さい。これで再生ボタンの完成です。それとカスタマイズ画面にはレーティング用ボタンがありますが、そちらは高さが違うので、

$puts(Byc,120) // ボタン 1 つ目の開始位置の Y 座標その2

というのを新たに作ります。
そしてボタンを表示させる記述で$get(By)の部分を$get(Byc)に置き換えれば、高さの違うボタンを簡単に用意できます。

以下に主だったボタン類の記述をば……。

$imagebutton($add($mul($get(Bp),10),$get(Bx)),$get(By),,,
$get(btn_path)kesi01.png,
$get(btn_path)kesi02.png,
COMMAND:'Edit/Clear') // プレイリストクリア

$imagebutton($add($mul($get(Bp),12),$get(Bx)),$get(By),,,
$get(btn_path)eco01.png,
$get(btn_path)eco02.png,
COMMAND:'View/Equalizer') // イコライザー

$imagebutton($add($mul($get(Bp),13),$get(Bx)),$get(By),,,
$get(btn_path)mae01.png,
$get(btn_path)mae02.png,
COMMAND:'Playback/Previous') // 前の曲

$imagebutton($add($mul($get(Bp),14),$get(Bx)),$get(By),,,
$get(btn_path)itiji01.png,
$get(btn_path)itiji02.png,
COMMAND:'Playback/Pause') // 一時停止

$imagebutton($add($mul($get(Bp),15),$get(Bx)),$get(By),,,
$get(btn_path)Stop01.png,
$get(btn_path)Stop02.png,
COMMAND:'Playback/Stop') // 停止

$imagebutton($add($mul($get(Bp),16),$get(Bx)),$get(By),,,
$get(btn_path)saisei01.png,
$get(btn_path)saisei02.png,
COMMAND:'Playback/Play') // 再生

$imagebutton($add($mul($get(Bp),17),$get(Bx)),$get(By),,,
$get(btn_path)tugi01.png,
$get(btn_path)tugi02.png,
COMMAND:'Playback/Next') // 次の曲

$imagebutton($add($mul($get(Bp),19),$get(Bx)),$get(By),,,
$get(btn_path)konfigu01.png,
$get(btn_path)konfigu02.png,
COMMAND:'File/Preferences') // 設定画面を開くボタン

パネルの切り替えボタンは次で説明がてら載せます。

プレイリストをクリアするボタンだけ微妙にボッチ扱いですが、うっかり間違えて押さない為です。イコライザーに関しては予めPreferences→Playback→DSP managerの画面にし、Equalizerをアクティブな状態にしておいて下さい。
やり方は画面右の「利用可能なDSP」の一覧から「Equalizer」を選び、←ボタンで横の「アクティブなDSP」に表示させるだけです。
Equalizerについてはかなり後で説明する予定……。

ボタン画像に関しては、誰かが作った物を探すか、自分で作るかの二択となります。探す手間を選ぶか作る手間を選ぶかは個人によるので、お好きな方をどうぞ。



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

Comment

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

Trackback

URL
http://dejiseikatu.blog77.fc2.com/tb.php/44-2ff69fca
この記事にトラックバック(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 © 番頭はん
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。