forked from tomato111/WSH-Cover-Panel-Mod
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
343 lines (294 loc) · 23.3 KB
/
README
File metadata and controls
343 lines (294 loc) · 23.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
■概要━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//This is a japanese help. I cannot make an english help. sorry.//
WSH Cover Panel Mod は, "WSH Cover Panel" by Jensen (http://dreamxis.themex.net/category/skin-ui/foobar に同梱)
をさらに多機能にしようと改変した WSH Panel Mod 用スクリプトです.
動作確認は以下のもので行っています.
http://code.google.com/p/foo-wsh-panel-mod/downloads/list
[本家様の主な機能]
・埋め込み画像の表示(mp3, m4a, ogg, flac, tak, mka等々)
・指定フォルダ内画像の表示(jpg, png, gif, bmp)
パスは複数指定でき, Title Formatting の他にワイルドカードが使用可
・キャッシュ機能による高いパフォーマンス
・背景の透過(パネルの機能として)
Shift+右クリック -> Configuration の「Presudo Transparent」をON
----------------------------------------------------------------------
--Mod公開-----------------------------------------------------------
・メニューの日本語ローカライズ, jaヘルプの同梱
・画像の上にケース画像を重ねる機能の追加
・外部ビューアの指定,マージンの指定, の追加. それといくつか仕様変更
・プロパティダイアログを更新時に画像(パス)を見失う問題の修正
・Buttons.Position が効かない問題の修正
--v1.01更新(2010/12/25)-----------------------------------------------
・相対的にサイズ調整したケースがパネルからはみ出さないようにする設定の
Case.AdjustCaseSizeInsidePanel を追加
--v1.02更新(2011/01/07)-----------------------------------------------
・Panel.BackGroundColor と Panel.ExternalViewer がプロパティに作られない不具合を修正
--v1.03更新(2011/02/10)-----------------------------------------------
・初期値に不適当な値が入る可能性が一箇所あったので修正
・「埋込み画像上で外部ビューアへ渡そうとした時」の動作に関する設定の Image.EmbedImageSubstitutedPath を追加
・右クリックメニューに"Configure..."を追加する設定の Panel.ShowConfigureMenu を追加
--v1.04更新(2011/02/17)-----------------------------------------------
・左ダブルクリック時 と ミドル(ホイール)クリック時 の動作を指定できる
Panel.LeftButtonDoubleClick と Panel.MiddleButtonClick を追加
--v1.05更新(2011/02/27)-----------------------------------------------
・Image.MaxFileSize の初期値が2MBと小さすぎていたので5MB(5242880byte)に変更
・Image.InterpolationMode と SmoothingMode の初期値変更
・Image.DefaultImagePath と Case.CaseImagePath がプロパティに作られない不具合を修正
・左クリック時の動作を指定できる Panel.LeftButtonClick を追加
・上記などのクリックアクションで Follow cursor を切り替えたときにツールチップを表示するようにした
・クリックアクションに指定できるコマンドをいくつか追加
・クリックアクションで実行出来る Panel.RunCommand と Panel.RunContextCommand を追加
・背景画像を設定できる Panel.BackgroundImage とその設定 Panel.BackgroundImgOption
を追加
--v1.06更新(2011/03/13)-----------------------------------------------
・Panel.language の初期値はユーザー環境変数のLANGから推測するようにした(ないならダイアログ表示)
・クリックアクションで指定できるコマンドをいくつか追加
・ShiftキーやCtrlキーを組み合わせたマウスクリックに動作を割り当てられるようにした
既存のスクリプトを更新した場合は, 以下の3つを"Delete"して初期化する必要があります.
Panel.LeftButtonClick, Panel.LeftButtonDoubleClick, Panel.MiddleButtonClick
・ケースにも回転と透明度のオプション追加 Case.ImageOption
--v1.07更新(2011/06/21)-----------------------------------------------
・パネルに音楽ファイルやプレイリスト内アイテム等をドラッグ&ドロップした時に, 任意の名前のプレイリストへ追加できるようにした
それに伴い, 設定 _DragDropPlaylistName と _DragDropToSelect を追加
--v1.08更新(2011/07/18)-----------------------------------------------
・画像の表示順をシャッフルできるようにした(Cycle.Shuffleを追加)
--v1.09更新(2011/07/19)-----------------------------------------------
・表示している画像を削除できるようにした(右クリックメニューから実行orクリックアクションで20を指定)
埋込み画像やデフォルト画像、読み取り専用は削除できません.
--v1.10更新(2011/08/19)-----------------------------------------------
・画像削除の不具合修正
--v1.11更新(2011/11/24)-----------------------------------------------
・RunCommandで"()"括弧を用いたTFが使えなかった不具合を修正
TF以外の括弧は'(' ')'のようにシングルクォートで括ってください.
--v1.12更新(2014/09/07)-----------------------------------------------
・フロントカバー以外の埋め込み画像も表示出来るようにした
<front>(<embed>と同じ), <back>, <disc>, <icon>, <artist>が新たに指定可能です.
・Image.SourceFormat の初期値を変更
・Text.FilePath に記述した情報を Lyric Show Modoki で表示出来るようにした (クリックアクションで21を指定)
・original author を訂正
--v1.13更新(2015/02/15)-----------------------------------------------
・インストール場所をプロファイルフォルダに変更(利便性の観点から)
※インストールの項を再度確認してインストールし直して下さい
・Panel.WorkDirectory を廃止
・画像の透明度を指定できる設定 Image.MaxOpacity を追加
--v1.14更新(2015/03/29)-----------------------------------------------
・古いメソッドを使用しないように書き換え
・画像の削除はゴミ箱へ移動するように修正
・アクティブプレイリストが空っぽの時にパネルにドロップするとエラーとなる不具合を修正
--v1.15更新(2015/10/19)-----------------------------------------------
・WSH Panel Mod v1.6.0でも動くように修正
■インストール━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※ケース画像を使う場合は各自用意し、case.png としてimport\EIKO\フォルダへ入れてください
1. importフォルダと WSH Cover Panel Mod.js を foobar2000 のプロファイルフォルダへ置く
(foobar2000 のツールバーの 「File」 をShiftを押しながらクリックし、
「Browse configuration folder」を選択して出てくるフォルダ)
2. Preferences -> Tools -> WSH Panel Mod で"Safe mode"のチェックを外す
3. WSH Panel Mod パネルのスクリプト欄を次のようにして「OK」を押す
// ==PREPROCESSOR==
// @name "WSH Cover Panel Mod"
// @import "%fb2k_profile_path%WSH Cover Panel Mod.js"
// @feature "dragdrop"
// ==/PREPROCESSOR==
■操作━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
左クリック:何もしない (設定で動作割り当て可)
左ダブルクリック:何もしない (設定で動作割り当て可)
右クリック:メニュー表示
ホイールクリック:既定or指定のビューアで画像を開く (設定で動作変更可)
ホイールアップ:前の画像
ホイールダウン:次の画像
■右クリックメニュー━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
更新 (Refresh image):現在のパスの画像を更新する. パス等新たに検索されない
キャッシュの削除 (Clear Cache):
メモリ上からすべての画像およびパスのキャッシュを削除する. そしてもう一度パスをスキャンし,
読み込み直す. 画像に変更を加えた場合などに行えば, 読み込み直してくれる
ヘルプ... (Help...):このテキストファイルを表示する (WSH Cover Panel Mod で表示方法を変更した)
■設定(Properties)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※プロパティを初期化するには Delete(一行)や Clear(全部)の後, Apply で行えます
※WSH Cover Panel Mod で追加したプロパティには★がついています
※TitleFormattingを記述可能な場所で、TitleFormatting以外の括弧は、'(' ')'のように
それぞれシングルクォートで括ってください
--アイテムドロップ関係-----------------------------------
★_DragDropPlaylistName
パネルへドロップしたアイテムをプレイリストへ登録する際の名前. 初期値では Dropped Items という名前のプレイリストへ次々追加される(なければ作成される)
TitleFormatting を使った動的作成も可能.(ex. Dropped %genre%)
空欄にした場合, Dropする度にプレイリストが新規作成される.その際の名前は自動的に連番で付けられる
★_DragDropToSelect
最後に追加したアイテムを選択状態にするならTrue
--コントロールボタン関係-----------------------------------
○Buttons.Display
マウスオーバー時にコントロールボタンを表示するならTrue
○Buttons.Position
コントロールボタンの表示場所を0~5で指定
0:左上, 1:真ん中上, 2:右上, 3:左下, 4:真ん中下, 5:右下
--ケース関係-----------------------------------------------
★Case.ActiveCaseMode
ケース画像を表示するならTrue (ケースは表示画像と同じ大きさにリサイズされ表示される)
★Case.AdjustCaseSize
ケースの大きさを相対的に調整できる. 書式は【left,up,right,down】とカンマで区切り, (ex. 15,15,15,15)
それぞれ対応した方向に各数値分だけケース画像を引き伸ばせる
★Case.AdjustCaseSizeInsidePanel
サイズ調整したケースがパネルからはみ出さないようにするならTrue. 上の相対リサイズにおいて
ケースがパネルサイズより大きくならないようにする.なのでケースは見切れなくなるが、画像によって相対値通りの表示とはいかなくなる
★Case.CaseImagePath
ケース画像のパスを記述. 特に指定しなければワークディレクトリ直下の case.png が使用される
※フルパスではなく import\~ や ~.png とだけ書いた場合, 「Foobarインストールフォルダ\import\~」 のように扱われます
★Case.fixSizeMode
ケースの大きさを固定したいならTrue. その場合Case.AdjustCaseSizeは無効になり, Case.fixSizeValueが有効になる
★Case.fixSizeValue
固定モード時にどこにどの大きさで表示するかを記述. 書式は【x,y,w,h】とカンマで区切り, (ex. 5,5,250,210)
左上の座標(x,y)と, 横幅w, 高さh を指定する. 数値以外に, 横幅と高さにだけパネル幅 ww とパネルの高さ wh が使用可能.
★Case.ImageOption
ケースの角度と透明度. 書式は【rot,alpha】とカンマで区切って記述. rotは回転角度, alphaは透明度(0~255)
--画像のサイクル関係---------------------------------------
○Cycle.Animation.Duration
アニメーションの時間. 単位は[ms]
○Cycle.Animation.Enable
サイクルするときにアニメーションさせるならTrue. そのアニメーション中は若干CPU使用率が上がる
○Cycle.Animation.RefreshInterval
Animation refresh interval. Milliseconds.
○Cycle.AutoPauseWhenFollowCursor
FollowCursor で画像を表示する時はオートサイクルを自動的に停止させる
○Cycle.CycleInWildCard
ワイルドカードでマッチしたすべての画像を表示(サイクル可能に)するならTrue
Falseの場合, ワイルドカードでマッチした最初の画像1枚のみを表示する
○Cycle.Enable
サイクル機能を使用するならTrue (Falseにすると手動でも一切サイクルできなくなる)
○Cycle.Paused
オートサイクルを一時停止させるならTrue (右クリックメニューやコントロールボタンから切り替え可なのであえてここで設定する必要はない)
○Cycle.Period
画像をオートサイクルさせる時間. 単位は[ms]
★Cycle.Shuffle
画像の表示順をシャッフルさせる. 何枚目からシャッフルさせるか記述する.
0: しない, 1: 1枚目からシャッフル, 2: 2枚目からシャッフル, 3: 3枚目からシャッフル, ...
--表示画像関係---------------------------------------------
★Image.AdjustMargin
画像はパネルサイズにリサイズされるが, ここで上下左右に余白を設定できる. 書式は【left,top,right,bottom】とカンマで区切り,
最低限の余白を指定する(ex. 7,7,7,7). なのでアスペクト比維持等で数値以上の余白ができる場合は変化はない
○Image.DefaultImagePath
表示画像がないときに表示する画像のパスを記述. 特に指定しなければワークディレクトリ直下の nocover.png が使用される
※フルパスではなく import\~ や ~.png とだけ書いた場合, 「Foobarインストールフォルダ\~.png」 のように扱われます
★Image.EmbedImageSubstitutedPath
埋込み画像は外部ビューアへ渡せないが, ここに画像パスを記述することで代わりにその画像を表示する. ※パスは一つだけ, ワイルドカードは不可
ex. 音楽ファイルと同じ場所に[アルバム名.jpg]がありそれを表示する場合, $directory_path(%path%)\%album%.jpg
○Image.GroupFormat
Grouping keywords. Title formatting script can be used. Group for the song files on packet, switch to the new file, the more this keyword, different groups are considered as new. Switch in the same group file, the image circle will not be interrupted or reset.
○Image.ImageCacheCapacity
Image cache capacity. Units of the number of sheets. Image scaling to fit panel is then cached, so this value should be combined with your panel size, if a larger panel, you should set the less, if smaller, you can set more. 0 or -1 to disable.
○Image.InterpolationMode
Image interpolation algorithm model の品質を設定. つまり, リサイズ時の補間法のアルゴリズムを指定. -1~7で記述する
詳しくは http://msdn.microsoft.com/en-us/library/ms534141(VS.85).aspx または「InterpolationMode」で検索
とりあえず7の高品質双三次補間が高品質だが, 処理も増える
-1: Invalid
0: Default
1: LowQuality
2: HighQuality
3: Bilinear
4: Bicubic
5: NearestNeighbor
6: HighQualityBilinear
7: HighQualityBicubic
○Image.KeepAspectRatio
リサイズ時にアスペクト比を維持するならTrue (右クリックメニューから設定できるのであえてここで設定する必要はない)
○Image.MaxFileSize
画像の最大ファイルサイズを指定. 単位は[byte]. これ以上のファイルサイズのものは読み込まない
※初期値は5MB(5242880byte)です. 特定の画像が表示されない場合はファイルサイズを疑ってみてください
★Image.MaxOpacity
画像の透明度を指定.(11~255)
○Image.PathCacheCapacity
Path cache capacity. The number of units group. Shall SourceFormat cache search results, a string of search results as a set. This panel only cache the string, so this value can be set larger. 0 or -1 to disable.
○Image.SmoothingMode
Image smoothing model の品質を設定. つまり, 描画時のアンチエイリアス(スムージング)の指定. -1~4で記述する
詳しくは http://msdn.microsoft.com/en-us/library/ms534173(VS.85).aspx または「SmoothingMode」で検索
アンチエイリアスが掛かるのは2か4で, この二つに明確な違いはない模様. 一応ボックスフィルターのサイズが 8x4 と 8x8 とで異なるが違いは感じられない
-1: Invalid
0: Default
1: HighSpeed
2: HighQuality
3: None
4: AntiAlias
○Image.SourceFormat
表示画像のパスを指定. Title formatting の他にワイルドカードも使用可能
パスを複数指定する場合は"||"で区切って指定する
埋込み画像を表示したい場合は"<embed>"(<front>でも可), "<back>", "<disc>", "<icon>", "<artist>" を指定する
パネルは始めにTFを評価してからセグメント記号"||" and "<>" を探すので,
例えば $if(%artist%,||E:\MusicPic\%artist%\*.*) というようなTF範囲内に"||"を含むスクリプトも使える
ex. <embed>||$directory_path(%path%)\folder.jpg||$replace(%path%,%filename_ext%,)back.*||D:\Music\ArtistPic\%artist%\*.*
○Image.Stretch
パネルより縦横が小さい画像をパネル一杯まで引き伸ばす場合はTrue (右クリックメニューから設定できるのであえてここで設定する必要はない)
--パネル関係-----------------------------------------------
○Panel.BackGroundColor
パネルの背景色. RGB や RGBA が使用可能で, 書式は【r,g,b】や【r,g,b,a】のようにカンマで区切る. (ex. 200,150,100,80)
★Panel.BackgroundImage
背景画像が設定可能. ファイルパス(TF不可)を一つ記述
★Panel.BackgroundImgOption
背景画像のオプション. 書式は【x,y,w,h,rot,alpha,ratio】とカンマで区切って記述. 初期値のww,whはそれぞれパネル幅と高さを表す
座標(x,y),幅w,高さh, rotは回転角度, alphaは透明度(0~255), ratioはアスペクト比を維持するなら"1" しないなら"0"を指定
アスペクト比を維持した場合, 高さhは自動的に計算された値になり, ww や wh は具体的な数値に展開されて格納される
★Panel.ExternalViewer
外部ビューアをフルパスで指定. 特に指定しなければ既定の関連付けアプリとなる
起動は右クリックメニューのほか, 設定でミドルクリックや左ダブルクリックから起動できる. 埋め込み画像は表示できないが, その場合 Image.EmbedImageSubstitutedPath を代わりに表示可能
○Panel.FollowCursor
Follow cursor mode の設定. 0~2を指定してモードを切り替える (右クリックメニューから設定できるのであえてここで設定する必要はない)
○Panel.Language
右クリックメニューの言語の指定. en なら英語, ja なら日本語になる. この2つだけサポート
★Panel.LeftButtonClick
左クリック時の動作を指定. 書式は【normal,+shift,+ctrl】とカンマで区切って, それぞれ0~19で記述する. (ex. 4,0,15)
shift と ctrl キーを同時に押下した場合はnormalの動作になる
0: 何もしない (none)
1: 外部ビューアで開く (View with external viewer)
2: 表示画像のフォルダを開く (Open containing folder)
3: Follow Cursor Mode の「非再生時のみカーソルを追従」と「常にカーソルを追従」を切り替え (Toggle: Only when not playing ←→ Always)
4: 設定(プロパティ)を開く (Show "Properties")
5: ヘルプを開く (Open help file)
6: 最初の画像を表示 (Show FirstImage)
7: 最後の画像を表示 (Show LastImage)
8: 音楽再生or一時停止 (PlayOrPause)
9: 音楽停止 (Stop)
10: ランダムで一曲選んで再生 (Random)
11: ミュート (VolumeMute)
12: Panel.RunCommand で指定したメインメニューor外部コマンドを実行 (RunMainMenuCommand)
13: Panel.RunContextCommand で指定したコンテキストメニューコマンドを実行 (RunContextCommand follow CursorMode)
14: foobarの設定を開く (ShowPreferences)
15: パネルのConfigureを開く (Show "Configure")
16: foobarのユーザーフォルダを開く (Open user profile directory)
17: foobarのインストールフォルダを開く (Open foobar install directory)
18: 次のプレイリストを開く (Next Playlist)
19: 前のプレイリストを開く (Previous Playrist)
20: 現在の画像を削除する (Delete Current Image) ※埋込み画像や読み取り専用は削除できません。
21: Text.FilePath に記述した情報を Lyric Show Modoki で表示
★Panel.LeftButtonDoubleClick
左ダブルクリック時の動作を指定. 記述は上記を参照. ※左クリックの動作も実行されるので注意
★Panel.MiddleButtonClick
ミドルクリック時の動作を指定. 記述は上記を参照
★Panel.RunCommand
メインメニューのコマンドを登録. クリックアクションで実行出来る. 階層はスラッシュ"/"を使う. (ex. View/Playlist Manager)
また, 階層に"\"を使うと外部コマンドを実行出来る (ex. C:\windows\notepad.exe)
Panel.ExternalViewer と違い, フルパスの後ろに"半角スペース"で区切って引数(TF可)を指定出来る
(ex. メモ帳で D:\Music\(アルバムアーティスト名).txt を開き, なければ新規作成 を行う場合,
C:\windows\notepad.exe D:\Music\%album artist%.txt
)
★Panel.RunContextCommand
曲の右クリックメニューのコマンドを登録. クリックアクションで実行出来る. 対象は Follow Cursor Mode に従う
(ex. Properties) (ex2. Utilities/Edit cuesheet) (ex3. Add to playback queue)
★Panel.ShowConfigureMenu
右クリックメニューに "スクリプト..."(Configure...) を追加するならTrue
★Text.FilePath
ここに記述した情報を Lyric Show Modoki (WSH Panel)に渡して表示する. クリックアクションで実行出来る
■ファイル構成━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WSH Cover Panel Mod.js
import\EIKO\
┣case.png (Case.ActiveCaseMode がFalseの場合, または Case.CaseImagePath を設定した場合は省略可)
┣nocover.png (Image.DefaultImagePath を設定した場合は省略可)
┣Next.png
┣Prev.png
┣Pause.png
┣Play.png
┗WSH_Cover_Mod_Properties_Help_ja.txt
■謝辞━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Original Code by Jensen
Thanks!
■最後に━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
どう訳したらいいか分からなかった所は英文のままです
不具合や要望など何かありましたらこちらから
http://ashiato1.blog62.fc2.com/blog-entry-40.html
Mod by tomato111