*1  rlToday Source Code available

殆どタイトルそのままだが、XMLファイルでカスタマイズ可能な Windows Mobile Today 用アプリケーション rlToday の source code が Google Code で公開されたようだ。

http://code.google.com/p/rltoday/source/checkout

私も過去に幾つか skin + script を公開している。自分がもうWM端末を使っていない都合でメンテナンスできていないのが申し訳ないが。最近あまり更新が無かった気がするのでちょっと不安を感じていたが、こういう良いソフトがソースコード公開されて生き残ることが出来るようになるのはよいことだと思う。

NewsStand 071226版 - maketime.mscr bugfix

Posted by yoosee on Gadget at 2007-12-26 12:30 JST

*1  NewsStand 071226版 - maketime.mscr bugfix

livedoor天気予報の解析時に呼び出している maketime 関数内に、月が 1月の際に無限loopに陥るバグがあったので修正。恐らく昨晩の更新時から問題が出ているはずなので、利用者はアップデートをお願いします。ダウンロードは NewsStand 元記事より。

それにしても、MortScript 4.1 の Repeat(n) って n が 0 だと無限ループする仕様なのか。確かにマニュアルには n は 1 以上でないといけないとは書いてあるんだけど…。ちなみに同様の天気予報処理をしている GreyBox の方は曜日計算をしていないので影響ありません。

NewsStand update 071213

Posted by yoosee on Gadget at 2007-12-13 19:00 JST

*1  NewsStand update 071213 - INIファイルの直接ダウンロード機能追加

NHKニュースRSSのダウンロード処理に、RSSの代わりにINIファイルを直接ダウンロードして解析処理をスキップするモードを実装した。ダウンロードは過去のエントリ NewsStand より。

NewsStand では newsflash.mscr の中で RSSのダウンロードと解析→iniファイルの書き出しをデバイス上でやっているが、NHKニュースのRSSサイズが大きい(60KB程度)こともあり、処理が非常に重くなっていた。下手すると定期実行のダウンロード中に処理が中断することまであっていい加減鬱陶しくなったので、外部サーバで処理した ini をそのまま使うモードを用意した。NewsStand.ini に ini ファイルダウンロード先として
NewsFlashIniURL=http://....
を定義すると、そちらを優先して処理し、無い場合は今まで通り RSS ファイルをダウンロードして解析する。

*2  RSSからINIファイルへの変換

INI に変換したコンテンツは再配布できないが、自前でやる分には問題ないだろう。ツールとして ruby で rss2ini.rb と言うものを書いてみた。もしくは世間にあるサービスを使うといい。RSS2INI でぐぐると使えそうなサービスが見付かるだろう。

*1  NewsStand - MortScript で各種情報を取得・切り替え表示

NewsStand rltoday skin少し前に作った GreyBox と NewsFlash2 に「天気予報とニュースが表示できるスキンがあると嬉しい」というコメントを頂いたのだが、デザインを色々思い悩んでいてようやく先の3連休にちょっと作ってみた。基本的にいつも通り VGA(480x640) を前提に作成している。

  NewsStand071201.zip
  NewsStand071204.zip
  NewsStand071213.zip
  NewsStand071226.zip

ニュース表示には前回同様 NHKニュースRSSRss2Ini で ini に変換している(071213版でINIファイルの直接ダウンロードを実装した)。天気予報はこれも以前と同様に livedoor 天気予報(標準では東京の予報)から。今回はついでに日経のマーケット指標も取得・表示出来るようになっている。

GreyBox では情報の切り替えにスキン切り替え方式を使っていたが、Today の再描画に時間がかかって鬱陶しいので今回はレジストリの値を書き換えていく方法を取っている。ニュースの最新記事見出し一覧個別記事マーケット指標週間天気予報がアイコンのタップによって切り替え表示可能だ。またニュースに関しては 6秒間での自動切り替え再生があり、流し読みが出来る。

*2  導入手順

詳しい導入・利用方法は同封の readme.txt を参照。MortScript は数ヶ月前にリリースされた最新版の 4.1 が必要なので、既に導入している人は注意されたし。利用には以下が必要。
  • rlToday 0.1.22b 以上
  • MortScript 4.1 以上
  • qkc-arm-wince
    文字コード変換ツール。実行ファイルは \Program Files\qkc\qkc.exe に設置し、to_windows_dir\ の下にある cegcc.dll, cegccthrd.dllは \Windows 直下に置く。
  • utf8sjis.exe
    UTF8→SJIS文字コード変換ツール。実行ファイルは \Program Files\qkc\utf8sjis.exe として設置
以下は無くても使えるが、あった方が便利。
  • Century Gothic の GOTHIC.TTF
    Windows PC から拝借。\Windows 直下に配置
  • ShowCallLog
    Call に割当て。不在着信が1件以上なら着信履歴画面,0件ならば電話アプリのダイアル画面を表示するアプリ。\Program Files\ShowCallLog\ShowCallLog.exe として配置。
  • DodeCale
    日付部分に割当て。6 or 12ヶ月分のカレンダーを表示するアプリ。
  • AutoConnect
    自動ダイアルアップ機能を追加するツール。MortScript の Connect() 関数呼び出しでは接続に行ってくれない場合に必要。
上記をインストールしたら、展開した NewsStand フォルダをそのまま \Program Files\rltoday\ 以下に置き、Options から Skin として NewsStand を選択。そのままだと情報が表示されないので、左中程の新聞アイコンをタップして初回更新処理を行う。初回更新後は 5,11,17,24時に自動更新が行われる。

*3  過去の rltoday skin

*4  更新履歴

  • 2007-12-01 NewsStand071201.zip
    ファーストリリース
  • 2007-12-04 NewsStand071204.zip
    ショートカットの同封、ニュース記事ポップアップ表示機能の追加
  • 2007-12-13 NewsStand071213.zip
    ニュース記事のINIファイルを直接ダウンロードするモードを追加
  • 2007-12-26 NewsStand071226.zip
    month=1の場合に maketime.mscr の Repeat() が無限loopする問題のfix

*1  NHK Lab の iPod touch widget サイト

少し前に作った NewsFlash - 電光掲示板型 rltoday スキン + MortScript が 産経MSNへのリニューアルで使えなくなったのだが、NHK Lab の iPod touch widget サイト の仕組みを見てみたら NHKニュースRSS には description がある! と言うことでこちらを使うように書き換えた。skin はほぼ同一。

 NewsFlash2_rltoday20071003.zip

RSS → INI の変換には 【array[1] = 】MortScript で配布されていた Rss2Ini (及びその内部処理用の MatchRep) を使わせて頂いた。再配布条件が書いていないのでどうしようか悩んだが、とりあえず同包させていただいている。

利用は例によって、展開した NewsFlash2 フォルダを \Program Files\rltoday の下において skin として選択する。あわせて qkc.exe と utf8sjis.exe を \Program Files\qkc\ 以下に置く必要あり。右下の同期時刻をタップすると RSS を取得・更新し、「NHKニュース」をタップするとスクロールを開始する。description の内容は以前使っていた産経のものよりだいぶ長い。

*1  ニュースフラッシュ 電光掲示板型スキン + MortScript

新幹線でニュースを流している電光掲示板をイメージした rltoday skin + mortscript を書いた。

  NewsFlash_rltoday070912.zip

newsflash.mscr が 産経ニュースフラッシュからニュースを取得し、ini ファイルを作成。newsshow.mscr が作成した ini ファイルのデータを読み込み、レジストリを更新する。更新時刻(右下, 初期状態は "N/A")をクリックするとデータを取得し、ニュースフラッシュの文字列をクリックするとスクロールを始める。

導入には rltoday と MortScript が必要。RealVGA 化した W-ZERO3[es] でのみ動作を確認している。日時部分のフォントは例によって Century Gothic を指定している。

文字スクロールの速度や一時停止時間、全記事表示のループ回数、記事取得件数等は scripts\NewsFlash.ini で設定可能。AutoUpdate を 1 にすると 3時間毎に自動的に記事の取得に行くようになる。また画面の縦横切り替えに応じて最大表示文字数を指定しているので、フォントや解像度の関係ではみ出すようなら数字を調整のこと。

文字スクロールの実験としてカッとなって書いた。デザイン等はあまり真面目に作り込んでいないけど、動きは思ったように作れたので今は満足している。

*1  rltoday + mortscript スキン習作


↓左上BOXをタップで切替↑
以前から自分でも作りたいと思っていた、rltoday + mortscript で today に天気予報を表示する skin を作った。リアルVGA化したW-ZERO3[es] でのみ動作確認。幾つかのファイル名・レジストリは W-ZERO3 固有のものを入れている。MortScript で Livedoor Weather から天気予報を取り寄せて解析し、天気画像アイコンの変更とレジストリへの書き込みを行って today に表示する。また同じく MortScript で時刻と天気予報画面を切替表示するようにしてある。天気予報のダウンロード先URLは東京の予報に scripts\Greybox.ini の中で決め打ち。

アイコンは KDE の Liquid weather ++ 用 iconset から Samurize を使用。アイコンのネームルールは Yahoo! Widget 等と同じ Weather.com 形式なので、Livedoor weather のアイコン番号と合わせるために ldw.ini と言うファイルで数字を変換している。それ用のアイコンならばサイズ(120x120と50x50)が合えばそのまま使えるはず。日本の天気予報とはアイコンの齟齬が結構あるので、気になる人は自分で変更するといいかも。

Livedoor Weather の更新時刻は 5, 11, 17時なので、その5分後及び日付が変わる 0:05 に実行するように、スクリプト内で次回の RunAt() を設定している。起動初回のみは手動実行が必要だが、以降は自動的に実行される。

*2  導入手順

利用には以下が必要。以下は無くても使えるが、あった方が恐らく便利。フォントは無ければ Tahoma が使われるはずなのでなくてもいいし、好みにあわせて dafont.com などから拾ってきた上で skin を編集してもいい。
  • Century Gothic の GOTHIC.TTF
    Windows PC から拝借。\Windows 直下に配置
  • ShowCallLog
    Call に割当て。不在着信が1件以上なら着信履歴画面,0件ならば電話アプリのダイアル画面を表示するアプリ。\Program Files\ShowCallLog\ShowCallLog.exe として配置。
  • DodeCale
    日付部分に割当て。6 or 12ヶ月分のカレンダーを表示するアプリ。
  • AutoConnect
    自動ダイアルアップ機能を追加するツール。MortScript の Connect() 関数呼び出しでは接続に行ってくれない場合に必要。
上記をインストールしたら、展開した GreyBox フォルダをそのまま \Program Files\rltoday\ 以下に置き、Options から Skin として Greybox を選択。そのままだとアイコンなどが表示されないので、左上のボックスをタップして画面を切り替えた後、右下の Updated: 部分をクリックするとダウンロードと画面更新が行われる。

*3  余談と Tips

今回は天気予報の取得に MortScript を使ったが、これによって任意の URL からコンテンツをダウンロードして内容をレジストリに入れれば rltoday で表示させられるため、色々と応用が効きそうだ。MortScript はかなりクセがある言語だし文字列処理が面倒なので、Webサーバ側で ini ファイル形式にするのが簡単かもしれない。

今回は Skin の切り替えに skin.xml ファイルを書き換える方法を使った。タップに応じて走る MortScript が skin-xxx.xml と言うファイルを skin.xml として上書きコピーした上で RedrawToday している。ファイル編集は skin.xml ではなく skin-xxxx.xml の方にしないと上書きされてしまうので注意。
他の方法としては、rlTodday.ini の SkinFile エントリを書き換えて skin 名ごと変える方法や、rlToday.ini ファイルそのものを上書きコピーする方法などがあるようだ。

*4  追記: qkc 導入時の注意

qkc.exe の導入時には、アーカイブに含まれている to_windows_dir フォルダの中に入っている cegcc.dll, cegccthrd.dll という 2つの dll ファイルを \Windows 直下に置くこと。これ無しで qkc.exe を実行した場合、端末がハングアップしたり最悪の場合には初期化が必要になることがあるようですのでご注意ください。詳しくは以下コメント欄を参照のこと。

W-ZERO3[es] 2007-01-20 の Today

Posted by yoosee on Gadget at 2007-01-20 12:00 JST

*1  Today in Black

エセ iPhone にチャレンジした際にモチベーションが上がったので、久し振りに Today の構成を変更。全体的にモノトーン系でまとめた。使っているのは上から rlToday, todayCompact(アイコン), TodayAgenda, bLaunch 。rlToday と bLaunch のアイコンは適当な画像を加工して作った。

特に rlToday は xml の定義ファイルで clockface 画像や文字のフォント・配置を自由に設定できるのでいじり甲斐がある。見ての通り、複数タイムゾーンを表示して WorldClock としても使える。rlCalender で表示していたカレンダーは意外と見なかったので表示を止めて、必要な時には DodeCale を使う。

一番下の bLaunch に関しては、SmallMenu を使っているので正直必要ないのだが、アイコンの賑やかしに置いた。

過去のToday

*2  rl|Todayスキン公開

W-ZERO3 ツールMEMOにて紹介して頂いたので、拙作ですが skin を一応置いておきます。WhiteInBlack_rltoday.zip からどうぞ。自由に改変して頂いて構いませんが( (c)yoosee も消してもらって構いません )、一応ライセンスとして日記と同じく CC BY/NC/SA としておきます。
ちなみに日付の部分は 設定→地域→日付 から「カレンダーの種類: 西暦(英語)」を選択しています。また、RealVGA化済みで使っています

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

Monthly Archives

Select Month to read
  

Ads

Recent Entries

Related Sites