Search
Categories
Articles
Rainmeter関連
ファイル置き場
お知り合いなど

スポンサーサイト

--.--.-- | スポンサー広告

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

[Rainmeter] Rainmeter 3.0

2013.10.31 | Rainmeter

6 Comments

Rainmeter 3.0 がリリースされました。詳細はリリースノート(英語)を見てください。
3.0 は内部的に大幅な変更があったため、バグフィックスを含む細々としたマイナーリリースが続いています。2013.10.31 時点では 3.0.2 が最新です。3.0 を使うのであれば、できるだけ最新版を使用してください。

2.5 から 3.0 になって大きく変わったのは、フォントレンダリングに Direct2D が使用されるようになった点です(要 Windows 7 プラットフォームアップデート以降)。これまでのGDI+ レンダリングではなく、デフォルトで D2D レンダリングが使われます。

font-render

上がこれまでの GDI+ レンダリング、下が D2D レンダリングです。人によって感じ方が違うので細かくは書きませんが、個人的には GDI+ のぼやけた感じからすると、D2D はクッキリしているなという印象です。若干ジャギーが目立ちますが。

D2D がデフォルトになったことで、環境によっては見え方が違ってしまうことがあり、内部の描画微調整を経て、改善はされてきていますが、まだまだ描画互換性は低いままとなっています。特に日本語フォントについてはまだまだ感があるようですので、出来る限り公式フォーラムに画像などと共に状況を投稿して頂ければと思います(私には調整できませんので)。

もし D2D レンダリングが気に入らない、描画が崩れる、といった状況であれば、設定でこれまでの GDI+ レンダリングに戻すことができます。メニューから管理ツールを開き、設定タブにある "D2D レンダリングを使用する" のチェックを外してください。スキン単位でも、スキンのメニューから設定を辿り、同名のメニュー項目で同様の切り替えができます。

あと、Direct2D は Vista 以降なら対応しているはずですが、Rainmeter では Windows 7 のプラットフォームアップデートを適用した環境、または Windows 8 以降が対応環境となっています。対応環境以外では、デフォルトで今までの GDI+ レンダリングで処理されます。

 

フォントレンダリング以外のアップデートとしては、WebParser プラグインが DynamicVariables に対応した点でしょうか。使い方がこれまでの DynamicVariables の作法と若干違っているので、詳細はマニュアル(英語)を見てください。

便利なアップデートとしては、Meter に Padding オプションが追加されたことと、Measure の一時停止関連 Bang の追加を挙げておきます。!PauseMeasure に関しては、!DisableMeasure と何が違うかというと、disable はそうなったときに値を返さない(0または空文字)のに対し、pause は最新の更新値を返すという違いがあります。毎回更新する必要はないし、必要になるまでは止めておきたいといった用途に使えます。

 

しばらくは D2D 関連のフィックスが続きそう……かな?

スポンサーサイト

[Rainmeter] Rainmeter 2.5

2013.04.09 | Rainmeter

0 Comments

Rainmeter 2.5 がリリースされました。詳細はリリースノート(英語)を見てください。

公式で紹介されている変更点を箇条書きすると、

  • FileView プラグインが追加された。(マニュアル(英語)
  • String メーターに ClipString=2 が追加された。制御用のパラメータとして ClipStringW / ClipStringH が追加された。縦横どちらかのサイズを指定した際に、動的にメーターサイズを制御できる。
  • 新しいマウスアクションとして、ホイールスクロールを扱えるようになった。(MouseScrollDownAction / MouseScrollUpAction など)
  • マウスカーソルの位置を表す変数が追加された。($MouseX$ / $MouseY$ など) ※リアルタイムには取得できず、主に既存のマウスアクションで使うものなので、用途はかなり限られる。
  • スキン、メーター、メジャーに OnUpdateAction が追加された。その名の通り、更新間隔ごとに呼ばれる。 ※OnUpdateAction から !Update などを呼ぶと無限ループになるので呼ばないこと!
  • メジャーに OnChangeAction が追加された。メジャーの値が更新される際、前回値と異なる場合に呼ばれる。 ※上記同様、必ず値が異なるようなものでは !Update などを呼ぶと無限ループになるので呼ばないこと!
  • スキンに OnFocusAction / OnUnFocusAction が追加された。スキンウィンドウがフォーカスを得たり失ったりすると呼ばれる。
  • !UpdateMeasure / !UpdateMeter の引数として、"*" が使えるようになった。!Update では UpdateDivider を無視した更新ができないため、そうしたことがしたい時に、代わりに使うことができる。
  • WebParser プラグインの ProxyServer オプションの挙動が変更された。

 

注釈もつけましたが、気を付けないといけないのは OnUpdateAction / OnChangeAction の挙動です。更新時に呼ばれるものから更新を行うと無限ループになってしまうので、絶対に呼ばないでください。UpdateDivider を指定していれば、!Update を呼ぶ場合に限り、無限ループにはなりませんが、どこで何がどのように更新されるかはわかりにくく、結局無限ループになってしまうことにもなりかねませんので、使用は推奨しません。

WebParser プラグインの ProxyServer オプションについては、指定方法を2つ追加し、以下の3通りの指定が可能になりました。

  • /auto
    レジストリに登録されたプロキシ設定を使用する(実際には、IEで指定したプロキシを使用する) ※デフォルト設定
  • /none
    直接インターネットへ接続する
  • servername:port
    プロキシサーバを指定する

 

加えて、Rainmeter.ini と同じ場所にある Rainmeter.data (プラグイン用の設定ファイル。存在しない時は手動でテキストファイルを作成。拡張子に注意)に以下のように設定すると(例として /none に設定)、デフォルトの設定を置き換えることができます。

[WebParser.dll]
ProxyServer=/none

また、今までは WebParser を使ったメジャーごとにプロキシを使い分けるといったことができませんでしたが、それもできるようになりました。指定方法が増えたのは副産物であり、こっちがメインの変更点です。

変更点に挙げられていないもので、自分が修正したものとしては、InputText プラグインの修正があります。
IME によっては、日本語入力が行えなくなる不具合がありましたが、たぶん修正されたと思います。少なくとも、使っている MS-IME では問題なく入力できるようになったようです。

 

次のリリースバージョンは 3.0 になります。
描画周りにかなり大がかりな変更が加わりますので、これまで通り「ベータだけど安定版として使える」とは言えなくなりそうですが、Direct2D / DirectWrite での描画を試してみたい方は使ってみてください。現時点ではバグが残っていたり、未実装な箇所が多かったりするものの、文字列描画品質の改善具合は垣間見れると思います。(残念ながら、現時点ではGDI+を使った描画よりも処理が重いですが……次第に改善されるかもしれません)

[Rainmeter] Rainmeter 2.4

2012.11.09 | Rainmeter

0 Comments

Rainmeter 2.4 がリリースされました。詳細はリリースノート(英語)を見てください。

今回の大きな変更点としては、今までテーマ (Themes) として扱われてきたものが、レイアウト (Layouts) という名称へと変更されています。テーマという呼称が勘違いを生みやすかったためだと思いますが、変更された経緯はよくわかりません。あと、"Layouts" 表記に変更されているのも英語のみで、日本語や他言語はまだ "Themes" 訳のままになっています。公式リリースとしてはちょっとお粗末な気もしますが、そのうち反映されると思います。
(英語に関してはちょくちょく修正が入っていますが、それが今後修正される可能性がある仮置きなのか、最終Fixで他言語でも訳していいものなのか判断が付かないことが多々あります。翻訳可能になった時点で告知が欲しいところです)

新機能としては、"Section Variables" というものが追加されました。"Section" とは、スキン内で定義されているメジャーやメーターのことで、それらに関する情報を変数として、スキン内で使用できるようになりました。例えば [Meter1] というメーターがあったとして、これまでは [Meter1] の位置やサイズを知る方法はありませんでしたが、2.4 では [Meter1:X] や [Meter1:W] のように使うことで、メーターの位置やサイズを他のメジャーやメーターの設定値に用いることができます。

また、書式指定も可能です。これまでは書式指定をする際には Meter=String の書式指定を使っていました。

[Meter1]
Meter=String
MeasureName=Measure1
MeasureName2=Measure2
Text="Measure1: %1, Measure2: %2"
Scale=100
NumOfDecimals=2

上記の例だと、Scale=100 と NumOfDecimals=2 が Measure1 と Measure2 の両方に反映され、どちらも 100 で割った値を小数点第二位まで表示します。ですが、Measure2 のほうだけ 1000で割った値を小数点第三位まで表示したい、といった用途には使えませんでした。"Section Variables" を使えば、以下のように書き直せます。

[Meter1]
Meter=String
Text="Measure1: [Measure1:2,/100], Measure2: [Measure2:3,/1000]"
DynamicVariables=1

実態は "Dynamic Variables" ですので、DynamicVariables=1 を付けないと動作しません。今まで [Measure] で使えていたものが [Meter] にも拡張され、さらに書式指定できるようになったものが "Section Variables" ということです。つまり、[Measure] / [Measure:] / [Measure:2] などの表記ができるようになりましたが、それぞれ動作も違っています([Measure] は文字列表記があれば文字列が使われますが、[Measure:]は数値が使われます)。詳細はマニュアルを見てください。

もう一つの新機能としては、スキンを右クリックしたときに出るコンテキストメニューに、スキン独自のメニュー項目を追加できるようになりました。既存のスキンメニューの間に挿入されるだけで、スキンで定義した項目だけが表示されるようになるわけではないので、使い勝手がいいかどうかは微妙なところですが……。

 

あと、これは触れておかないといけない点としては、オンラインマニュアルが再整備されて、ダイアログやメニューなどのUIに関するマニュアルも追加されたところでしょう。英語ですけど、難しくは書かれてないので、なんとなくわかると思います。本来ならマニュアルも日本語化されてほしいところではありますが……公式としてはどの言語にも翻訳は行わない方針のようです。(各言語に翻訳された後、英語マニュアルに追加・修正・削除があっても、翻訳先が古いまま残り続けることが常のため。また、翻訳が正しいかどうか精査不能だったり、翻訳方針がぶつかったりと、いろいろ面倒……。Rainmeter の翻訳状況を見ててもそう思います)

[Rainmeter] Rainmeter 2.3

2012.06.28 | Rainmeter

6 Comments

Rainmeter 2.3 正式版(最終版と呼んだほうがいいのかな?)がリリースされました。具体的な変更点はリリースノート(英語)を見てください。挙動に関する変更点は前回の記事にて触れていますので、そちらも参考にどうぞ。

2.3 における重要な変更点として、ディレクトリ構成の変更があるので、それについて書いておきます。これは標準インストールの場合のみ影響を受けます。

1つ目。アドオンのディレクトリが "Program Files\Rainmeter\Addons\" から "%APPDATA%\Rainmeter\Addons\" になりました。
2つ目。標準添付でないプラグイン(主にスキン製作者が添付したプラグイン)のディレクトリが "Program Files\Rainmeter\Plugins\" から "%APPDATA%\Rainmeter\Plugins\" になりました。優先順位は "Program Files" 配下にあるプラグインほうが高いです。

この変更によって、.rmskin なスキンパッケージを SkinInstaller を使ってインストールする際に、アドオンや添付プラグインをUAC対象である "Program Files" 配下へとインストールする必要がなくなったため、管理者権限を必要としなくなりました。管理者権限絡みで問題のあった環境では有効な変更だと思います。上にも書いたように、これは標準インストールで使っている場合で、昔ながらのポータブルインストール状態で使っている場合は今まで通りのディレクトリ構成でそのまま使えます。

 

スキン制作に関する部分でも、ディレクトリ構成の変更がありました。新たに "@Resources" という特別なディレクトリが定義されました。場所は "#ROOTCONFIGPATH#@Resources\" になります(標準スキンの Illustro の場合だと、 Illustro\@Resources)。
このディレクトリはスキン探索の対象外になるので、画像ファイルやインクルードファイル、Luaスクリプトなどをまとめて入れておくと、スキン探索の処理が若干軽減できます。逆に言うと、ここにスキンファイル(.ini)を置いてしまうと Rainmeter が認識できないので、絶対に置かないでください。
@Resources ディレクトリへのパスは #@# という変数に入ってますので、パスを指定する際には #ROOTCONFIGPATH# を使わずに ImageName=#@#Images\Image.jpg のようにしたほうが短く書けます。

また、"@Resources\Fonts\" に置かれているフォントは自動で読み込まれるので、LocalFont=の指定なしに使えるようになります。

 

いろいろと仕様が変わっていってるんですけど、最近はどう変わっていってるのか、どう変えていくのかがあまり追えていないので(いきなり実装されたりするので)、若干不安になることもあるといえばありますが、使いやすく(わかりやすく)変更されていくのであればいいかなと思っています。

[Rainmeter] Rainmeter 2.3 におけるスキン動作の変更点

2012.04.23 | Rainmeter

4 Comments

※今後変更される可能性もあります

Rainmeter 2.3 では、かなり大胆なバグフィックスが盛り込まれることとなりました。ここで言うバグとは、Rainmeter がまだ 1.0 にもなっていない頃から存在する、いわば「仕様」化してしまったと捉えて差支えのないものを含んでいます。スキン製作者によっては、この「仕様」を逆手に取ってスキンを作成された方もいらっしゃると思います。そういったスキンはもしかしたら、2.3 上で動作させるためには多少の修正を必要とするかもしれません。(公式でその件についてあまり言及されていないのが気になりますが)

 

その 1)
Measure=Calc の Formula 内に Measure を含んでいるとき、これまでは Measure の定義順に関わらず、必ず更新前の値が使われていましたが、2.3 では Measure の定義順に応じて、参照する Measure が前に定義されていれば更新後の値が使われ、後に定義されていれば更新前の値が使われます。

[Measure1] 
Measure=Calc 
Formula=Measure1 + 1 
 
[Measure2] 
Measure=Calc 
Formula=Measure1

上記のコードの場合、 2.2 以前では Measure2 は Measure1 より 1 少ない数で推移するのに対し、2.3 以降では Measure1 と Measure2 が同じ値のまま推移します。もし 2.3 以降でも Measure2 を1少ない数で推移させたい場合は、Measure2 の定義位置を Measure1 の前にする必要があります。

この変更は「Calc の遅延を修正したい」ということで行われたものです。

 

その 2)
スキン初回読み込み時、または再読み込み時に、これまでは Measure は2回更新されていました。2.3 では 1回だけ更新されるように変更されました。
上のコードで考えるなら、2.2 以前ではスキンが表示されたときに Measure1=2 / Measure2=1 となりますが、2.3 以降では Measure1=1 / Measure2=1 となります。

この変更は「Script が1回だけ実行されるようにしたい」ということで行われたものです。2回実行されると困る場面が多いらしい?
反面、「2回実行されることを前提で組まれたスキン」は動作がおかしくなる可能性があります。Update= が大きいと影響がより顕著に出やすいです。

 

その 3)
その 2) の副作用ともいうべき、IfAction の実行タイミングが、値の更新前から更新後に変更されました。
2.2 以前では、1回目の更新前にまず IfEqualValue=0 の Action が実行され(初期値が 0 なので)、その後に値が更新されます。2回目の更新前に 0 以外の条件に設定された Action が実行されます。この挙動のため、条件を満たす値に更新されても次の更新までは Action が実行されないという仕様になっています。
2.3 以降では1回しか更新が行われないため、IfAction の実行タイミングが更新前のままだと IfEqualValue=0 の Action しか実行されないことになります。そのため、実行タイミングが値の更新後に移動することとなりました。振る舞いとしては好ましい変更ですが、その副作用として、初回に必ず実行されていた IfEqualValue=0 の Action は実行されなくなりました。

この「バグ仕様」はいろいろなスキンで使われていると思うので、影響はそれなりにあると思います(実際に公式フォーラムにも動作がおかしくなった報告があり、回避策として遅延実行用の Measure を定義しておく方法が紹介されていた)。その 2) の変更同様、個人的には「互換性」を考えるのであればあまり好ましい変更だとは思いませんが、開発チームとしての結論は「デメリットを上回るメリットがあるから(主に上に挙げた Script)」ということで、このままになりそうです。実際に困るような有用な実例を具体的に挙げることができなかったのもあるので(極端な例だったり、実用的でなかったり)、もしそういった実用例を知っていれば公式フォーラムにて挙げていただけると助かります。

 

その 4)
これは問題というわけではありませんが、2.3 からは新しいAPIに対応したプラグインで DynamicVariables が使えるようになります。プラグインによっては、例えば WebParser の Url=[Measure] のように書式が DynamicVariables と被っているものもあります。プラグインの実装次第ですが、新しいAPIに対応するためにオプションの書式が変わったり、新たな書式が追加されたりする可能性もあります(まだベータなのでAPI自体が変わる可能性もあります)。

また、新しいAPIに対応すると、Rainmeter の旧バージョンでは動作しなくなります(関数名が被っているので恐らくクラッシュする)。もしプラグイン製作者が 2.3 だけでなく 2.2 以前にも対応する必要があるのであれば、それぞれの対応プラグインを公開する必要があります。1つのプラグインで新旧両方には(たぶん)対応できません。

旧バージョンに新APIプラグインを入れて、「プラグインを入れたらクラッシュした!」という報告が増えないといいなあ……。

 

----------

 

現時点で把握しているのは以上ですが、今後もこういった「仕様化していたバグの修正」で非互換な部分が出てくる可能性は否定できません。どっちがいいかは個々人のメリット次第になってしまうのでなんとも扱いづらいですが……。

[Rainmeter] Rainmeter 2.2

2012.01.22 | Rainmeter

0 Comments

Rainmeter 2.2がリリースされました。以下、いくつか箇条書き。

・UIがマルチランゲージ対応になりました。日本語も含まれています。訳をこうしたほうがいいとか、今後増える部分の翻訳など、手伝ってくださる方はフォーラムの日本語化スレッドまでどうぞ。

・「デスクトップを表示」したときに、今までは"Normal"のスキンは隠れていましたが、デフォルトの設定では隠れなくなりました。今まで通り隠したいなら、Rainmeter.iniの[Rainmeter]セクションにNormalStayDesktop=0を追加してください。(この設定方法は今後変わる可能性があるかもしれません)

・インストーラやRainmeter本体(exe/dll)にCertumのオープンソース用コードサイニング証明書がつきました。

・Litestepモジュールとして動作する機能が省かれました。

 

次の2.3では、プラグインでDynamicVariablesが使えるようになるかもしれません。ただ、対応するには新しいプラグイン用APIを使う必要があるため、既存のプラグインでは現状維持ということになります。自分のプラグインもその新しいAPIを使った方式に書き換えようかと思いましたが、それに合わせようとすると処理の構造上若干無理があったので、ちょっとめんどくさい……。

[Rainmeter] iTunesをアップデートすると動かなくなった

2011.10.27 | Rainmeter

1 Comments

iTunesをアップデートしたらRainmeterで曲情報が表示されなくなったというつぶやきをtwitterでよく見かけるので、回避策を書いておきます。

Rainmeter 2.1に含まれているNowPlayingプラグインは、iTunes10.5だと動きません。Rainmeter 2.2 betaをインストールしてください。最新のbetaは公式サイトからダウンロードできます。
または、インストールするのが嫌な人は(Rainmeterのバージョンを上げたくないなど)、2.2 betaを一旦ポータブルインストールして、NowPlayingプラグインだけを取り出して使ってください。32/64bitのどちらを使うのかを間違えないように。この文章で意味がわからない人は、素直にbetaをインストールするか、諦めましょう。

iTunesプラグインを使っている場合は、NowPlayingの部分を読み替えてください。対応しているのかはわかりませんが、なんらかの修正は入ったみたいなので動くのかもしれません。

Next Page »

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