2006年12月30日土曜日

[プレゼン][Web カメラ]LifeCam VX-6000 を買ってきた / DirectShow.NET について

マイクロソフトの Web カメラ「LifeCam VX-6000」を買ってきた。
画質・音質が思ったより良くないが、こんなものなのだろうか。Windows Live Messenger で使用する分には問題があるとは思わない。しかし普通に画像やムービーを撮るような用途には向かないと思う。
どの会社の Web カメラもこの程度の性能だと思うが、「高画質機」「高級機」の需要が今後はでてくると思う。5,6年前くらいのデジカメにはよくPCカメラ機能が装備されていたような気がするが、最近のカメラはどうなっているのだろうか。
Vista(x64 RC1)へのドライバのインストールはカメラとして認識させるところまではできた。しかし LifeCam ダッシュボード・Windows Live Messenger などアプリケーションのインストールで失敗した。今後に期待したい。もちろん XP では問題なかった。
なお、Windows Liv
e Messenger(8.0) は非常によくできていると思った。

で、プレゼンへの応用の話だが、前回のエントリで触れた DirectShow.NET という名前のライブラリは自分が確認したところ少なくとも二つある。片方は GPL でもう片方はライセンスの記述がない。おそらく後者を使わせてもらう方向で内容を調べている。手元のVista(x64 RC1)でプログラムをテストしたところきちんとキャプチャできた。


2006年12月27日水曜日

[プレゼン] DXPresentation で Web カメラを使ってみるテスト

PCカメラ(Webカメラ)をプレゼンで使えないだろうか。書画カメラのようにも使えるし、プレゼンターの表情をスクリーンに大きく映せば効果的なこともあるかもしれない。
などと、さきほど思ったのでプログラムを作ってみた。画像の取り込みには DirectShow をラッピングした DirectShow.NET を使った。DirectShow.NET はソースが公開されているがライセンスの記述が見当たらないので、それが気になっているため、今は公開しない。
手持ちのノート PCがたまたまカメラ付きだったのでそれで開発した。デスクトップ PC 用にも今度買ってこよう。x64 に対応しているのでマイクロソフトの LifeCam シリーズのどれかにしようと思う。ただ Windows Vista 用ドライバは、MS のサイトで「Final software for Microsoft LifeCam products will be available in
January 2007. Please return to this site later for available software.」となっていた。

Picmv 1.20 リリース

1.10 → 1.20 における変更点:
  • 内部での縮小テクスチャ作成処理を3倍程度高速化した。ただしサムネイルファイルを出力する場合は無効。
  • 命名規則に %k を追加した。メーカー名を意味する。JPEG ファイル以外などでメーカー名を取得できない場合は _Maker に置換される。
  • 命名規則に %l を追加した。モデル名を意味するJPEG ファイル以外などでモデル名を取得できない場合は _Model に置換される。
  • 命名規則に %g を追加した。元号による年号を意味する。
  • システムメニューから Picmv 配布ページを Web ブラウザで開けるようにした
  • デフォルトのウィンドウサイズを「小さい」から「大きい」に変更した
  • 起動時のコマンドラインに、入力ディレクトリを絶対パスで指定できるようにした
  • 起動時にカレントディレクトリ
    を実行中の Picmv.exe と同じディレクトリに移動するようにした
  • ヘルプファイルを改訂した
  • 細かい修正

Picea 1.46 リリース

IE へのお気に入りのエクスポートをサポートした。メニューバーより[ファイル]-[エクスポート]-[IEへのエクスポート]。

2006年12月26日火曜日

[高橋メソッド][Vistaサイドショー] DXPresentation 0.90 リリース

  • 目次ツールを追加した。目次ツールはオーディエンスにも見えることを前提としている。
    • Enter キーで目次ツールは出現する。
    • Escape キーまたは Enter キーで目次ツールは閉じられる。
    • カーソル上下キーでも目次ツールは出現する。
    • 目次ツールが表示されているときは、カーソル上下キーで項目を移動することができる。
    • 目次ツールに記述する項目は .label コマンドを使用する。.label の第2引数が目次に表示される。
  • .label コマンドを拡張した。.label [ラベル名] [目次項目名] という書式にした。目次項目名は省略することができる。
  • .toc コマンドを追加した。目次のスライド要素を示す。
  • randomfade エフェクトを追加した。文字をランダムな順で登場させる。
  • .effectse
    t コマンドでエフェクト名を列挙するときスペースでも区切れるようにした


目次ツール

2006年12月21日木曜日

[Vista][Sidebar Gadgets] nDigiGadgets 0.14 リリース

nDigiEjectIt:   リムーバブルディスクをイジェクトし安全に外せるようにする。新規追加。
その他のガジェットも細かい修正をした。

nDigiEjectIt

nDigiEjectIt は、USB フラッシュメモリや SD カードを「取り出す」。CD-ROM のイジェクトをすることも可能。
USB フラッシュメモリを抜くときの、取り出し操作が面倒に感じられたので作成した。
同時に3ドライブまでしか表示できない。CD/DVD の表示は不要かもしれない。

2006年12月18日月曜日

2006年12月15日金曜日

[Vista][WPF] FXLauncher 0.02 リリース

  • アイコンをマウスオーバーしたときにスケールアニメーションをかけるようにした
  • FXLauncher から 1つ以上起動しているアイコンはオレンジ色のアウトラインエフェクトをかけるようにした           
  • 右クリックメニューにクリーンナップコマンドを追加した。古いアイコンを更新する。      
  • 起動時にクリーンナップコマンドを実行するようにした。
  • そのほか細かい修正


2006年12月14日木曜日

[WPF][Vista] FXLauncher 0.01 リリース

ボタン型ランチャ FXLauncher 0.01 をリリースした。

内容は古典的なランチャ。しかし WPF(Windows Presentation Foundation) を使ってレンダリングしている。以下 ReadMe.txt より抜粋。

●FXLauncher とは

・FXLauncher はプログラムを起動する Windows Vista 専用プログラムです
・いわゆるボタン型ランチャです
・ボタンの自由な配置だけではなく、起動回数、最後の起動時刻、古さ、名前でソートすることができます
・インクリメンタルサーチが可能です
・スタートメニューからインポートすることが可能です
・ボタンの大きさをボタンごとに設定することが可能です
・プライマリスクリーンの最上部に隠れます
・Windows Vista に搭載される W
PF(Windows Presentation Foundation)を作者が学習するために作成されました


自由配置ビュー


そのほかにもいくつかのビューがある

[追記] マウスオーバー時にスケールエフェクトをかけるようにして、上書きアップデートした

2006年12月10日日曜日

[高橋メソッド] DXPresentation 0.89 リリース

  • Shift+B を押すと TAB キーと押したときと同様に背景のみの描画をするモードに移行するようにした。Microsoft Presenter 3000 を活用するために暫定的にこうしてみた。              
  • タイムキーパーウィンドウを一度閉じて開くと、残り時間がリセットされていたので修正した。              
  • タイムキーパーの残り時間をメインウィンドウの右下隅に非常に小さく描画できるようにした。タイムキーパーウィンドウの残り時間チェックボックスより制御する。


左側のウィンドウの右下隅に0:17 と小さく表示されているr>

2006年12月9日土曜日

[高橋メソッド][サイドショーガジェット] DXPresentation 0.88 リリース

  • カウントダウン機能を追加した
    • 講演中のインターミッションや授業の開始前などに、開始時刻までをカウントダウンする
    • カウントダウン(Ctrl+I)メニューより指定する
    • 現在のスライドがムービーまたは WEB の場合はカウントダウンできない
  • Microsoft Presenter 3000 への対応を始めた
    • Presenter 3000 のマウスモードには中クリックがないので、左クリック→右クリックの順に同時に押すと中クリックとして機能するようにした
    • Presenter 3000 のプレゼンターモードにおいて十字キーを活用する準備の影響で、Shift+B のみショートカットとして利用できなくなった。B キーで代用できる。
    • 今後ボタンツリーともんたメソッドにプレゼンターモードを対応させたい

rc="http://www6.plala.or.jp/nyk/images/1165624787.png" height="376" width="534">
カウントダウンの設定 - 最長60分まで設定可能


カウントダウン中の画面

ところで、Wii リモコンが各所でハックされているようだが、うまく使えないだろうか。もしかするとものすごく面白いことができるかもしれない。安価であるというのもいい。

2006年12月8日金曜日

[プレゼン][プレゼンター] Microsoft Presenter 3000 を買ってきた

Microsoft Presenter 3000 を買ってきた。小さい。これはいいかもしれない。タイマーが非常に便利だ。
プレゼンターモードとマウスモードをスライドスイッチで切り替える仕様になっている。プレゼンターモードではキーボードとして動いている感じだ。このモードではPowerPoint で便利に使えるようにできている。マウスモードではマウスとして動作する。以下は手元で調べてみた結果。

プレゼンターモード:
左キー: PageUp

右キー: PageDown
十字キーの左:  Shift+B を送信
十字キーの右:  Shift+F5 と Esc を交互に送信
レーザーキー:  レーザー照射


押しっぱなしにするとリピートする。十字キーの右を押しっぱなしにするとShift+F5またはEscがリピートする。


マウスモード:
十字キー: カーソル移動
左キー: 左クリック
右キー: 右クリック
レーザーキー: 何もしない

早速 DXPresentation で便利に使えるように考えてみる。


2006年12月6日水曜日

[Vista][SideShow Gadgets] サイドショーガジェットの managed 開発

オンライン版の MSDN ライブラリを見ていたら、Microsoft.SideShow.SimpleContentFormat という名前空間があった。中身を見てみたところ、これを使えば簡単にサイドショーガジェットを作れそうだ。DXPresentation では COM を使って開発したが、managed な API があったとは。いつからあったのだろう。自分の開発環境は Vista RC1(x64) なので SDK もそれにあわせた古いもののままにしてあるのだが、最新の SDK には入っているということなのだろうか。
自分はプロの Windows 開発者ではないので、TechNet や MSDN サブスクリプションは購入していない。Vista 製品版の発売が待ち遠しい。

[Vista] nDigiGadgets 0.13 リリース

  • nDigiCalcDouble:横に長い16桁表示電卓。新規追加。
  • nDigiCalc:細かい修正
  • nDigiFeed:ネットに接続されていないときにエラーを出していたので修正
  • nDigiAmedas:ネットに接続されていないときにエラーを出していたので修正。シングルクリックすると再読み込みするようにした。
  • nDigiTenki:ネットに接続されていないときにエラーを出していたので修正
  • nDigiTVProgram:ネットに接続されていないときにエラーを出していたので修正


nDigiCalcDouble

2006年12月5日火曜日

[高橋メソッド] DXPresentation 0.87 リリース

  • slip エフェクトを追加した。横方向に文字を滑らせる。
  • spring エフェクトを追加した。文字同士をバネでつないだような動きをさせる。

XPresentation シリーズ機能比較表(訂正版)

2006年12月4日月曜日

[WPF][高橋メソッド] FXPresentation 0.02 リリース

  • .web コマンドによるナビゲートに失敗したときに例外が発生し、プログラムが停止していたので修正した
  • Vista サイドショーガジェット「DXPresentation SideShow」に対応した。
  • 画像にもペンによるラインを入力できるようにした
  • ビデオにもペンによるラインを入力できるようにした

2006年12月2日土曜日

高橋メソッドツール / DXPresentation 0.86 リリース

  •  サイドショーホスト DXPSideShow.exe のパフォーマンスを改善した

それから DXPresentation のサンプルムービーを更新した。
http://nyk.jf.land.to/dxpresentation/dxp.mov

2006年12月1日金曜日

Picmv 1.20 beta3 リリース

  • デフォルトのウィンドウサイズを「小さい」から「大きい」に変更した
  • 起動時のコマンドラインに、入力ディレクトリを絶対パスで指定できるようにした
  • 起動時にカレントディレクトリを実行中の Picmv.exe と同じディレクトリに移動するようにした
  • 細かい修正
久々の更新。
何らかの手段でレジストリを書き換えてメディア挿入時にPicmvを自動的に起動するようにした場合に

起こる不具合の修正が主になっている。

2006年11月29日水曜日

DXPresentation 0.85 リリース

  • サイドショーガジェットにおいて、タイムキーパーが動作しているときは残り時間を表示するようにした
  • サイドショーガジェットにおいて、現在のスライドにノートがある場合は表示するようにした
  • サイドショーガジェットへの書き出し処理を高速化した
サイドショーガジェットは、Windows Vista でのみ動作します。
DXPresentation はサイドショーガジェットをインストールしなくてもこれまで通り動作ます。

サイドショーガジェットは場所としてはどこに配置されるのがスタンダードになるのだろうか。
ノートPCの液晶裏側に取り外し可能な形で実装されればプレゼンに便利だ。
またNintendoDSやPSPなどが使えるようになって
もおもしろい。
ゲーム機の場合描画能力が高すぎて、それはそれで問題が起きるかもしれないし、対応するためにソフトを
作っても採算が取れない可能性が高いかもしれないが。

DXPresentation 0.84 リリース / サイドショーガジェット対応

  • Windows Vista において、「次のスライド内容」をサイドショーガジェットに表示できるようにした(実験中・取り扱い注意)
  • [設定]メニューを追加した。フルシーンアンチエイリアシングとサイドショーガジェットの設定が可能。

サイドショーガジェットのインストールについて
  • Windows Vista 専用の機能です
  • デタッチャブルなガジェットが今後登場したときに、マルチディスプレイなしに次のスライド内容を確認することができます
  • 今後、ノートやタイムキーパーも表示させる予定です
  • インストールした場合に何が起きても責任を取ることは一切できません
  • ガジェットをインストールする場合は、インストール
    方法を完全に理解してからにしてください
  • 現段階ではアンインストール方法は記述しません(インストール内容をきちんと理解すれば問題なく実行できると思います)

インストール方法:


1. ガジェットの現物はまだ発売されていないため、ガジェットシミュレータをインストールします
1.1 WindowsSDK をインストールします
1.2 SDK の Bin ディレクトリの中から WindowsSideShowVirtualDevice /regserver を実行します

2. DXPSideShow をインストールします
2.1 DXPSideShow.reg をシステムにインストールし、レジストリに書き込みます

yle="font-weight: bold;">3. 使い方
3.1 システムのコントロールパネルの「Windows SideShow」に現れる「DXPresentation SideShow Gadget」にチェックをいれます
3.2 SDK の Bin ディレクトリの中から VirtualSideShow.exe を実行します
3.3 DXPresentation を起動して、[設定]メニューからサイドショーガジェットを有効にします



2006年11月27日月曜日

Windows Vista サイドショーガジェットのサンプルについて

Hello, World が動作しないと以前のエントリで書いたが、よくわからないが動くようになった。

Windows Sideshow Hello World

DXPresentation 0.83 リリース

  • backlight エフェクトでのライティング修正。ポイントライト追加。
  • backlight エフェクトを多少高速化した。このエフェクトはピクセルフィルレートの高いビデオカードが必要。
  • 細かい修正



2006年11月25日土曜日

DXPresentation 0.82 リリース

  • backlight エフェクト追加。後光が射したような感じの表現を目標とする。このエフェクトはまだ開発中。
  • 細かい修正


開発中の backlight エフェクト

2006年11月22日水曜日

DXPresentation 0.81 リリース

point3 に致命的なバグがあったので修正:

  • フルシーンアンチエイリアスを指定できるようにした。settings.ini ファイルに bAntiAlias=TRUE と記述する
  • point3 エフェクトで背景の色指定によって停止することがあったので修正した。
  • point3 エフェクト実行中に背景色がおかしくなることがあったので修正した。
  • プログラマブルシェーダ準備

アンチエイリアシングはそのうち設定ダイアログから設定できるようにしたい。
シェーダは HLSL で書こうと思うが、初めてなのでまだ入門書を読んでいる。アセンブリ言語で書くのと比べると恐ろしく簡単そうだ。

2006年11月21日火曜日

ITMediaエンタープライズにインタビュー記事掲載(Windows Vista サイドバーガジェット)

縁あって、ITMediaエンタープライズにインタビュー記事が掲載された。Windows Vista サイドバーガジェット絡み。
http://www.itmedia.co.jp/enterprise/articles/0611/21/news020.html

DXPresentation 0.80 リリース

0.79 2006.11.19 センタリング(.textalign center)設定時の、point2 エフェクトのパーティクル描画がずれていたので修正した
0.80 2006.11.21 point3 エフェクトを追加した。パーティクルのバリエーション。ブラーを ON にしたほうが効果がある。


point3 エフェクト

2006年11月20日月曜日

マイクロソフト プレゼンター 3000 / Microsoft Presenter 3000 が発売される

 Microsoft Presenter 3000 が発売される。

http://www.microsoft.com/japan/hardware/presenter/presen3000.mspx

ロジクールやコクヨなどのコードレスプレゼンターよりも価格が安いし、タイマーがついている。おそらく買う。
今日は社内でプレゼンを見る機会があった。相変わらず配布資料を凝視することを前提としたプレゼンだった。事前にハードコピーを配布する場合、スクリーンに投影されているスライドは今どのページをみればいいのかを教えてくれる程度の機能しかもたない。ページをめくるトリガに成り下がっているわけだ。少人数を相手にしたプレゼンの場合はそれでもいいのだが、人数が多い場合は相当な一方通行になるので、オーディエンスは退屈になる。ハードコピーを配らず、プレゼン
ターが魅力ある話をするのが解決の第一歩だが、プレゼン技法だけで全てを解決できる問題ではないように思える。オーディエンス同士の一体感のようなものを醸成するハード的な工夫が必要なのではないだろうか。


2006年11月18日土曜日

DXPresentation 0.78 リリース

  • センタリング(.textalign center)設定時に、一行に一文字しかない場合レイアウトが乱れていたので修正した
  • blast エフェクトを実装(このエフェクトは実装途中です montablockcolor で指定されたカラーを暫定的にエフェクトに使用しています)


開発中の blast エフェクト


DXPresentation で今後やりたいこととしては、プログラマブルシェーダを用いた様々なエフェクトがある。特に HDR は費用対効果が良いので使いたい。あとはパーティクル系、ライトトレイル、爆発系、シネマフィルムなどをやりたい。ただし、現在の DXPresentation は固定
?・ェーダしか使っていないから、どんなビデオカードでもそれなりに動作するが、以上にあげたようなエフェクトをやりだすと普通のノートPCでは性能が追いつかない可能性もある。

2006年11月17日金曜日

Windows Vista Sideshow Gadgets / サイドショーガジェットについて

Vista のサイドショーガジェットの Hello World サンプルをビルドしてみた。ビルドはうまくいき、ガジェットの実行時もガジェットホスト側のエラーはでない。しかし、VirtualSideShow.exeからロードすると、ガジェット画面に Page not found と出てしまう(Vista RC1)。ReadMe 通りにセットアップしたのだが。
Windows SDKs が古いのが原因かもしれない。仕事以外で久しぶりに C++ をいじった。

WPF を用いた高橋メソッドツール FXPresentation 0.01 リリース

WPF を用いた高橋メソッドツール FXPresentation 0.01 をリリースした。Windows Vista 専用

DOWNLOAD: 
http://www6.plala.or.jp/nyk/files/FXPresentation001.zip



●FXPresentation とは
・FXPresentation は高橋メソッドを用いたプレゼンテーションツールです
・指定さ
?たフォーマットのテキストファイルを再生します
・文字はスクリーン一杯に描画されます
・Windows Vista に搭載される WPF(Windows Presentation Foundation)を作者が学習するために作成されました
                 
●DXPresentation との違い
・テキストの画質が向上しました
・ドロップシャドウがソフトになりました
・ベベルが斜めになりました
・2D描画になりました
・アニメーション・エフェクトがありません
・そのほか機能が縮小されています
今後なんとかします

今後は DXPresentation にあった機能を取り入れていきたい。ま
?、Vista 専用なのだからミラーツールの代わりにサイドショーガジェットを使ってもおもしろいかもしれない。

スクリーンショット:


プレゼンターツールは DXPresentation のコード(.NET Framework2.0)をそのまま使えた


TMPresentation や DXPresentation と比較して、多少テキストの品質が上がっている

2006年11月16日木曜日

WPF / .NET Framework 3.0 の生産性について

前回のエントリで WPF は Vista 入手までいじらないかもと書いたが、もう少しいじってみる。3Dアニメーションなしなら、フレームレートの低さが目立つことはないだろうから。


現状の VS2005 でプログラムを作るとしたら、WPF よりも WindowsForm を使ったほうが圧倒的に生産性が高い。IDE がまだまだ中途半端にしか対応していないからだ。それに自分の場合WindowsForm に初めて触れたのが去年の 12 月だったから、せっかく使い方を覚えたのにもう捨ててしまうのはもったいない。WindowsForm と WPF をひとつのプログラムで併用するようなことも可能であればやってみよう。


ところで、「XAML IN A NUTSHELL」というオライリーの本を買ってみた。XAML のリファレンス本で、なかなか読みやすい。ペーパーバックは軽い(質量が小さい)ので持ち運びしやすくて重宝する。もう一冊気になっている本で、「Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation」という Perzold の本があるのだが、こちらはハードカバーで1000ページ以上ある。翻訳を待っていたらいつになるかわからないので、買うかもしれない。


2006年11月13日月曜日

WPF のエフェクトのパフォーマンスについて

Viewport3D のパフォーマンスについて調べる前に、まずは 2D 表示について色々とやってみることにした。Viewport3D のレンダリングが重い原因がわからず、作業が進まないからだ。
テキストを装飾付きでレンダリングするために FormattedText から Geometry -> GeometryDrawing -> DraingImage と作っていき、最終的に Image を作っている。このときエフェクトとして、ブラー、ベベル、グロー、ドロップシャドウなどが使えるのだが、ベベルの品質に疑問を感じる。特に RadialGradientBrush と組み合わせるとグラデーションのアルファ値によっては絵が破綻する(Vista RC1)。直る予定のあるバグならよいのだが。
また、複数のビットマップエフェクトを同時に適用したり、アニメーションと組み合わせることができるが、そういうことをすると途端に動作が重くなる(Athlon64 3400 / Vi
staRC1 / Radeon1600Pro)。ソフトレンダリングになっているかのような重さだ。というか、ピクセルシェーダーを使ってこの重さは考えられないから、多分ソフトレンダリングだ。
以上のように、RC1上でよくわからない現象が起きているので Vista RTM 上で WPF の評価をしたい。しかし自分は手に入る環境にはないので来年1月末の Vista 発売まで WPF を触ることは多分ないだろう。

2006年11月11日土曜日

WPF の Viewport3D のパフォーマンスについて2

WPF の Viewport3D のパフォーマンスだが、自分のプログラムではやはり良くない。ウィンドウのサイズを変えたり、頂点数を変えてみてもあまりフレームレートに影響がないので、GPUパイプラインのかなり前にボトルネックがあるように思える。ジオメトリに貼る VisualBrush の構成内容に影響されているのかもしれない。とにかくボトルネックが何なのかを確認しないとまずい。


あとアニメーションをさまざまなプロパティに適用できてとても便利なのだが、負荷が重いときは必ずドロップフレームさせるポリシーになっているようだ。これはこれで正しいが、用途によっては非常に見苦しい絵になることもある。


重いのは Vista が RC1だからなのだろうか。そうであるなら、RTM まで別のことをやっていたほうが時間の無駄にならない。そうではなく WPF のパフォーマンスがこれだというなら、今自分の作っている 3D プログラムは Direct3D で書く。NHK のデモはどんなコードだったのだろう。


まあ、Windows Form でやっていたような 2D の UI 構築を WPF でリッチな表現に書き直すことには意義があると思う。ただ Orcas は CTP で打ち止め宣言が出ているので、少なくとも Visual Studio 2005 を使っているうちは、やる気がでないという開発者も多いのではないか。これはマイクロソフト的にもまずいと思うが。


2006年11月9日木曜日

WPF の Viewport3D のパフォーマンスについて

昨日のエントリで、WPF の Viewport3D のパフォーマンスが悪いような気がすると書いたが、環境のせいかもしれない。
今作っているプログラムは、ノートPC(VistaRC1 x86 / GeForce Go7400)では30fpsもいっていない感じなのだが、デスクトップ(VistaRC1 x64 / RadeonX1600PRO)では、
常に 60fps 前後出ていることを確認した。Perforator という非常に便利な SDK のツールでフレームレートを確認できる。
ちなみにプログラムはジオメトリをたくさん並べて、カメラをアニメーションさせる内容。
話がそれるが、このプログラムでは当初はカメラのモーションは自前でやっていた。しかし、SplineAnimation がかなり使えそうな感じなので、これでやることになりそうだ。
書くコードの量が減って助かるが、罠がないことを祈る。

2006年11月7日火曜日

.NET Framework 3.0 が正式リリースされた

.NET Framework 3.0 が正式リリースされた。また、Windows SDK や VS2005 extensions(旧Orcas) も更新されているようだが、手持ちの Windows Vista RC には対応していないようだ。WindowsXP ならうまくいくのだろうが、落ち着いて作業するにはどうしたらよいというのだろう。
最近 WPF の Viewport3D をいじっている。感想としては、シーンをひとつの XML ファイルで表現でき、ある程度のアニメーションをその中に組み込むことができて便利だ。XAML を使わない場合でもドキュメントツリーを逐次構築すれば、すなわちシーンを構築したことになる。ここでいうシーンにはカメラやライトやモデルのマテリアルなど必要なものがほとんど全て入れられる。またかなりの抽象化が進んでいて GPU のことを考える必要はない(これは欠点にもなる)。DirectX を直接使うのに比べるとリソース
管理を厳密にやらなくてもよい分生産性は高い。今後、XAML ベースの 3D オーサリングツールを使える環境であれば、誰でも 3D プログラムを簡単に作ることができるようになるだろう。
Viewport3D の欠点としては、パフォーマンスが良くないように思える(自分のミス/環境のせいかもしれない)ことと、GPUを生かしきれるような自由さが無いっぽい点がある。UI の記述やこれまで Flash でやってきたことを本当の 3D としてやりたい場合には最適だと思うが、ゲームなどパフォーマンスとビジュアルのどちらも大切なアプリケーションでは制限が多いかもしれない。
WPF に関しては今後いろいろ試してみる。

2006年10月27日金曜日

DXPresentation 0.77 リリース


  • ドラッグアンドドロップによる起動でエラーが発生していたので修正した

  • コマンドラインからの起動において、スクリプトファイルの指定を相対パスでは記述できなかったので修正した

  • ノードツリー出現中の「次のスライド」ウィンドウでは、ツリーを抜けた最初のスライドを表示するようにした

  • .starttimekeeper コマンドを追加した。タイムキーパーを出現させ計測を開始する。すでに計測中のときは何もしない。

  • スライドを PNG ファイルに書き出せるようにした。メニューの[書き出し...]コマンドを使用する。常に全てのスライドを連番つきで書き出す。

2006年10月26日木曜日

REMIX TOKYO にいってきた

マイクロソフトのREMIX TOKYOで20分程しゃべってきた。プレゼンに DXPresentaion を使ったが、まだまだ足りない機能・エフェクトがあることが本番でわかった。このソフトはもう少しいじってみる。


[追記] REMIX TOKYO 関連記事


Internet Watch 「Windows VistaとLiveのガジェット開発で新たなビジネスチャンスを」
http://internet.watch.impress.co.jp/cda/event/2006/10/27/13758.html


RBB TODAY 「Vistaへの標準搭載でだれでもガジェットを使う時代に」http://www.rbbtoday.com/news/20061026/35304.html


2006年10月18日水曜日

TMPresentation 0.32 リリース


  • DXPresentation との互換性のため .ii と .i コマンドを追加した。

    PCの事故などでDirectXや.NET2.0が使えないPCを使わなければいけなくなったときのために、イメージ読み込みコマンドはせめて追加することにした。

2006年10月17日火曜日

DXPresentation 0.75 リリース

  • ミラーウィンドウを開いた状態で終了した次の起動において次の致命的な不具合があったので修正した。
    •  WindowsXP において起動時に System.Text.EncoderFallbackException 例外が発生することがあった。

2006年10月16日月曜日

DXPresentation 0.74 リリース

  • 移動ウィンドウに .subtext コマンドで指定された文字列を「キャプション」として表示するようにした
  • 移動ウィンドウに、キャプションまたはラベルからスライドを検索するボタンを追加した。
  • 移動ウィンドウを表示した際にフォーカスを検索文字列ボックスに移動するようにした。
  • 移動ウィンドウ、次のスライドウィンドウ、タイムキーパーウィンドウをウィンドウの最上面に配置していたが、これを廃止した。
  • ビデオツールバーのシークバーが見えなくなっていたので修正した

2006年10月15日日曜日

DXPresentation 0.73 リリース


  • Web 表示の拡大率を変化できるようにした。Web ツールバーの[表示]メニューから 25% - 400% の幅で指定可能。

  • メインウィンドウを最小化したときに、タイムキーパー、次のスライド、移動ウィンドウを隠すようにした。

2006年10月13日金曜日

DXPresentation 0.72 リリース


  • タイムキーパーウィンドウに、消化したスライドと経過時間を直交軸とするグラフを表示するようにした。

  • キーボード一文字入力により指定されたラベルへ移動する機能において、頭文字が一致するものが複数ある場合は、それらを順次サーチするようにした。

  • クローズアップ時にもラインをひけるようにした。ただしカーソルキーでスクロールしたりホイール入力すると消える。今後改善したい。

  • クローズアップ時にもアローカーソルを描画するようにした。クローズアップ時においても指し棒機能が必要と判断したため。

  • クローズアップ時のスポットライトのアルファ値を半減させ、コントラストがなるべく失われないようにした。


タイムキーパーウィンドウ - 横軸が時刻、縦軸がページのグラフが加わりました
練習に便利です。本番でもデュアルディスプレイ環境なら有効に使えます。


2006年10月12日木曜日

DXPresentation 0.71 リリース


  • セカンダリディスプレイが存在する環境下において、ミラーウィンドウをフルスクリーン表示したときの挙動に関して以下の修正をおこなった。


    • メインウィンドウのリサイズ時にアスペクト比を常にミラーウィンドウのそれに一致させるようにした

    • 切り替え時に、プライマリスクリーンに対するメインウィンドウのサイズが 90 % を超えないようにした。

  • [その他]メニューに[メインウィンドウサイズをミラーに合わせる(Alt+M)]コマンドを追加した。

  • .cameratrans [x] [y] [z] コマンドを追加した。スライド進行時の瞬間のカメラ座標をオフセットする。デフォルトは 0.0 0.0 0.0。

  • メッシュの読み込みで例外が発生したときに、タイトルバーにエラー情報を出し、プレゼンの進行は停止させないようにした。

2006年10月11日水曜日

DXPresentation 0.70 リリース

主にミラーウィンドウツールまわりの改良作業。



  • .settimekeeper [min] コマンドを追加した。タイムキーパーウィンドウに目標時間を分単位でセットする。スクリプトに一箇所だけ記述可能。

  • .fullscreen [mode] コマンドを追加した。ロード時のフルスクリーン化の制御方法を指定します <スクリプトに一箇所だけ記述可能>


    • mode = off(何もしません。前回終了時の方法で起動します。デフォルト)

    • mode = primary(プライマリディスプレイでフルスクリーン化し、ミラーを消去します)

    • mode = secondary(セカンダリディスプレイでミラーウィンドウをフルスクリーン化します)

    • mode = auto(セカンダリディスプレイが存在したときは secondary、シングルディスプレイでは primary として動作します)

    • なお DirectX8 世代以前の古いビデオカードではミラーウィンドウのパフォーマンスは非常に悪いので注意。 

  • .mirrorwait [wait] コマンドを追加した。ミラーリング時にプライマリ側の描画頻度を落として、古いビデオカードでもせめて観衆に見せるスクリーンの方はパフォーマンスを落とさないようにします。wait には 1 以上の値を指定できます。デフォルトは4。

  • セカンダリディスプレイが存在する環境下において、ミラーウィンドウを開いた場合には、必ずミラーをセカンダリディスプレイにフルスクリーン表示するようにした。

  • 従来のミラーを出したいときは「リサイズなしミラー」メニュー(Ctrl+Shift+M)を使用する

  • 各種ウィンドウの位置を保存することにした。DXPresentation.exe と同じ場所に、Settings.ini ファイルを保存するようにした。

  • 起動時に Ctrl + Shift キーが押されていたときは、Settings.ini ファイルを読み込まないようにした。

  • .note コマンドを追加した。メモ書きを直後のスライドに対して適用させます。現状では非フルスクリーン時にタイトルバーに表示されます。
                   

ミラーツールは非常に便利。ただ当初のもくろみでは、ミラー表示を高速化するためにDirectXを使ったのだが、実際にはそんなに速くならなかった。DirectX8世代以前のGPUや、DirectX9世代でも非力なチップでは、全く使い物にならないかもしれない。特にノートPCでは、ミラー機能のパフォーマンスが十分に出せるものはまだまだ少ないと思う。あと、Vistaのほうがこの機能に関してはかなりパフォーマンス的に有利なようだ。


2006年10月10日火曜日

DXPresentation 開発メモ - 高橋メソッド

TODO:

  • マルチディスプレイ使用時のハンドリングが悪いのでなんとかする。ノートPCは外部出力VGA端子にコネクタを接続した瞬間にディスプレイが認識されるので、プレゼン会場で切羽詰っているような場面で、現在の仕様では不便
  • マルチディスプレイ環境時に、ノート機能(プロンプター機能)を使えるようにする

実はあるカンファレンスで DXPresentation を使って発表するのだが、貸し出されたノートPCで1024x768x32bでミラーリングすると、かなり見苦しいノイズが出ることが発覚した。Vista だからというのもあるかもしれない。1024x768x16bでは問題ないが、マッハバンドが見苦しい。1280x1024ではノイズは目立たないが、プロジェクターの仕様にマッチするかわからない。

いろいろ試した結果、ミラーリングではなくマルチディスプ
?¬イにしたところうまくいくようなので、これでいくことにした。そうなると、それはそれでDXPresentation の機能的に不便なところが見つかったので、急いで改善するところだ。
ちなみにノートPCにはATI mobility FireGL5200 が搭載されている。ハード的リフレッシュレートやアプリ側のプレゼンテーションインターバルをいくら変えてもノイズは減らなかった。ほかのノートPCではミラーリングを含め大丈夫なことより、おそらくビデオドライバのバグだ。


2006年10月6日金曜日

Google Code Search

Google Code Search
http://www.google.com/codesearch
を使ってみた。ネット上のソースコードに対して grep できる。恐ろしく便利なわけだが、grep しているにしては処理が速すぎる。どうやって実現しているのだろう。

2006年10月5日木曜日

DXPresentation 0.63 リリース

  • .i [filename] コマンドを追加した。.image コマンドの省略形。
  • .ii #cccccc [filename] コマンドを追加した。.image と同じく画像を表示する。背景色をそのスライドに対して指定できる。
  • .bilinearfilter [on|off] コマンドを追加した。.image で指定される画像拡大時にバイリニアフィルタリングをおこなうかどうかを指定する(デフォルト ON)。
  • アイドル時にフルタイムレンダリングしていたが、負荷低減の目的で廃止した。
上記のうち4つ目の変更の影響範囲がでかいので、実際にプレゼンに使う人は十分にテストしたほうがいい。0.62はサーバから削除したが保存しておいたほうがいいかもしれない。

ところで、このところ公私ともに忙しい。.NET3.0 / WPF で作りたいものがたくさんあるのだが、全然勉強が進まない。WPF に関しては資料も
??れなりにある感じなので、切実に時間が欲しい。コンピュータ関係以外でも Web を探せば学びたいことのヒントがそこら中に落ちているが、飛ばし読みするに留まってしまう。まあ今は時間がないからしょうがないが、老後の余暇候補が増えるのはいいことなのかもしれない。

「日の丸検索エンジン、Google に対抗」について

asahi.com のトップ記事にCEATEC絡みで「日の丸検索エンジン、グーグルに対抗 厳しい指摘も」という記事があった。http://www.asahi.com/life/update/1004/013.html


経済産業省の「情報大航海プロジェクト」(NTTレゾナント、シャープ、NEC、NTT、富士通、電通、日立、早稲田大学、東大ほか)がやろうとしていることで、3年で300億円かけるそうだ。


官と大企業の共同プロジェクトであることや、いくつかの理由により記事からは、既に腐臭が漂っている。こういうことは最初の個人の考え出すアイディアが重要なのであって、アイディアがよければ少人数でもうまくいくし、だめならいくら人月を投入しても無駄なだけだ。それから大規模プロジェクトにしては予算が少ないように思える。


このプロジェクトは、よほど面白いことを誰かが思いつかない限り必ず失敗するが、どうせ失敗するなら途中までの成果物をオープンにしてほしい。そうすればそれを使って、また誰かがうまいことを思いつくかもしれないからだ。
または莫大な懸賞金と具体的要件を提示して、ベンチャーや個人からものを募るというのはどうだろう。もしかするととんでもないものを高校生が作ることだってあり得る。


なお、Google のプロダクツは不気味なくらい良くできている。しかも全てがだ。恐ろしい会社だ。


2006年10月4日水曜日

DXPresentation 0.62 リリース

  • クローズアップ中にカーソルキーを入力するとスクロールするようにした(+SHIFT で 10 倍長)
  • クローズアップ中に ESC キーを入力すると、スポットライトをオフにするようにした

Managed DirectX 2.0 は明日までの命

Managed DirectX 2.0 は10月6日以降起動しなくなる。


Adieu, Managed DirectX 2.0
http://letskilldave.com/archive/2006/09/20/Adieu_2C00_-Managed-DirectX-2.0.aspx


2.0 はベータ版だから、こういう仕込みはありなのかもしれないが、Managed DirectX 自体廃れていく感じがして残念だ。


で、これからも GPU のパワーを使ったプログラムを作っていきたいわけだが、いくつかの選択肢がある。



  1. Unmanaged DirectX に移行する

  2. Managed DirectX 1.1 を使い続ける

  3. XNA に移行する

  4. WPF でお気楽に作る

  5. OpenGL を使う

1.は真っ当な方法で、今後DirectX10世代のGPUを生かせることは間違いない。しかし現状では生産性が低い。
2.は今後の見通しが良くない。MDX1.1には以前のエントリでも触れたが、よくわからないバグがある。
3.はゲーム制作ならよいと思うが、自分が作りたいのは普通のアプリなのだ。
4.はマイクロソフト的には、おすすめのやり方だと思うし自分も使うと思うが、生DirectXと比較するとできないことがいくつかあると思われる。WPFは今後いろいろといじっていきたい。
5.はVistaで、OpenGLのパフォーマンスが低下するのかしないのかよくわからないので、なんともいえない。


どうしたものか。


なお、自分の作っているプログラム(DXPresentation、Picmv.NET)は MDX1.1 だから影響はない。


2006年10月2日月曜日

マウスが壊れた

かなり長いこと使っている、IntelliMouse Optical の左ボタンが、ボタンアップ時にボタンダウンのメッセージを出すようになってしまった。マイクロスイッチを清掃すれば直るかもしれないが、いじっている暇もないのでまた買ってこようと思う。会社でもこのマウスを使っているが、今のところ気に入っているのはこの機種しかないのだ。マウスはマイクロソフト製以外も含め、十数機種は試していると思うが、結局これに戻ってきてしまう。

最近のチルトホイール付のマウスの場合、いろいろ理由があるのだと思うが、ホイールを回したときのクリック感がない。この場合、WM_MOUSEWHEEL メッセージが回転角にきちんと線形に比例して出てくれれば、問題はないのだが、なぜかクリック感のあるマウスと同じように、かなり離散的な値が飛んでくる。したが
ってユーザの入力に対して期待した結果にならない。つまりクリック感のなさがそのままUI上不適切なフィードバックとなっている。以前のクリック感のあるマウスとのソフト的な互換性の問題などあるのだろうが、この問題のおかげで新しいマウスを使うことができずにいる。手になじむものが出てくればロジテック(ロジクール)に乗り換えればいいのかもしれないが、なぜかマイクロソフトのマウスは自分の手に妙にフィットするのだ。

DXPresentation 0.61 リリース


  • .camera コマンドを追加した。カメラモーションの基本特性を指定する。
                     -> .camera [camspeed] [lookspeed] [mode] が書式
                     -> camspeed はカメラ座標の動作速度係数(デフォルト1.0)
                     -> lookspeed は注視座標の移動速度係数(デフォルト1.0)
                     -> mode は spline(スプライン補間=デフォルト) または linear(一次補間)を選択可能。
                     -> これによりカメラ移動全般の移動方法と速さを指定することが可能になった>
  • slide エフェクト時のカメラの移動速度を調整した

  • offsety [line] コマンドを追加した。line 行分、上にテキストをオフセットする。
                     -> このコマンドにより、階段状になっていないプレゼン会場などにおいて、スクリーンの下部が見えにくい問題に対処する
                     -> 会場のスクリーンの設置状態に依存する要素であり、スクリプトとは関係がないことなので、この機能は将来はアプリ側に分離させたい

  • .textalign [align] コマンドを追加した。複数行テキストの横方向アラインメントを指定する。align には center か left が指定可能。デフォルトは left。

  • .subtextblink [count] コマンドを追加した。サブテキスト出現・変更時の点滅回数を指定する。現在は点滅をするかしないかだけを 0 or 1 で指定可能。

  • .textheight [height] コマンドを追加した。行の高さを指定する。フォントの高さに対する割合で指定する。デフォルトは1.2。

2006年9月28日木曜日

DXPresentation 0.60 リリース

  • .load [filename] コマンドを追加した。新しいスクリプトファイルをロードして制御を移す。
  • dollyupcam エフェクトで初期 XY 位置が数フレームおかしかったので修正した
  • dissolve エフェクトを .image で指定したピクチャにも反映させるようにした
  • slide エフェクトでピクチャが去るときにカラーをフェードアウトさせるようにした
  • slide エフェクトのカメラモーションがダサかったので修正した
  • .pagewidth [width] コマンドを追加した。slide エフェクトにおいて、スライドの占有する幅係数を指定する。width のデフォルトは 8.0。
  • 細かい修正


2006年9月27日水曜日

nDigiGadgets 0.12 リリース


  • nDigiLoad:      高速化。更新頻度変更。

  • nDigiLoadDuo:   高速化。更新頻度変更。

  • nDigiClock:     高速化。

  • nDigiDisk:      高速化。

  • nDigiMem:       高速化。

  • SunCal:         高速化。

2006年9月26日火曜日

DXPresentation 0.55 リリース


  • ツリーのノードボタン使用時にメモリリークが発生していたので修正した

  • サブイメージの Z 順を上げ、最上位のカーソルの下に設定した



2006年9月24日日曜日

地上デジタルラジオ放送無期延期


時事ネタもたまには書いてみよう。


地上デジタルラジオ放送が無期延期されることが明らかになった。
この話ではもともとは2011年に本放送開始だったのが、一度2006年開始に前倒しされた経緯があったはずだ。
放送開始を楽しみにしていたので大変残念だ。こういうことが起きるときには、信じられないくらい無能な人間が判断を下している場合がある。総務省のチャンネルプランを考える人なのか、放送局の偉い人なのかは知らないが、少なくとも現場の人間は関係ないだろう。


ところで地上アナログテレビ放送は、本当に2011年7月に停止できるのだろうか。


私はアナログ放送停波には賛成である。なぜならアナログ放送は帯域を使いすぎている。
アナログ放送は VHF1-3ch(91-108MHz)、4-12ch(171-222MHz)、UHF13-62ch(471-767MHz)を占有している。この中で移動体通信への応用などでもっとも美味しい周波数であるUHFは、特に広い範囲が使われている。


電波による通信は、空間の性質を利用しているにすぎない。空や宇宙や大気が公共のものであることは、そのまま電波が公共のものでしかないことを示している。しかし今に始まったことではないが、NHK以外のテレビ放送コンテンツの醜悪さは、この「電波はみんなのもの」という考えなど頭の片隅にもないとしか思えない。民放は数字が全てであって数字以外は何の価値もないという価値観をベースとしたエコシステムが、業界全体の収益を高水準に保ったたままできあがっているのだ。なお、このエコシステムには広告代理店と新聞社が含まれる。したがって新聞は絶対にこの問題に触れない。


上段でアナログ放送停波に賛成と書いた。しかし、だからといって地上デジタルTV放送に賛成と私は書いていない。むしろ電波の有効利用のためデジタル放送も無くなればよいと思っている。UHFを多くの放送局にアサインするのはいかにももったいなく、もっと有意義なことに使うべきなのだ。


地上放送は災害報道ではもっとも有利だと思うが、それ以外では不要な存在に今後なっていくと思う。もしも、未だにテレビを見ている人がいたら、テレビなしの生活を少しの間続けてみるとよい。何も困らないことに気がつくだろう。(ただしネット環境は必須となる)。


このままいくと2011年7月に現在のテレビ放送エコシステムの崩壊が始まる。


3年ほど前地上デジタル放送の試験放送が始まったときに、量販店でNHKデジタル総合とNHK総合(アナログ)の画像を並べて見せるデモを見たことがある。このデモでは同じ液晶テレビを使っていたから、デジタルにするとこんなにきれいになりますよ、とアピールしたかったのだろう。確かに近くでみるとノイズの出方などはデジタルの方が好ましいのだが、3-4メートルも離れると、私の矯正視力(0.7-1.0)ではほとんど区別がつかなくなった。画質に意味のある違いが感じられず、4:3な方がアナログで、レイテンシーがある方がデジタルとだけわかった。あのようなデモは、正直かもしれないがデジタルにとっては命取りで、購買欲をなくすには十分だ。ハイデフ映像は近距離で見るか、大画面で見てはじめて価値があるということだ。


小さくて安いデジタルテレビが発売されたら状況は変わるかもしれない。現在のデジタルテレビはなぜか薄く、大きく、高いものしかない。高いテレビだけしかない状況では一般市民はどう移行すればよいかわからないから、必ず混乱が起きる。これがそのまま「テレビ離れ」に結びつく可能性が高い。
テレビ局が今後も今のような放送を続けたいならば、安くて画質の悪いテレビをメーカーに生産するように頼むというのはどうだろう。いずれにせよ、テレビ局にはそろそろ国民に放送免許を返してもらう時期がやってくる。


2006年9月21日木曜日

nDigiWatch (アナログ時計)リリース

Windows Vista 用デート付きアナログ時計ガジェット「nDigiWatch」をリリースした。



デート付アナログ時計 nDigiWatch


16個目のガジェット。Vista 標準の「時計」ガジェットやヤフーウィジェットの時計には、秒針のバウンシングエフェクトがついている。かっこいいとも思うが、腕時計サイズのものにしてはバウンシングしすぎ(壁時計サイズなら違和感ない)で、針が重い感じがしたので真似をするのはやめた。しかし、それとは別のエフェクトを入れるかもしれない。


2006年9月19日火曜日

nDigiClock(Live ガジェット版)をリリースした

Windows Live ガジェットを試しに作った。サイドバー版のnDigiClockをLive版に移植した。リリースのやり方がよくわからないが、ガジェットのマニフェストは http://www6.plala.or.jp/nyk/live/Clock/Clock.xml だ。(このリンクをクリックしても何も起きない。Windows Live のページでリンクを使ってコンテンツ追加することが可能。)



左側のガジェットが Live 版 nDigiClock


Live ガジェットを作ってみての感想としては、まず SDK の最初のほうに「ローカルで実行している Web サーバーが必要です。このページの指示は、IIS を使用していることを前提としていますが、...」と書かれてあり、ここで読むのをやめる人もいるのではないかと思った。読み進めればわかるが Web サーバはなんでもよく自分は Apache を使った。ちなみに、「Microsoft が提供する無料の Cassini Web サーバ」を使う手もあるとSDKに書いてあったのでダウンロードしてみたが、自分の環境ではうまく動作しなかった。


Windows Live ガジェットは Windows サイドバーガジェットと名前も利用技術(JavaScript)も似ているが、互換性はない。また実装に対する思想もやや異なる。(多分だが、この二つのガジェットのプロジェクトチームは全く別で、下手するとリーダー同士の面識もないんじゃないだろうか)。Live ガジェットの方が多少モダンな実装をしているようにも見える。


Live ガジェットは、ブラウザを選ばず動作する。多分OSにも依存しない。Live.com をプラットフォームとするが、もしかするとブログなどにも貼り付けられるかもしれない(そのときは閲覧する側がガジェットのインストールをすることになる)。


将来は Vista のサイドバーガジェットと統合する予定であると FAQ に書かれている。こういうことは早くやったほうが良い。統合する予定があるなら、今は作らなくていいやと考える開発者も出てくると思われるからだ。統合すればかなり面白いことができそうだ。

[追記] XPSP2+IE6 で試してみたら、アルファ付 PNG のためうまく表示されなかった


2006年9月16日土曜日

nDigiGadgets 0.10 リリース


  • nDigiDisk:      横棒グラフを追加した

  • nDigiMem:     横棒グラフを追加した

  • nDigiLoad:     横棒グラフを追加した。あとたぶん eval() が重くて、処理が重くなっているので縦棒グラフの更新頻度を落とした。nDigiLoadDuo はこの部分を変更していないので表示に差異が生じている。

nDigiLoadDuo は動作が重過ぎるので、そのうちなんとかしたい。


横棒グラフの実装で難しいのは、全体の幅にどんな意味を持たせるかということだ。とりあえず、一律の幅にしたがこれはあまり良いやり方ではない。分母が異なる要素を同じサイズの UI として並べると、ユーザが混乱する恐れがあるからだ。パーセント同士の比較が誤解をもたらす元によくなるのと同じ話だ。Window Vista の「コンピュータ」ウィンドウではひとつの画面で、ディスクの使用率を横棒グラフを並べることで表現しているが、これも良くはない。前述の理由のほかにユーザはディスク全体のサイズを知りたいこともあるし、棒グラフは面積で表現されるから、割合よりも実サイズの表現に適していると思うからだ。


で、どうすれば良くなるかというと、ひとつには横サイズを実サイズに比例させることが考えられる。こうすれば棒グラフにより表現される面積は、常に実サイズと比例する。良い方法だ。しかし大きなディスクと小さなディスクが混在しているときは、小さなディスクの割合表示がみづらくなる欠点がある。だからといって対数表示にするわけにもいかない。ユーザの実感と一致しない表現だからだ。


もうひとつの方法としては、円グラフを活用することだ。円グラフは分母が必ず360度で表現されるから、ユーザにとって何が母数なのか自明で説明する必要がない。だからユーザは実サイズと混同しない。欠点は棒グラフと比較してピクセル数を消費しすぎることだ。


以上のことを踏まえ、nDigiDisk でどうするかについてはもう少し考えてみる。


2006年9月14日木曜日

nDigiDisk リリース他


  • 2006.9.14 nDigiDisk: 新規追加ディスク残容量表示

  • 2006.9.14 nDigiLoad/Duo: これ自体のCPU負荷が大きかったので表示間隔を長くした

  • 2006.9.14 nDigiMem: 高速化


nDigiGadgets は現在 15 個のガジェットが含まれる


2006年9月13日水曜日

nDigiCalc (電卓)リリース

Vista Beta2 までは、「電卓」というガジェットがあったが、RC1 ではなくなったようだ。だからというわけではないが、作ってみた。電卓アプリではソフトキーボード(ボタン)は不要と考えて、つけなかった。また電卓として使っていないときは時計表示をできるようにして、「邪魔度」を下げようとしている。それから、入力した計算式が上段にドットマトリクスLCD風に表示されるようにして、ソフトキーボードなしでもフィードバックを多くユーザに返すようにしている。括弧が使用可能。ただし8桁までしか表示できないのでそのへんが実用的でないかもしれない。



電卓。電卓のキーボードのグラフィックはない。ダブルクリックすると時計に。


2006年9月12日火曜日

nDigiAmedas リリース

nDigiAmedas をリリースした。ライブドアのアメダスの RSS を受信する。



気温・風速・風向き・日照時間・雨量を表示


Windows SDK RC1 の WPFSamples が凄い

Windows SDK RC1 がリリースされている。多分 Platform SDK の倍くらいのボリュームがある。古い C のコードも入っているが、最も興味をそそられるのは Windows Presentation Foundation のサンプルだ。.NET3.0(旧名WinFX)のことを知るにはこのサンプルを読むのが良いと思う。ひとつひとつのサイズが小さく種類が多いので、非常に役に立つ。一日中読んでいても飽きなさそうだ。日本語化して目次をつければ、そのまま「逆引きWPF」みたいな本になりそうな勢いだ。


サンプルを読んでいて思ったのだが、IE7 上で動作する WPF を使ったアプリケーション(XAMLアプリ)を作れるようになったのが面白いかもしれない。まずロジックをC# + .NET で書けるのがうれしい。.NETは3.0になってますます「全部入り」の傾向が強くなった。それから、クライアントサイドで動作するので、Flex(MXML)などではできないビジュアル表現ができるはずだと思う。なぜならサンドボックス内ではあるが、普通に.NETアプリで.exeファイルが動作するようなのだ。だから、ビジュアル表現以外もなんでも高速に処理できそうだ。欠点は Windows でしか動作しないことだが、ほかのリッチクライアント技術よりも少なくともビジュアル的には最強になれるのではないだろうか。(注意:自分はこの方面の開発経験は皆無なのでおかしなことを言っているかもしれない
)


ところで、Vista のサイドバーガジェットこそ、どうせ Vista 専用なのだから WPF アプリにすれば良かったのではないのだろうか。サイドバーガジェットでは JavaScript を使うが、JavaScript では同じことをやるのに多分 .NET 環境よりも CPU 時間を多く使うだろうし 3D 描画がストレートにできない。あと、JavaScript に関していえばたとえば Mozilla 界隈の XUL など凄いと思うができないこともある。たとえばプログラマブルシェーダーを使った面白エフェクトとか。そういったものが必要かどうかはとにかく、今そこにあるリッチなハード資源を効率よく使う努力は常に必要だと思う。


オープンつながりで話がとぶが、OpenGL のパフォーマンスが依然として自分の PC の VistaRC1 では悪い。確か、OpenGL は DirectX でラップするからパフォーマンスがかなり悪くなりますよ、という話があった後、それはやっぱりやめますよ、という流れがあったと思うのだが。OpenGL は大好きなので、今後とも使っていきたいのだ。


nDigiGadgets 0.06 リリース

nDigiTVProgram(テレビ番組表)と nDigiTenki(天気予報)の細かい修正と、いくつかのガジェットにツールチップを適切に出現させるようにした。

Picmv.NET 0.20 リリース

Windows Vista(x64) で動作しなかったので修正した。

DXPresentation 0.54 リリース

Windows Vista(x64) で動作しなかったので修正した。

2006年9月11日月曜日

nDigiGadgets 今後の予定

nDigiGadgets は現在 12 個のガジェットのパックとなっている。今後も暇があれば追加していきたい。次のようなものを考えている。



  • アメダス

  • 地震速報

  • 時刻情報、システム情報をひとつのガジェットにまとめたもの

  • ゲーム

  • Web 上の事典や辞典を眺めるガジェット

ガジェットのゲームは、サイドバー上でプレイする必然性があるものしたい。というのは常に画面に表示したいもの以外をガジェットにしてしまうと、それはピクセルの無駄遣いとなり、ユーザは邪魔なものと認識するからだ。その意味で標準で入っている「ピクチャパズル」は技術デモとしては良いが、良いガジェットとは思えない。プレイ中の画面を常に監視したくなるような要素を持っているか、あるいはそのガジェットでしか味わえない何らかの面白さがあるゲームでないと、作る意味を見出すことができない。というわけで、上にあげた物のなかではゲームの開発が最も頭を使うものであり、興味深くもあり、開発は難しい。


2006年9月10日日曜日

Windows Vista RC1 をインストールした

Windows Vista RC1 を x64版、x86版ともに手元の PC にインストールした。pre-RC1 との違いはよくわからないが、快適に使えている。


“Orcas” Community Technology Preview RC1、Windows SDK RC1 もリリースされたので、やっと WPF アプリケーションの開発を落ち着いてすることが可能となった(時間があればの話)。あと、Microsoft Expression Interactive Designer RC1 をインストールしてみた。サンプルを見てみたが、かなり簡単に相当面白いものを作れそうな予感がする。こちらも余裕があれば触ってみたい。


DXPresentation / Picmv.NET の Windows Vista(x64) での動作

現在ダウンロード可能な DXPresentation / Picmv.NET は、Windows Vista RC1(x64) では動作しない。x86版 では問題ない。


たぶん原因はわかった。手元では修正したが、動作の検証に多少時間をかける。それが終わったらリリースする。


それからついでに書いてしまうが、実は nDigiGadgets は頻繁に更新している。修正するたびにブログでアナウンスをすればよいのだが、開発時間が惜しいのでこうなってしまっている。変更点は後でまとめて書きたい。(もちろん致命的なバグの修正はきちんとアナウンスする)


nDigiTVProgram リリース

日本で放送されている地上波テレビ放送の現在の番組表を表示するガジェット。ライブドア番組表の RSS サービスを利用している。



[追記] 自動的にデータ取得をしないバグがあったので修正した(4:22)


2006年9月8日金曜日

nDigiTenki リリース

ライブドア Weather Hacks プログラムを利用して、天気予報を表示する nDigiTenki を nDigiGadgets に追加した。作業時間のうち80%くらいは絵を描いている時間。しかし、晴れ・曇り・雪・雨の絵しかできていない。そのうちこの部分はきちんと作りたい。



ガジェット本体



地域設定ウィンドウ


それから、nDigiFeed が RSS2.0 に対応していなかったので修正した。


nDigiGadgets 窓の杜記事


2006年9月7日木曜日

インターネットラジオアプリ「mRX-8000」が凄すぎる

PC Watch の記事で見つけた、Mac用のインターネットラジオアプリ「mRX-8000」が、あまりにも凄い。UI、グラフィックス、サウンド、それらが高いセンスと技術力で結晶化している。たとえば、SSBを受信しているような局間ノイズ、フライホイールが中にあるとしか思えないチューニングノブのモーション、並みのソフトシンセ以上のグラフィック、自動的に取得される曲の情報スライドショーとそれの見せ方。どれも本当に素晴らしい。


mRX-8000の作者氏を尊敬することはもちろんだが、間違いなく言えることは、このソフトは楽しみながら作られたということだ。(たとえば業務用アプリの中にはUI自体から負のオーラを感じられるものが散見される。このようなソフトは開発者のやる気か技術力のどちらかが欠けている)。 mRX-8000 は使っている方まで楽しくなってくる。


ソフトはこうでなくちゃ、と教えてくれた mRX-8000 とその作者氏に感謝したい。


nDigiBrowser リリース

nDigiBrowser をリリースした。小さなWEBブラウザ。雨量情報サイトなどの中にRSS配信をしていないところがあったので作った。



表示倍率を10%から100%まで変更可能



アイコン


2006年9月5日火曜日

DXPresentation 0.53 リリース

randomwords エフェクトを追加。単語をランダムに表示する。サンプルビデオを久しぶりに更新した。http://nyk.jf.land.to/dxpresentation/dxp.mov からダウンロードが可能(プレゼン中のビデオの再生デモが失敗している)



 単語が激しく移動します


nDigiCalendar リリース

nDigiCalendar: 日が変わっても表示に反映されないバグを修正

2006年9月4日月曜日

DXPresentation 0.52 リリース

以下の修正をおこなった。



  • cutswingcam エフェクトを追加。swingcam エフェクトにカット割を加えたもの。

  • 細かい修正

cutswingcam エフェクトは、サンプルスクリプトの「注意事項」で利用している。


Picea 1.45 リリース

以下の修正をおこなった。



  • Windows Vista において上位ディレクトリへの移動ボタンの表示が乱れていたので修正した

  • Basic 認証時にダイアログが出現しないバグがあったので修正した。

  • Alt+D でアドレス入力ボックスにフォーカスを移動するようにした。

Alt+Dに関しては具体的な指摘(http://d.hatena.ne.jp/John_Kawanishi/20060829#1156959213)を発見したので追加した。ご指摘に感謝します。


2006年9月3日日曜日

nDigiLoadDuo リリース (デュアルCPU/コア対応負荷計測ガジェット)

デュアルCPU/コア対応負荷計測ガジェット nDigiLoadDuo をリリースした。Windows Vista pre-RC1 以降用。



他のガジェットとともに http://www6.plala.or.jp/nyk/files/gadgetsbynyk.zip からダウンロード可能。


Windows Vista pre-RC1 インストール続き

サブで使っているノートPCにもpre-RC1をインストールしてみた。正常に英語キーボードが認識されるし、音は出るようになったし、VGAも最初からきちん認識されるし、無線LANも使えるようになった。文句なしだ。


RC1はすぐに出るようだが、それに対応する Windows SDK のリリースが待ち遠しい。いろいろ作りたいのだ。


[追記] Windows SDK RC1 はリリースされていたようだ。試してみる。





2006年9月1日金曜日

本日のガジェット開発作業


  • 2006.9.1 nDigiLoad:     Vista Pre-RC1 で動作しなかったので修正した

  • 2006.9.1 nDigiFeed:     記事にマウスオーバーしたときテキストを赤くしてユーザにフィードバックするようにした

  • 2006.9.1 nDigiFeed:     ガジェットの設定で記事の色指定をできるようにした

偶然なのだがnDigiCalendar.gadgetがpre-RC1版の「カレンダー」になんだかすごく似てしまった。



異常に似てしまったカレンダーガジェット(左:nDigiCalendar 右:pre-RC1のカレンダー)


Windows Vista Pre-RC1 をインストールしてみた

招待メールが来たので、Windows Vista Pre-RC1 をインストールしてみた。


Beta2 と比較すると格段に良くなっている。Beta2があの時期にでたのを見たとき、来年1月発売などとても無理ではないかと思ったものだが、この調子なら大丈夫だ。Beta2で自分が気になった点(英語キーボードが変とか、ごみピクセルが残るなど)はすべて直っているようだ。ビジュアル的に細かいところが大量に修正されているし、目に見えない部分の修正も数多くされているようだ。全体に動作が軽くなったようにも感じる。今後常用してみようと思う。この短期間でこれだけ良くなるということは、現場はものすごい修羅場だったのではないだろうか。


当然かもしれないが、Orcas JuneCTP は、GUIの設計部分がうまく動作しなくなってしまった。実はWPF+XAMLアプリも作っているところなので、RC1用のリリースを切望する。開発が止まってしまった。 


なお、Pre-RC1 になって、nDigiLoad.gadget(CPU負荷計測ガジェット)が動作しなくなったので修正した。
http://www6.plala.or.jp/nyk/files/gadgetsbynyk.zip
でダウンロード可能。


2006年8月31日木曜日

カレンダーガジェット nDigiCalendar.gadget リリース

カレンダーを表示するガジェット nDigiCalendar.gadget をリリースした。
ほかのガジェットとともに次のURLからダウンロードできる。http://www6.plala.or.jp/nyk/files/gadgetsbynyk.zip 
[追記] 9月1日になって早速バグを発見したので修正した。今日の日付の赤色着色処理がおかしかった。



ガジェット2つ追加

Windows Vista 用サイドバー・ガジェットを二つ追加した。



  • nDigiYear.gadget  年号を表示するガジェット

  • nDigiFeed.gadget RSSフィードを定期的に受信し表示するガジェット

 


http://www6.plala.or.jp/nyk/files/gadgetsbynyk.zip から、上記の2つを含む7つのガジェットをまとめてダウンロードすることができる。なお SunCal.gadget に保存した設定(緯度・経度)を次の起動時に読み出せていないバグがあったので修正した。


[追記] nDigiFeed.gadget による RSS フィードの受信だが、RSS2.0 ではうまくいかない。よって goo や livedoor の天気予報は受信できなかった。これは明日にでも直すとして、天気予報のガジェットは別に作ったほうがよさそうだ。とりあえず、




  • 単一機能


  • 設定項目が少ない、あるいは存在しない


  • 占有ピクセル数がなるべく少ない

というようなガジェットをたくさん作りたいと思っている。


2006年8月29日火曜日

nDigiMem.gadget と nDigiLoad.gadget をリリース

Windows Vista 用サイドバー・ガジェットを二つリリースする。



  • nDigiMem.gadget は、物理メモリ残容量をデジタル表示するガジェット。

  • nDigiLoad.gadget は、CPU 負荷をデジタル表示するガジェット。

http://www6.plala.or.jp/nyk/files/gadgetsbynyk.zip より、これまで作ったガジェットとともにダウンロードすることができる。



SunCal.gadget nDigiClock.gadget nDigiDate.gadget 修正

SunCal.gadget nDigiClock.gadget nDigiDate.gadget のデザインを修正。
角を丸め、ドロップシャドウを追加した。
http://www6.plala.or.jp/nyk/files/gadgetsbynyk.zip からダウンロード可能。Windows Vista 専用。



2006年8月28日月曜日

nDigiClock.gadget / nDigiDate.gadget をリリースした

nDigiClock.gadget / nDigiDate.gadget をリリースした。シンプルな時計のガジェット。Vistaのサイドバーガジェット。


ところで、いつも Firefox を使っているので気がつかなかったのだが、IEから*.gadgetファイルをダウンロードしようとすると *.zip に名前が勝手に書き換わるようだ。確かに中身は ZIP ファイルなのだが、拡張子が .gadget のままでないとインストールできない。昔からこういう仕様だったのだろうか。ちなみに Picea では問題なくダウンロードできた。


というわけで、IEでガジェットをダウンロードして名前が *.zip になってしまったら *.gadget に戻してほしい。さもないとダブルクリックによるインストールができない。IEのせいにしているが自分のパッケージングのミスかもしれない。


IEでうまくいかない人用に http://www6.plala.or.jp/nyk/files/gadgetsbynyk.zip を置いた。3種類のガジェットが入っている。



 


SunCal.gadget 0.01 リリース

SunCal.gadget 0.01 を公開した。


http://www6.plala.or.jp/nyk よりダウンロードが可能。


SunCal.gadget は日の出入り時刻を計算する Windows Vista Beta2 専用のサイドバーガジェット。デジタル時計ガジェットとしても使える。
天文演算はローカルでおこなわれる(この手のツールでは普通はサーバーからデータを拾ってくる)
x86ネイティブ版 SunCal の計算コードをそのまま JavaScript に移植している。


x64版Vistaでしか動作確認していないが、多分x86版でも問題ないと思う。もしかするとx86版では重いかもしれない。


Vista用サイドバーガジェットを作ってみての感想:
(注:自分はBeta2しか持っていない。この後の版がどうなっているかは知らない)



  • サイドバーガジェットは、単なる Web アプリで作りはじめるのは簡単。しかし奥深くもある。

  • 時刻を求めるような天文計算では、それの方程式を解くのに漸化式を使うことが多い。SunCal では、収束時間を短くする工夫をほとんどしていないが、特に遅いと思わない。JavaScriptおそるべしだ。 

  • 英語キーボード使用時に「言語=日本語入力、IME=OFF」の状態だと、JIS配列と見なされる。これによりコーディング効率が40%くらい落ちている。これではVista上で何かを作る気には、なかなかなれない。なにかいい回避方法があればよいのだが。

  • RADEON X1600 PRO のドライバのせいかもしれないが、ツールチップの表示がおかしい。


アイコン



作者アイコン



スクリーンショット


2006年8月24日木曜日

DXPresentation 0.51 リリース

ビデオのリピート再生機能などの追加とミラーの細かい修正をした。



  • .videor [filename] コマンドを追加した。ビデオを繰り返し再生する。

  • .videoc [filename] コマンドを追加した。ビデオを再生し、再生終了時に次のスライドに移行する。

  • ミラーウィンドウ出現中のビデオ再生において、映像と音のずれが発生することがあったので修正した。

  • ミラーウィンドウ出現中のビデオ再生において、ミラー側のツールバーに.subtextで指定されたテキストを表示するようにした。

  • ビデオのコントロールボタンのデザインを修正した。

  • ミラーウィンドウ出現中の Web スライドにおいてツールバー部分がミラー側で真っ黒になっていて見苦しかったので修正した。

  • サンプルスライドの細かい修正

2006年8月23日水曜日

DXPresentation 0.50 リリース


  • ビデオ再生機能を追加した。

  • .video コマンドを追加した。WMV、ASF、MPG ファイルなどビデオを再生することができる。ただし、ライン書き込み、クローズアップなどはできない(DirectX.AudioVideoPlayback.Video のバグのため、あきらめた)

  • コマンドラインからの起動において、第1引数に読み込むファイルを指定できるようにした

  • Web の表示機能において、Web1 -> テキストスライド -> Web2 と再生していくと、Web2 に移動したときナビゲートが終わるまで Web1 が表示されたままになっていたので修正した。

  • メニューバーのカラーを再度調整した

  • 細かい修正


ビデオ再生中の画面(デジタルカメラによるキャプチャ)


やっとビデオの再生機能を追加した。DirectX.AudioVideoPlayback.Video のテクスチャに対するレンダリングは、Dispose時に例外が発生するバグがあるためあきらめて、コントロールに対する描画とした。このためエフェクト要素は全くない。ミラーは別個に同期をとりながら再生し見かけ上おかしくないようにするという強引な方法で実現した。
プレゼン中のビデオの使い方としてはインタビュー映像と、何かの瞬間およびその前後が重要な映像を想定している。


2006年8月21日月曜日

Managed DirectX の AudioVideoPlayBack がおかしい

Managed DirectX の AudioVideoPlayBack 名前空間の Video がいろいろとおかしい。ここ一週間ほど、DXPresentationでビデオの再生を実現させるため、いろいろ作業したのだが、いちばん悩んだのはターゲットをテクスチャにしている場合、Dispose()するとよくわからないタイミングで停止バグが発生することだ。ターゲットをコントロールにしている場合は停止はしないが、プロパティが謎の値を示す。調べた結果これは、Managed DirectX のバグであると結論した。直してほしいが直るのだろうか。


Web上で参考になるリンクを以下に示す。


Problems in the AudioVideoPlayback namespace of managed DirectX9
http://www.codeproject.com/cs/media/DirectX9_media_playback.asp


コントロールに対して AudioVideoPlayback でビデオを再生するとこんなに問題がありますよ、という投稿。コントロールに対する描画の場合はここに書いてある対処法でなんとかなる。


Fun with AudioVideoPlayback
http://blogs.msdn.com/toub/archive/2004/04/16/114630.aspx



AudioVideoPlayback のさまざまなおかしなところを指摘する記事。


Wrapping up Managed DirectX AudioVideoPlayback
http://www.codeproject.com/useritems/AudioDX.asp



ここにあるサンプルでは、ムービーテクスチャをポリゴンに張っている。Dispose時の問題は、なんとDisposingイベントのハンドラで無限ループさせることにより解決している。このため一度しかビデオを読みこまないプログラムとなっている。


Requested: Video texture in MDX
http://hundev.blogspot.com/2006/07/requested-video-texture-in-mdx.html



この記事では私と全く同じ場所ではまっている。






disposing of Video class in MDX1
http://www.gamedev.net/community/forums/topic.asp?topic_id=380330&forum_id=58&gforum_id=0



この投稿でも私と全く同じ場所ではまっている。


disposing of video when using "RenderToTexture"
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=267957&SiteID=1



私が悩んでいた Video.Dispose() の悩みに対して、It is a bug, but we have no plans to update this API.とマイクロソフトの人?が書いている。


Managed DirectX (その 2 AudioVideoPlayback) ~ Cutting Edge DX 9 - 第 3 回目 ~http://www.microsoft.com/japan/msdn/directx/japan/dx9/AVCS.aspx#AVCS1



日本語で書かれた記事。ムービーテクスチャのサンプルが置いてある。試してないがきちんと動くのだろうか。


Fun with DVR-MS
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxpmce/html/dvr-ms.asp



コントロールに対してビデオを再生している。ほかに WMP、Quartz を使った再生を示している。







で、DXPresentation ではどうするのか?


選択肢はいくつかある。




  1. AudioVideoPlayback が直るのを待つ


  2. DirectShow を使って気合でなんとかする


  3. WMP を使う


  4. ビデオの再生自体をあきらめる

1.は多分時間の無駄。3.は簡単に実現できると思うのでとりあえず実装するかもしれないが、ビデオのスポットライト、ライン書き込み、クローズアップができないしミラーリングのパフォーマンスが悪そうなのでよくない。4.は選択したくない。


というわけで 2. が真っ当な方法であるが、C#+.NET に慣れすぎてしまい、なんだかやる気がでない。
ちなみに、
Managed DirectShow というプロジェクトがあるようだが、これについてはよく調べていない。これを選択した場合は GPL による配布に切り替える。


 


DXPresentation 0.47 リリース

BGMやナレーションの再生ができるように、オーディオストリーム(MP3、WMA等)をサポートした



  • 単独のオーディオストリームの再生に対応した。.startaudio、.stopaudio コマンドにより BGM などに対応する。

  • .startaudio [audio file] コマンドを追加した。オーディオストリームの再生を開始する。[audio file] には MP3、WMA ファイルなどを指定する。演奏終了後に .stop しない限りスライド切り替え時に自動的に再演奏する

  • .startaudiorepeat [audio file] コマンドを追加した。オーディオストリームを自動リピート再生する。

  • .stopaudio コマンドを追加した。そのとき演奏しているストリームの再生を終了する。

  • スライド移行時にワンショット SE を演奏する .audio コマンドを .sound コマンドに改名した。.audio も残す。

  • .noaudio コマンドを .stopsound コマンドに改名した。.noaudio も残す。

  • メニューバーのカラーを調整した

オーディオに関しては、スライドをまたぐことが可能なオーディオストリーム機能(MP3、WMA等に対応)と、スライド移動時にワンショットで鳴るサウンド機能(WAVに対応)の2系統が独立して利用することができるようになった。


ところで Web に掲載している、サンプルビデオが内容的に古くなったので更新したい。クローズアップ、WEB、オーディオなどが追加されている。あとビデオ再生の対応だがあいかわらず、どこかではまっている。多分単純なところでつまっている。


2006年8月20日日曜日

DXPresentation 0.46 リリース


  • Web 表示しているときに、ウィンドウをリサイズするとそのたびに再読み込みが発生していたので修正した。

  • メニューバーのカラーを調整し、次のスライドボタンにはアイコンを付加した。

  • 細かい修正

2006年8月19日土曜日

DXPresentation 0.45 リリース

WEB を DXPresentation 中で再生する機能を追加した。



  • Web をスライドとして表示する機能を追加した

  • .web [URI] コマンドを追加した。ローカルの html ファイルや、フラッシュ、PDF、インターネット上のコンテンツなどをスライドの要素として扱うことができる。

  • ファイルをオープンするときにカレントディレクトリをそのファイルの存在するディレクトリにセットするようにした。これにより.imageや.webでの相対パス指定のベースディレクトリが、オープンするファイルへのパスとなった。

  • 細かい修正


ローカルのhtmlファイルを指定し、FLASHコンテンツを開いています


「次のスライドに進む」機能のマウスボタンへの割り当てが、DXPresentation、Flash、WEB上のPowerPointなどでバラバラであり、検討の余地がある。


2006年8月18日金曜日

SunCal 0.02 リリース


  • 開発環境を Visual Studio 2005 に変更した

  • 計算処理を高速化した 

  • アイコンを修正した


アイコン(96x96)


2006年8月17日木曜日

DXPresentation 0.44 リリース


  • メインウィンドウ最小化時に CPU 負荷が増大するバグがあったので修正した。

  • ミラーウィンドウ出現時にアニメーション進行速度が異常に速くなることがあったので修正した。

  • ビデオ対応作業(実装中)

  • 細かい修正

2006年8月16日水曜日

Picgl 1.94 リリース

次の細かい不具合を修正した



  • 一枚絵ビューにおいて[Delete]キーなどでファイルを削除した場合、それ以降ビューを抜けるまでファイルの削除ができなくなっていたので修正した

  • 一枚絵ビューにおいてホイールクリックでルーペを出現させるようにした

  • マイピクチャ内のフォルダ名表示は、マイピクチャまでのパスを省略して見やすくした

約2か月ぶりの更新となる。


Managed DirectX の日本語による解説書が見つからない

Managed DirectX の日本語による解説書というのは出版されているのだろうか。Amazon で探してみたがないようだ(洋書ではいくつかみつかったので注文した)。Web においても日本語による解説は少なく、特に網羅的なものは発見できなかった。Windows Vista の WPF 以降も 3D に関しては DirectX を使うのが便利なはずで、本来多くの需要がある書籍だと思うのだが。 


Managed DirectX + C# + .NET Framework は、手軽さとパフォーマンスのバランスがそれなりに良い。なおかつ開発効率がとても高いので、短期間で楽しみながら作りたいときは最高の組み合わせになると思う。Windows 上でなら。


解説書で思い出したが、長いサンプルが掲載されているタイプの入門書は苦手だ。サンプルの扱っている内容に興味が持てないとわかった途端に読み進める気を無くすからだ。短く一般的な内容のサンプルと、細分化された単元なら入門書でも我慢ができる。


それよりも辞書のような本が好きなのだ。理科年表、MSDNライブラリ、平凡社の百科事典、広辞苑などは私の愛読書だ。辞書構成の楽しいところとして、読み進めた分だけ確実に未知の領域を減らすことができることを実感できる点がある。たとえばある程度その分野に詳しければランダムにページを開いたとしても、そのページに書いてあることが既知となる体験ができるだろう。ついでにいうと、ランダムにページを開いたり、グラフィックによるメモ書き・検索をする機能が紙媒体以外の書籍には不足している。まあ Adobe Reader  のことを言っているのだが、この分野のソフトウェアは紙媒体でできることが全てできていないので、今後に期待する。


それから、教科書のような本は構成が練りこまれているのはいいのだが、長期間に渡って通読する以外の読み方をしようとすると苦痛を感じる。たとえば数学の教科書を読むよりも、数学事典を飛ばし読みするほうがずっと楽しく感じる。これは、教科書が常に backreferences を前提としていて、自由なシークをほとんど許さない構成になっているからだ。


そういうわけで話を戻すが、もっと使われて良いはずの Managed DirectX の本を誰か書いてくれないだろうか。


DXPresentation 0.43 リリース


  • スライド追加機能を使うと、そのスライド後方のツリーボタンのノードの親子関係が破壊されるバグを修正した。

  • 移動ウィンドウの最初の出現時に、現在のスライドをカーソルが指していなかったので修正した。

  • ビデオ対応作業(実装中)

  • 細かい修正

 


2006年8月12日土曜日

DXPresentation 0.42 リリース


  • スライド追加機能を追加した。

  • Ctrl+A でテキストのスライドを追加できる。

  • 授業中に話が脱線した時や、講演後の質疑応答の時などに簡単にスライドを追加するのが目的。

  • 追加したスライドは一時的なものなので保存できない。

  • 追加したスライドを個別に削除することはできない。

  • 追加したスライドを一括して削除する特別なコマンドはないが、再読み込み(Ctrl+R)で可能。

  • 開発環境を VC#2005 に戻した

ビデオ再生機能がうまくいかない。ビデオにもライン書き込みやクローズアップ、スポットライトを有効にするために、テクスチャにムービーをレンダリングしている。メインのスレッドから描画するのをやめて、また戻したり、いろいろ試しているが、ビデオ切り替え時に停止することがある。リソースの衝突に関係したバグかと思ってここ数日かなり苦労したのだがうまくいかない。なんとなくだが別のところに原因があるような気もする。 Managed DirectX の AudioVideoPlayback 名前空間のクラスを使っているのだが、これの利用方法が根本的に違っているのかもしれない。小さなムービープレイヤーを作ってこのクラスの挙動をテストしようと思う。



スライド挿入バー : プレゼン中にその場で新しいスライドを作成できます
質疑応答などで話があらぬ方向にいったときなどに役立つかもしれません


DXPresentation 0.41 リリース

変更点は以下のとおり



  • 開発環境を VS2005 に変更

  • ビデオ対応作業中

  • メニューバー上でのマウスカーソルが見にくかったので、普通のカーソルに戻すようにした

  • 細かい修正


ビデオのコントローラ(まだ使用できません)