Spcium_icon_48

Spcium Version 1.2.6.704

Spciumの新しいバージョンにをリリースいたしました。以下の機能を追加いたしました。

  • 複数解像度の対応
  • 動作の安定性向上

まずは以下のSpciumのWinodws用インストーラーをダウンロードし、接続したいWindowsマシンにインストールしてください。Windowsのバージョンは7以降で動作いたします。

SpciumInstall_1.2.6.704.zip

Windows版のインストール時には、デバイスソフトウェアのインストール警告メッセージが2回表示されますが、それぞれ「インストール」を選択してください。

上記の手順ののちに、Android版のSpciumを起動してください。

Android版のSpciumは以下のURLからダウンロードできます。

Android版Spicum Google Playページ

Spcium_icon_48

Spcium(スぺシム)のご紹介

最新版 バージョン1.2.6.704 をリリースいたしました。

弊社の新しいプロダクトとして、スマートフォン、タブレットをWindows用のビデオカメラとして利用可能とする。Spcium(スぺシム)をご紹介します。

まずは以下のSpciumのWinodws用インストーラーをダウンロードし、接続したいWindowsマシンにインストールしてください。Windowsのバージョンは7以降で動作いたします。

ダウンロード Spcium for Windows 1.0.1.821

Windows版のインストール時には、デバイスソフトウェアのインストール警告メッセージが2回表示されますが、それぞれ「インストール」を選択してください。

上記の手順ののちに、Android版のSpciumを起動してください。

Android版のSpciumは以下のURLからダウンロードできます。

Android版Spicum Google Playページ

同一のLAN上でSpciumがインストールされたパソコンが表示されますので、目的のパソコンをタップしてください。表示されない場合はしばらくお待ちください。また、画面下部のテキストボックスにIPアドレスを入力することで接続することも可能です。

接続が完了すると、Androidがカメラのプレビュー表示となります。

撮影中画面

上記の状態となりましたら、接続が完了しています。任意のカメラアプリ(Windows8付属の「カメラ」など)を起動することでAndroidを無線カメラとして利用することが可能となります。

機能的には最低限のものしかありませんが、順次アップデートしていきます。よろしくお願いします。

ファイルパスをNSStringからNSURLへ変換する際のありがちな修正ミス

最初に正解を書くとNSStringのファイルパスからNSURLを正しく生成するのは以下のコードです。

Continue reading

VHDネイティブブートによるテスト環境の構築

とりあえずメモ書き。

1.仮想ディスクの作成。
1.VHD作成
diskpart起動後
create vdisk file=<“file name.vhd”> maximun=<N(MB)> [type={fixed|expandable}]
60GBの容量可変VHDを作る場合には。
create vdisk file=hogehoge.vhd maximun=61440 type=expandable

もしくはdiskmgmt.mscを起動して操作VHDの作成から作る。

2.差分VHDの作成
create vdisk fike=<”file name.vhd”> parent=<”parent vdisk file.vhd”>
parentパラメータで指定する親VHDは相対パスが使えない。絶対パスで指定する必要がある。このため親VHDの位置は移動できないので注意。
また、親VHDには必ず読み取り属性をつけておくこと。


2.OSインストールの準備
1.imagexの準備
WAIKに含まれるimagexが必要になるが、googleで検索すると落ちてるのでWindows7用のを拾ってくる。

2.仮想ディスクのマウント
diskmgmt.mscを起動もしくはdiskpartを起動して仮想ディスクをマウントする。

3.仮想ディスクにOSイメージを展開する。
仮想ディスクをマウントしたドライブをF:
OSのインストールディスクの入ったドライブがL:
とすると。
imagex /apply L:\sources\install.wim <N> F:
でOSのインストールイメージが仮想ディスクに展開される。
<N>は展開するOSによって異なる。
Windows 7×64 Ultimate = 4
Windows 7×86 Ultimate = 5

Windows 8×64 Enterprise =1
Windows 8×86 Enterprise =1
数字はimagex /info L:\sources\install.wimでIndexの数字を調べるか、通常のインストール時に並んでる順番になるようなので起動して調べる。

3.VHDのブートマネージャーへの登録。
1.ブートマネージャーへの登録
面倒くさいのでカレントのコピーを作成する。
bcdedit /copy {current} /d “VHD Boot1”
すると
“エントリ {8369a389-19cb-11e2-95b1-e28627bcdf8d}は正常に作成されました。”と固有の値が表示されるので、このIDをコピーしておく。

次に、VHDの登録をする。
bcdedit /set {GUID} device VHD=[C:]\foo\bar.vhd
bcdedit /set {GUID} osdevice VHD=[C:]\foo\bar.vhd

2つのコマンドが正常に終了したらbcdedit [Enter]でエントリが追加されてるか確認する。

4.運用方法について。
sysrepしてからイメージを他のPCに持っていく方法もあるが、検証目的と言うことであれば、インストール直後の環境が必要になる場合がほとんどなので、下記のようにVHDを管理する。
親:OSのインストールイメージを展開したVHD
子:セットアップ完了直後のVHD
孫:それ以降。
2-3.で作成したOSインストールイメージが入ったVHDを仮にWin000.VHDとする、
create vdisk fike=Win010.vhd parent=Win000.VHD
で、親Win000.VHDの差分としてWin010.VHDを作成する。
Win010.VHDを3-1,2.の方法でブートマネージャに登録し、通常通りセットアップを行い、インストール直後の状態までセットアップを行う。
この状態で、孫VHDを作成する、
create vdisk fike=Win011.vhd parent=Win010.VHD
で、Win010.VHDの差分VHDを作成する。
Win010.VHDをブートマネージャに登録したとき同じように、Win011.VHDもブートマネージャに登録する。
bcdeditで登録したいセクションのGUIDを確認し。
bcdedit /set {GUID} device VHD=[C:]\foo\bar.vhd
bcdedit /set {GUID} osdevice VHD=[C:]\foo\bar.vhd
で上書き登録ができる。
descriptionを変更したい場合には
bcdedit /set {GUID} description “disply name”
で変更できる。

Win011.VHDにWindowsUpdateやドライバ類のインストールが終わった状態でバックアップを取っておけば、以降はWin011.VHDのみ差し替えれば初期環境に戻る。
また他の試験を行いたい場合にはWin012とでもしてブートマネージャに登録を行えば他への影響が避けられる。

5.問題点
1.休止状態が使えない。
2.VHDを置いておくドライブに起動ディスク以外を指定するとなぜか起動しない。
3.VHDの世代管理とファイル名管理が面倒くさい。
4.bcdedtを使ってブートマネージャに登録するのが結構手間。

新年のご挨拶

明けましておめでとうございます。新年にあたりご挨拶申し上げます。

年末年始は皆様いかがお過ごしあそばされたでしょうか。
担当者は最近無医村問題でネガティブ方向に露出している秋田県に帰省して、帰るなり熱が出て何もせずに戻ってまいりました。
2013-01-01 16.17.32 HDR

そんな病の中でも社会人の義務として会社へのお土産は忘れず持ち帰ってきました。
として持ってきたのはこちらになります。

2013-01-07 11.11.49 HDR2

……。

……去年まではこんなの見なかったんだけどなぁ。

メーカーは”横井物産”というところのようですが「吉本は怒られても自分たちは大丈夫だろう!」という自信が伺えて頼もしい限りですね!

2013-01-07 11.52.25 HDR2013-01-07 11.52.47 HDR2013-01-07 11.53.09 HDR
なお、味はやや香料が強いものの普通においしかったです。

では、今年もよろしくお願い申し上げます。

ERG mouseの定義ファイルの作り方 2

前回、ERG mouseの定義ファイル作成のうちボタンへのキーの割り付けと配置までやりました。
あのままでも使用する上では問題はないのですが、あまりにも簡素なのが気になるところです。ERG mouseには背景画像を貼り付けることができるのでこの機能を利用して、もう少しリモコンらしいデザインにしていきます。

1.背景画像のベースを作成する。
前回はここまで作りました。
レイアウト編集中
まずこのレイアウトを選択して、使用可能な状態にします。
iOSデバイスであれば□(ホームボタン)+電源SWで表示画面をキャプチャし、何らかの方法でPCにその画像を転送しますが、この時
キャプチャサンプル1
この部分をタップすると

メニューが表示されます。
メニュー1
配色を選択して。

メニュー2
さらに透過を選択します。

すると、
キャプチャサンプル2
画面がこの状態になるので、この状態でキャプチャします。

2.背景画像の作成。
先ほどキャプチャした画像を画像編集ソフトに読み込ませます。レイヤー機能が使えるソフトであれば、PhotoshopでもGIMPでも構いません、今回はPaint.NETを使用して作成していきます。

Paint.NETに先ほど作成したキャプチャ画像を読み込ませます。
Paint.Net01

次にWeb等から探してきたリモコンに使えそうな素材を貼り込んで行きます。
Paint.Net02
ボタンを一つ貼る度にレイヤーを増やしていくと調整しやすくなります。

ひたすらボタンを貼り込んで行き最後に背景を黒で塗りつぶします。
Paint.Net03
アクセントに左右のマウスボタンの所には赤いラインを入れてみました。

完成したので、画像として保存します。
Paint.Net04
ファイル-名前を付けて保存を選び。

ファイルの保存場所とファイル名を決めたら、Paint.Net05
JpegもしくはPNG形式で保存します。

今回はPNG形式でファイル名を「WMCBase.pngとして」保存します。
すると下記のように訪ねられるので
Paint.Net06
「平面化」を選んで保存は完了です。

念のため、作成した背景用ファイルは通常の保存でも保存しておくと良いでしょう。

3.ERG mouseへの背景画像の設定
先ほど保存した「WMCBase.png」をERG mouseの定義ファイルに設定します。
背景設定1
この画面から編集-背景-ファイル選択を選んで、「WMCBase.png」を指定します。

レイアウト編集中02
背景を読み込むとこのような状態になるので。

次はボタンのラベルを消していきます。
レイアウト編集中03

ひたすら削除を繰り返し
レイアウト編集中04
全部消えました。

ボタンのラベルを全部消し終わったら、ファイルから保存を選んで定義ファイルを保存して完了です。

レイアウトを指定して接続すると、iPhone側の画面には
WMC用リモコン
このように表示されているはずです。
もし
NG
こんな状態で表示されるようであれば、右上のメニューボタンから配色を透過にしてください。

Windows7をインストールしたHDDをZOTAC GF6100-E-E に載せ替える。

ZOTAC G43ITX-A-Eにで動いていたWindows7 x64のHDDをZOTAC GF6100-E-Eに載せ替えようとしたところ、予想通り起動しませんでした。
G43ITX-A-Eは型番が示す通り、Intel G43チップセットですからCPUはIntelです(Core2Duoが乗ってました)、この構成で動作していたWindows7 x64のHDDをAMDのAthlon II X2 260u+NVIDEAのIONチップセットのGF6100-E-Eに載せ替えたのですから、動かないのは想定の範囲内です。

症状としては、電源ON→Windowsの起動中にリブートWindowエラー回復処理

→コンピュータの修復
スタートアップ修復
→修復できずに終了する。
のおなじみのパターンです。

googleで”Windows7”,”起動しない”あたりをキーワードに検索すると、比較的よく出てくるのがSATAのモードをIDEからAHCIに変換した時に発生するトラブルですが、起動途中にこけるのは大体同じような原因でしょうから、このあたりから探ることにして修復を試みます。

電源ONで起動します、起動時にF8キーを連打していると、うまくいくと
詳細ブートオプション
詳細ブート オプションの画面になりますので、一番上の「コンピューターの修復」を選択します。

しばらく待っていると…
システム回復オプション
この画面では「OK」を押します。

次に管理者ユーザーでのログインを求められますので
システム回復オプション2
管理者のユーザー名を選択し、パスワードを入力してから「OK」ボタンを押します。

回復ツール選択画面が表示されたら
回復ツール選択
一番下の「コマンド プロンプト」を選んでクリックします。

すると
cmdimage
と、コマンド プロンプトが開きました。
この状態ではエクスプローラー等は使えないので、手動でWindows7がインストールされているドライブを探し当てることになりますが、C:はシステムで予約済みですので、D:から割り当てられるようです。
例えば1つのHDDに特にパーティション等を作成せずにインストールした場合にはD:がWindowsがインストールされたパーティションになります。
今回はD:がWindowsがインストールされているドライブでしたので、コマンド プロンプトから

reg読み込み
と入力し、レジストリエディタを起動します。

レジストリエディがが起動したら、
\HKEY_LOCAL_MACHINE\tmpreg
をまず展開します。
HKLM-tmpreg
IntelチップセットのSATAをIDEからACHIに書き換える場合を検索すると、\services\iaStorV 内のStartの値(DWORD)を3→0に書き換えれば良いとあります。また、同じく\services\msahciについてもStartの値を書き換えると直るようなのですが、
今回Intelのチップセットではないので、最初に
・HKLM\tmpreg\ControlSet001\services\msahci
・HKLM\tmpreg\ControlSet002\services\msahci
の2カ所のStart値を3→0に書き換えます。
msahci

次に今回使っているNVIDEAのIONチップセットでiaStorVと同じようなものが無いか探してみると…
nvraidnvstore
・HKLM\tmpreg\ControlSet001\services\nvraid
・HKLM\tmpreg\ControlSet001\services\nvstor
・HKLM\tmpreg\ControlSet002\services\nvraid
・HKLM\tmpreg\ControlSet002\services\nvstor
が見つかりました。
念のためこの4カ所についてもStartの値を3→0に書き換えておきます。

書き換えが終わったらレジストリエディタを終了します。
先ほど開いたコマンド プロンプトから

regunload
と入力し、先ほど書き換えたレジストリを保存します。

ここまでの作業が完了したらコマンド プロンプトをxボタンで閉じて
reboot
再起動ボタンを押して再起動します。

再起動後、書き換え前のように起動途中で再起動を繰りかえさず起動することができました。
最後に必要なドライバ類を読み込ませて完了です。

おまけ
Windows7起動後 コマンドプロンプトを管理者として実行し

とすると、デバイスマネージャーが起動されます。
デバイスマネージャーのメニューから表示-非表示デバイスの表示、とすると通常表示されないデバイスを表示することができるので、G43で使っていたデバイスを片っ端から削除します。

Polylineを良い感じに間引きする

八王子防犯マップ for Android にて、市境を表示する機能を追加したところ、市境のpolylineデータが8000ポイント以上になり、アプリがもっさり動作になってしまいました。

そのため、良い感じに間引いてくれるアルゴリズムを探したところ、douglas-peuckerアルゴリズムを利用するのが一般的のようです。
手頃な実装がないかと探すと、C#のサンプルをCodeProject内に発見。


A C# Implementation of Douglas-Peucker Line Approximation Algorithm


上記を参考に、ちょっとしたフィルタプログラムを書いて地点数を1/10程度にまで間引いたところ、描画速度は劇的に改善しました。表示品質も、拡大するとガクガクするけれど、目安としては十分に思える物に見えます。

device-2012-11-27-131122

地図アプリなどで、いろいろと応用できそうです。

というわけで、上記の内容が果たしてうまくいったかは、八王子防犯マップ for Android をインストールして試してみてください。

en_app_rgb_wo_60