各部修正へ「アルバムジャケットを表示するスキン」として、先日リリースして間もない「A1」ですが、気になるところを修正して早々ですが新しいバージョン1.1にアップします。使用されている方もお手数ですが、新しいバージョンに変更してくださるようお願いします。変更点はAMIPで使用される「Plugin.ini」にも及ぶため、こちらのファイルもあわせて変更されることをお忘れなく。」という風に表示される情報は、すべてAMIP側で取得させそれをテキストに出力し、Rainmeter側でそのテキストを参照するという仕組みを取っていました。これは実に回りくどいやり方ですが、Rainmeter側でこれらを実装させようとすると、それ相応Measure数を作ってやる必要が出てくるため、それよりはずっと効率的なんではないかといった考えからでした。私の環境ではこれが悪さをして、エクスプローラ(ファイラー)の表示が更新しなくなるという不具合を引き起こしました。second」というオプションを有効にして、毎秒、出力ファイルを更新させるようにしていましたが、これがよくなかったようです。そこでカウントは順当にRainmeter側で取得させることとしました。カウント以外は毎秒変化するわけではないので、AMIP側でタグ同様に取得させれば、Rainmeter側での負担も軽減され、何よりAMIPに別途ファイル出力させることがなくなったので、全体的に見れば以前よりずっと効率的かつクリーンになったと思います。Title)で対処するという方法を取っていました。Title」が同じ行になってしまうので、どうしても収まりきらずタイトルが尻切れトンボになってしまうことがほとんどでした。前回も言及しましたが、AMIPには強力なFormattingの機能が備わっています。これを利用しない手はありません。Title」のハイフンの前後でArtistとTitleを切り分けることで、タグがある場合とほぼ同様に各行で別々に表示することができました。前バージョンの「Plugin.ini」は、デフォルトの設定をそのまま残している部分がありましたが、それらの多くが不必要な設定であったり、また不具合を引き起こす要因になりうる設定もあったため、これらを改めました。※一部、利用者の方からの情報を参考にさせていただきました。ありがとうございました。今回バージョンアップしましたが、残念ながら気になるところがすべてクリアされた訳ではありません。今後も(飽きない内は)ちょこちょこ修正していくかと思います。「ベータ版」という名目でリリースするべきだったかなと悔やんでます。ウチで配布しているものは、すべてベータ版同然で動作確認甘々ですので、そこら辺は何卒ご容赦を・・・。19memoアルバムジャケットを表示するRainmeterスキン久々にスキンをリリースしました。画像入りの完成形スキンのリリースはPictureBrowser以来です。今回作成したのはWINAMPコントロールと曲情報に加え、アルバムジャケットの画像をネットより取得して表示するというものです。このようなWidgetは他に数多くあるものの、Rainmeterのスキンではあまり見ないので作ってみました。実際作る前から分かっていたことですが、これはどう考えてもRainmeterだけでできることではありません。そこで最初は簡単なスクリプトを作って試してみたものの、うまくいきません。問題は、曲が切り替わる毎にスクリプトを動かすコマンドを送って、それにあわせてスキンを更新という具合にしたいのですが、通常の場合のように一曲単位で分かれている場合は曲と曲の変わり目がRainmeter側で測定することができるため、このようなことが可能になるかもしれませんが、ネットラジオのように曲同士がつながっている場合には通用しません。そこでAMIPというWINAMPのプラグインの手を借りることにしました。このAMIPは元々はWINAMPで再生中の曲をmIRCでIRCのコメントとして融合させるためのプラグインでしたが、曲の切り替えタイミングで任意のテンプレートを出力したり、バッチコマンドを送ったりと最近では汎用的なプラグインとして実装されています。今回のスキン作りに正に打ってつけのプラグインといえます。今回のスキンの動作のカギとなるのがAMIPの機能のひとつで、AMIPの変数を仕込んだテンプレートをあらかじめ用意しておいて、曲の変わり目にその変数をアーティスト名や曲名などに置き換えて、指定したファイル名で出力するというものです。出力後、スキンにコマンドを送ってリフレッシュさせることでこのスキンの機能が実現されるようになります。これ以外にも、AMIPは実に多くの機能を備えていて、プレイヤー情報の取得から出力、コマンド送信と何でもやってこなす実力があります。外部プラグインの力を借りるなら、AMIPにできることは極力AMIP側に任せてた方が得策と思い、今回はプレイヤー情報の取得などはAMIPで取得したものをRainmeterで表示するというようにしています。これはRainmeter側にはかなりの負担軽減になります。RainmeterでWINAMPの情報を取得するには必然的にMeasureを作る必要がありますが、AMIPにそれを分担させればRainmeter側はそれを表示させるMeterだけで済んでしまいます。プレイヤーの制御もAMIP側でできるよう(未確認)ですが、今回はボタン表示との兼ね合いもありRainmeter側でやった方が賢明と考え、そうするようにしました。AMIPの多機能ぶりはさておき、特に出力に関する機能は強力です。FALSE>だとか、もしアーティスト名がXXだったらOOで出力するとか、さらには正規表現まで使用し強力な置換えをすることまで可能です。中でもURLエンコードして出力してくれるのには関心しました。WebParserで情報を取得する際、URLにスペースや日本語が含まれていると受け付けないサーバーもあるため、この機能はとても有り難いです。いうわけで何とかこんな形で完成することができました。十分な動作テストを行っていないので今後どのような不具合に遭遇するか一抹の不安がありますが、現状目立った挙動は確認してません。今後の基本機能の改良点として、現状の仕様では同じアルバムの曲を聴いていても、曲が切り替わるたびネットにアクセスして、再度同じ画像を取得してきて非効率ですので、できれば、一度表示した画像はローカルに保存するようにして、もしローカルフォルダになければ、ネットから取得という具合にできるような構造にしたいと思います。今回はプラスαの機能として検索リンク機能を実装しましたが、他にも動的な曲名やアーティスト名といった情報を利用して何か面白いことができないか模索しています。