2009年4月27日月曜日

emonster S2PとS2U2で快適Bluetooth音楽再生

S2Pという音楽再生ソフトがあります。BluetoothのAVRCP に対応しているので、motorolaのS9(bluetoothで音楽が聴けるヘッドセット)から早送りとか停止とか出来ます。それだけでも充分便利なのですが、S2U2というソフトと組み合わせると、S9の電源を入れると自動的にemonsterがS2Pを起動、S9の電源を落とすとS2Pを終了というすばらしいことができるようになりました。

S2Pはバイナリをいじらないと使えないようです。ぐぐると出てくると思うので探してください。(機種名を書き換えるらしい)

さらにS2U2は標準状態ではemonsterでは動かず(動いているようだが画面が変化しないので確認できない)、その設定にちょっと難儀したのでメモを残します。

DirectDraw(描画方法の一種?)というのを使う設定が標準なのですが、それだと上手く動きません。
で、設定を変更するためにS2U2setteingを起動するのですが、それすら画面描画が上手く行われません。色々試したところ、電源ボタンを押してオンオフしなおすと画面書き換えが行われることが分かりました。画面書き換えが行われる前も見た目は止まっているのですが、実際は動いているようです。そこで、設定を変更する方法として
・ちょっと動かす(スクロールしたり設定変更をタップしたり)
・電源ボタンをゆっくり2回押して(当たり前だが一回画面が真っ暗になる)画面書き換えをする
というやり方でやりました。無事directdrawじゃない設定に変更できました。そうなれば何度も電源ボタンを押さずとも無事に動いていることが確認できます。
で、bluetoothが繋がったらS2Pを起動する、切れたら終了する、という項目があるので設定します。
これで完了、鞄の中にemonsterが入ったままでも快適に音楽を聴き始めることができるのです。

後日、ハードリセットして全てやり直したときに偶然発見したのですが、NetFrontを起動していると何故かS2U2の設定画面でスクロールできます(DirectDrawなのに)。その隙に描画方法を他のに変えれば楽です。

S2Pでプレイリストが使えたら毎朝ダウンロードさせているポッドキャストの再生に使えるのに…。
↑最新バージョンではプレイリスト対応しました!!

2009年4月6日月曜日

スポル君 ピボット部グリスアップ、ブレーキワイヤー取り付け、BBオーバーホール

今日の目的はスポル君の
1、リアブレーキワイヤーの取り付け
2、ピボット部(前フレームと後フレームの接合部)がギーギー言うのでグリスアップ
です。

まずリアのブレーキワイヤーを取り付けました。アウターはすでにカットしてあったので、すんなり行きました。長いほう60センチ、短いほう12.5センチ。アウターのキャップをつける個所が4箇所ありましたがキャップ高かったので省略しました。アウターの金属がフレームを傷つけてサビが発生するかもしれない…と心配になったので、キャップの代わりにグリスをつけておきました。

次にピボット部の修理。ピボット分解するためには右クランクを外す必要があったので外す。あれ、BBのとこガタあるじゃん…分解…調子に乗ってBBオーバーホール。カップコーンタイプでした。左クランクが固かったけれど、右クランクはすでに抜けているので、ロックリング外してシャフトごと引っこ抜いてから左クランクを外しました。地面におけると力をかけやすい。
グリスをたっぷりつけました。シャフトが左右非対称でどっちがどっちか分からなくなっちゃったけど、ネットで見てみたら右が長いようなので、長いほうを右にもってきました。
クランクの取り付け時、ネジが舐めたような感触があってすげー驚いたけど大丈夫だったようです。ちゃんと溝の掃除しなかったからゴミでも詰まっていたのか、溝がゆがんでいたのか…。

途中で気付いたのですが後輪がガタガタしてる。時間も遅かったので今日は諦めて、今度ハブを調整します。
リムも汚れているので地道にピカールかけます。
ブレーキシューは限界超えてるな…でもコレ用のシューがやたら高い…。

今までに良くあった「あの工具が無い!」とか「ああ、またアレを取りに部屋に戻らなくちゃ」と言うのがほとんど無くて、スムーズに整備できました。いつの間にか上手くなってるんだなあ。

ブライアン オイル交換

23487.7km
オイル交換しました。
前回のオイル交換は記録によると22686.1km2007年11月。
距離は800kmだが一年以上同じオイルだった。
オイル交換するのに手順迷わないし、はやくなったなあ。しみじみ。

emonster USBモデム自動起動その2

CondExecを使った版はケーブルの切断を検知していないので、インターネット共有の終了は手動でやる必要がある。それも面倒なので改良…。cmdRegistryNotifyAppは前から使っているし、レジストリ監視で出来そうなのでやってみました。

■概要
USBケーブルが接続されたらインターネット共有を起動してUSBモデムとして使えるようにする
(インターネット共有の起動、接続、は手動でやらないといけないので面倒)

■emonsterでUSBケーブルの接続を知るレジストリ
[HKEY_LOCAL_MACHINE\Software\OEM\USB]
"Cable_In"=dword:00000000
ケーブルつなぐと1
切断すると0になる

このレジストリを監視(cmdRegistryNotifyApp)して、インターネット共有を起動(MortScript)する。

■レジストリ監視(cmdRegistryNotifyApp)の設定
cmdRegistryNotifyAppでレジストリを監視する
でもこのソフトはコマンドラインでのオプション指定のみで難しいので
cmdRegistryNotifyHelperを使用する(MortScript)

cmdRegistryNotifyHelper.iniは以下のとおり。
[USBケーブル接続]
;実行するパス
AppName=\Program Files\MortScript\MortScript.exe
;実行する引数('で囲む)
AppArgs='"\My Documents\MortScript\usb_modem_on.mscr"'
;通知を受け取るウィンドウのクラス(通知しないなら-)
pszClass=-
;通知を受け取るウィンドウのタイトル(通知しないなら-)
pszWindow=-
;通知するメッセージID(通知しないなら-1)
msg=-1
;登録成功とかのメッセージを全て出させるなら3
msglevel=3
NotifyID=USBmodem.get
hKey=HKLM
RegPath=Software\OEM\USB
Regvalue=Cable_In
dwFlags=1
ctComparisonType=1
dwMask=-
psz=-
dw=1
[USBケーブル切断]
;実行するパス
AppName=\Program Files\MortScript\MortScript.exe
;実行する引数('で囲む)
AppArgs='"\My Documents\MortScript\usb_modem_off.mscr"'
;通知を受け取るウィンドウのクラス(通知しないなら-)
pszClass=-
;通知を受け取るウィンドウのタイトル(通知しないなら-)
pszWindow=-
;通知するメッセージID(通知しないなら-1)
msg=-1
;登録成功とかのメッセージを全て出させるなら3
msglevel=3
NotifyID=USBmodem.get
hKey=HKLM
RegPath=Software\OEM\USB
Regvalue=Cable_In
dwFlags=1
ctComparisonType=1
dwMask=-
psz=-
dw=0

■インターネット共有を起動するMortScript
□usb_modem_on.mscr
#インターネット共有を起動
Run("\Windows\IntShrUI.exe")
#ちょっと待ってみる
Sleep(2000)
#接続
SendLeftSoft("インターネット共有")

□usb_modem_off.mscr
#インターネット共有を終了
Close("インターネット共有")


以上の設定をしたらcmdRegistryNotifyHelper.mscrでレジストリ監視を登録しておく。

emonster USBモデム自動起動

我が家にはADSLとか光とかありません。インターネットはemonsterのみです。パソコンでもemonsterを介してネットに接続しています。接続方法としては知る限りは3つです。
・USBケーブルで接続
・bluetoothのDUN(マニュアルには載ってない)
・bluetoothのPAN

PANは上手くいかないので諦めました。
DUNにも浮気したのですが、接続が不安定、結局充電のためにUSB接続する、ということで諦めました。emonster側の操作は何も必要ないというのは魅力です。
USBケーブルは、emonsterでインターネット共有を起動して「接続(左ソフトキー)」して、パソコン(ActiveSync必要)とUSBケーブルでつなぐ、という手順です。充電を考えると結局これだなということになったのですが、emonster側でいちいちインターネット共有を起動して接続するのが面倒すぎる。ケーブルさすだけでさっと使えないのだろうか…ということでやってみました。

■用意するもの
・CondExec
・MortScript

■CondExec起動のショートカットを作る。usb modem自動起動.lnk(*1)
\Program Files\CondExec\CondExec.exe -section=USB modem

■CondExecの設定ファイル(CondExec.ini)を下記の様にする。
[USB modem]
class=ActiveSync
title=ActiveSync
check=change
trigger=running
exec=\Program Files\MortScript\MortScript.exe|"\My Documents\MortScript\usb_modem_auto.mscr"
exec=\Program Files\CondExec\usb modem自動起動.lnk

■スクリプトファイル(\My Documents\MortScript\usb_modem_auto.mscr)を用意する
#インターネット共有を起動
Run("\Windows\IntShrUI.exe")
#ちょっと待ってみる
Sleep(2000)
#接続
SendLeftSoft("インターネット共有")

■*1のショートカットをスタートアップに登録しておく

■動作説明
CondExecがActiveSyncの起動=USBケーブルの接続、を監視
usm_modem_auto.mscrでインターネット共有を起動、「接続」する

■課題
純粋にUSBケーブルの接続を検出できれば、インターネット共有の起動と終了を自動化してすっきりできるんだけど…(これだとインターネット共有の終了は手動)

2009年4月2日木曜日

自転車LEDライトスイッチゴム補修

自転車で使っている超高輝度LEDライトのスイッチを押しているゴム部分が劣化してゴム柱がひび割れてスイッチに届かなくなっていたので、ゴム板を何枚か重ねて接着して補修しました。

このライトはおれの好きな単3の2本使用。電池部にはパッキンがあって水が入らないようになってるけどスイッチを含めた昇圧回路とかLEDとか入っている部分は水が入りやすい…。雨天時はビニールでもかけとくか。