PPxでは、ファイルだけではなく、フォルダにも任意のサムネイルをつけることができるらしい。 フォルダ内にcover.jpgあるいはfolder.jpgといったアルバムアートがある場合、それをサムネイルにできるようにする。
準備
以下をScriptフォルダに保存。
setalbumart_all.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//!*script | |
// フォルダ内のカバーアート(cover.jpg || folder.jpg)をサムネイルにする | |
// カレントフォルダの各ディレクトリに対して実行 | |
// 例:*script %0Script\setalbumart_all.js | |
var ALBUM_ART_NAME1="COVER.JPG"; | |
var ALBUM_ART_NAME2="FOLDER.JPG"; | |
var filepath; | |
var img; | |
var img_path; | |
for (var i = 0; i<PPx.EntryAllCount; i++){ | |
PPx.EntryIndex=i; | |
var name = PPx.EntryName; | |
if (PPx.EntryAttributes & 16 && name !=('.') && name!=('..')){ | |
filepath = PPx.Extract('%1') + "\\" + name; | |
img = getcoverart(filepath); | |
if (img) { | |
img_path =PPx.Extract('%*name(BCD,'+getcoverart(filepath)+')'); | |
PPx.Execute("*setentryimage "+img_path+" -save"); | |
} | |
} else { | |
continue; | |
} | |
} | |
// カバーアート取得用関数 | |
// カーソル下フォルダ内にcover.jpgあるいはfolcer.jpgがあればそれを返す | |
function getcoverart(dirpath) { | |
var path = dirpath; | |
var fso = PPx.CreateObject("Scripting.FileSystemObject"); | |
var thumbnailpath; | |
var f_name; | |
// ファイルを取得 | |
var objFolder = fso.GetFolder(path); | |
var enmFile = PPx.Enumerator(objFolder.Files); | |
for (; !enmFile.atEnd(); enmFile.moveNext()){ | |
f_name = enmFile.item().Name.toUpperCase(); | |
if (f_name == ALBUM_ART_NAME1 || f_name == ALBUM_ART_NAME2){ | |
thumbnailpath = fso.BuildPath(path, enmFile.item().Name); | |
break; | |
} | |
} | |
return thumbnailpath; | |
} |
やり方
音楽ファイルをフォルダごとにまとめたフォルダで、以下のコマンドを実行。
*script %0Script\setalbumart_all.js
各フォルダ内にあるcover.jpgあるいはfolder.jpgを取得し、それをサムネイルにする。
0 件のコメント:
コメントを投稿