2007 . 08 . 17

非公式版Rainmeterの紹介



Rainmeter♥の方々必見のRainmeter非公式ビルドをご紹介します。
Rainmeter unofficial patch

作者Yiting氏によるこのビルドは、Rainmeter v0.14をベースに様々な修正と改良が施されたもので、現在、バージョン0.7がリリースされています。

主な修正、追加項目は以下のとおりです。
  • UPDATE MeasureCalc to use NEW MathParser instead old CCalc.
  • UPDATE meter to use NEW method for RelativeMeter, now GetX() and GetY() are very fast even using relative position.
  • FIXED PLAY, PLAYLOOP, MeasurePlugin are using skin directory as default.
  • FIXED RefreshAll will check all active config is still exist.
  • UPDATE SysInfoPlugin OS_VERSION support Windows Vista and more.
  • FIXED !RainmeterToggleConfig to compare [Config] and [Ini-file] both.
  • ADDED StartDegree and RotationDegree option to MeterRotator and MeterRotatorLine for using degree.
  • ADDED Degree option to MeterString for using degree.
  • ADDED CpuId option to MeasureCPU, you can measure a specific processor.
  • FIXED logfile to use UNICODE encodeing.
  • FIXED ExecuteBang cannot launch help file, when rainmeter path contains space character.
  • ADDED !RainmeterResizeMeter to change meter size.
  • UPDATE About dialog can automatically change tabs, when a skin open or close.
  • REMOVED Litestep, MeasureNetTotal, MeasureMemory.
  • FIXED wcsftime crash problem on msvc80.dll.
  • Many variables changed for saving resource.

via [Change list]

今回、不明な点や不具合と思われる個所が何点かあり、実際に作者Yiting氏に問い合わせを行ったところ、とても親切に対応してくれました。作者自身の考えと合わせて、いくつか新機能などをレビューしてみます。

  • まず、「MeasureCalc」の改良版とも言うべき「MathParser」と「System Status Snapshot」という技術です。 従来のMeasureCalcよりも高速に動作するそうで、また、CPU, Time/Uptime, PhysicalMemory/SwapMemory, NetIn/NetOut なども、この「System Status Snapshot」によって多少の高速化を期待できるととのこと。 Yiting氏には非常に詳しく説明していただいたのですが、プログラムの専門知識の乏しい当方としてはサッパリ???ただどちらも、従来の非効率な構造をシンプルにすることで、高速化を実現するという発想によるところのもののようです。

  • マルチプロセッサやマルチコアの情報を取り出すのに従来はプラグイン(PerfMon.dll)を使用していましたが、新たにMeasureCPUに「CpuId」というパラメーターが追加され、個別にCPUの状態を取得できるようになりました。 「CpuId=1」が第1CPU、「CpuId=2」が第2CPUとなり、「CpuId=0」ではすべてのCPUの平均をあらわします。

  • [TrayMeasure]セクションでは新たに「TrayTip」が追加され、トレイアイコンにツールチップが表示できるようになりました。ツールチップの内容は「TrayTip="CPU: %1.0lf%%"」というように%に挟まれた部分で変数が使えます。

  • 「!RainmeterResizeMeter」というコマンドが追加されました。
    !RainmeterResizeMeter [W] [H] [Meter] (Config)
    (スキン製作者にとっては重宝しそうなコマンドです。)

  • 「MeterRotator」や「MeterRoundline」では角度のパラメーターに「度数」が使えるようになりました。

  • アバウト画面で、スキンを開いたり閉じたりするのに伴い、タブが更新されるようになりました。

  • その他、諸々の修正...


公式版Rainmeter v0.14には「MeasureNet」のグラフ表示の不具合?がありましたが、こちらはしっかりと修正されているようです。 ただし、当方の環境ではデフォルト(無指定)の「Interface=0」から「Interface=1」に指定してやる必要がありました。

気になったところでは、コンテキストメニュー>Configsでスキンディレクトリ内のINIファイルが16個以上は表示されないというもので、これはYiting氏によれば、「アクティブにできるのは一つなのだから、そんなにたくさんのConfigを置くべきではない」というポリシーから16個に制限をかけたそうです。(多分、この制限は次期バージョンにおいても変えないそうで、個人的には、一つのフォルダに50以上のテスト用のスキンを雑居させている状態なので、コレはいただけないなと...)[追記]

また、「TrayMeasure」でツールチップが使えるようになったのはいいのですが、当サイトで公開している「KTray」のような、ややアブノーマルな[TrayMeasure]の使い方で実験してみたところ「TrayMeasure」自体正常に動作しませんでした。 例えば「KTray DATE」では、ツールチップに取得値が正しく表示されるものの、ビットマップが取得値のフレームに切り替わりません。 Yiting氏によれば、これは、バグだそうで、次期バージョンで修正するそうです。

このビルドには3つのオリジナルのプラグインが同梱されています
  • CoreTempPlugin.dll (CPUの温度を取得するプラグインで、こちらも先の「CpuId」のようにコア別に取得できます。)
  • SysInfo.dll (Windows Vista に対応)
  • WindowMessagePlugin.dll (機能的には公式版と差異無し)

注意したいのは、このビルドで公式プラグインを使用することは可能ですが、その逆はできないということ。これは、これら3つのプラグインは構造が違うため公式版Rainmeterとは互換性がないということです。

Rainmeterとは直接関係はありませんが、もう1つ注目したいのが同氏作成の「Winamp IPC emulator for foobar2000」です。 これはその名とおり、foobar2000をWINAMPにエミュレートすることで、外部アプリなどからWINAMPを操作するのと同じ感覚で、foobar2000を操作することができというプラグインです。 使い方はfoobar2000の「components」フォルダに入れるだけ。 RainmeterのWINAMP用のスキンなんかも、ほとんどそのままの状態で転用が可能になります。


さて、ここまでいろいろ紹介してきましたが、スキンによってはおかしな挙動を起こすことも少なくないのが現状で、正直、公式版の代替として使うには現時点では厳しいかなというのが率直な感想ですが、公式版の開発がストップしている状況で、このような活動をしている人がいるということはファンにとっては興味深いことですし、今後の展開にも期待していきたいところです。


[追記 07.08.18]
v0.8でConfigFilesの制限は修正されたようです。

[追記 07.09.14]
v0.9でカスタムビルドのWebParserプラグインがリリースされました。内容的には際立った追加機能などはないものの、実に精力的な制作活動をなされています。