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 に変更

  • ビデオ対応作業中

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

  • 細かい修正


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


2006年8月10日木曜日

DXPresentation 0.40 リリース

メモリリークによる停止など致命的なバグを修正した。



  • 0.40 2006.8.9  DirectX 管理下のリソースがメモリリークする致命的な問題が存在していたので修正した。

  • これによりプレゼン中に突然プログラムが停止するような重大な不具合を取り除くことができたはず。

  • 従来高速化のため次の画像の読みこみを別スレッドでおこなっていたが、危険であることが判明したので暫定的に廃止した

  • そのほかレンダリング処理のタイミングを安全性向上のため大幅に修正した

  • ウィンドウのリサイズ処理を全面的に書き換え、安定化を図った。

  • メインウィンドウの最小化を復活させた。ミラーがある場合はミラーを隠すようにした。

  • ミラーウィンドウのサイズ変更をメインウィンドウのサイズに反映させるようにした

  • メインウィンドウがフルスクリーンのときはミラーを使えないようにした。逆にミラーがあるときは、メインウィンドウをフルスクリーンに変更できないようにした

  • メインウィンドウがフルスクリーンのときはメニューバーを消すようにした

  • その他細かい修正

ビデオの再生はだいたいできたのだが、Managed 環境のくせに Access Violation がたまに出るので悩んでいる。



実際にセカンダリディスプレイ出力からスクリーンに投影してみるテスト




2006年8月8日火曜日

MetaSynth は凄い

打ち合わせ先で、MetaSynth というソフトを見せてもらった。サウンドエフェクトを作るソフトになると思うのだが、その素晴らしいUIに衝撃を受けた。ユーザは画像を編集することで音を創造する。画像は横軸が時間、縦軸が音高、ピクセルの濃度が音量、色相は定位を意味する。この画像をペイントソフト感覚でブラシで塗ったり、範囲指定して回転させたりすることにより音を編集する。また、音響的なエフェクトをかけるとその画像が変化する。音程に対するいろいろな粒度のクォンタイズ機能が素晴らしい。


見ているだけで楽しくなるツールだ。このツールのアイディアは製品のものとしては、見たことがない気がするのだが、ほかにあるのだろうか。技術的にはFFTで画像を作り、画像から音へは逆変換すればよいだけの話だと思うが、なぜ自分は今まで気がつかなかったのだろう。


非常に残念なのは Mac 版しか発売されていないことだ。このアイディアだけ借用可能なら、サウンドエフェクトを作るソフトを作ってみたい。Keynote も そうだが、Windows 版が発売されたら是非購入したいソフトだ。


2006年8月7日月曜日

DXPresentation 0.39 リリース

スライドの移動ウィンドウを追加した。



  • 移動ウィンドウを追加した。Ctrl+J で出現する。

  • SHIFT+→、SHIFT+←による次ラベル・前ラベルへのジャンプの挙動がおかしかったので修正した。

  • .audio [wavfile] コマンドを追加した。ページ切り替え時にオーディオを再生する。wav ファイルのみの対応。

  • .noaudio コマンドを追加した。オーディオの再生を中止する。

  • 「次のスライドウィンドウ」で画像も表示できるようにした。

  • その他細かい修正


移動ウィンドウ+タイムキーパーウィンドウ+メインウィンドウ


この状態でセカンダリディスプレイにミラーウィンドウを配置し、プロジェクターで投影すると便利です。
              


2006年8月6日日曜日

DXPresentation 0.38 リリース

細かな修正。



  • .image コマンドによる画像表示において、スポットライト以外のライティングと背景カラーのアニメーションを廃止した。

  • マウスカーソルのデザインを修正

  • アプリケーションのアイコンのデザインを変更した

  • その他細かい修正

 更新したアイコン


 大きなマウスカーソル(原寸大)


DXPresentation 0.37 リリース

マウスカーソルの根本的変更と、クローズアップ機能の追加



  • クローズアップ機能を追加した。


    • スポットライトで照らしている部分を左クリックでクローズアップする

    • クローズアップから抜けるには左クリックするか、スポットライトをオフにするか、次のページに進めばよい

    • 画像の細部を見せたいときに便利

    • クローズアップ中にマウスホイールを回すと拡大率が変化する

  • マウスカーソルに関して次の変更をおこなった。


    • プレゼンにおいて差し棒と同様な使われ方をされると想定した場合、文字に対して小さすぎると思われたので、カーソルを巨大化した。_effect_cursor.png でサイズ・形状・色をカスタマイズ可能。

    • ミラーウィンドウでもマウスカーソルを表示するようにした。差し棒として使われることが多いと判断したため。

    • カーソルの移動がしばらくない場合は、差し棒として機能していないと DXPresentation は判断する。このときカーソルが邪魔な表示物とならないように、半透明化するようにした。

スポットライトで照らしたくなるほとんどの場合、そこを拡大したくなることに気が付いたので、クローズアップ機能を追加した。クローズアップするためにはスポットライトで範囲を決めてから左クリックする。ホイール付マウスのみで操作できるようにするため、多少操作が複雑になってきた。これまではほぼモードレスオペレーションだったが、そうでなくなった。


マウスカーソルの巨大化は、後ろの方の席から小さいカーソルが見えないのに、まるでカーソルを特定部位を指し示すように使用されることが考えられるのでやってみた。とりあえず64x64のポインタを DirectX から直に描いている。巨大化の弊害として、今度はカーソルが邪魔になりそうなので、邪魔になりそうなシチュエーションでは透明度を上げて目立たなくさせた。



巨大化したマウスカーソル


 


2006年8月4日金曜日

DXPresentation 0.36 リリース


  • 背景画像がスポットライトに反応していなかったので修正した。

  • 従来は全て .NET フレームワークにガベージコレクションを任せていたが、適切なタイミングでおこなうようにしてリソース消費を抑えるようにした。

  • .image で指定した画像に対するライティングにおいて、読みにくい場合があるのでスペキュラ成分をなくした。

  • .image で指定した画像へのスポットライトが非常に暗かったので修正した。この変更に伴い画像の頂点数が4→2500と非常に増えたのでパフォーマンスに影響が出るかもしれない。

  • タイトルバーに現在のラベル名を表示するようにした 

DXPresentation サンプルビデオを新しくしたhttp://nyk.jf.land.to/dxpresentation/dxp.mov から見ることができる。


2006年8月3日木曜日

DXPresentation 開発メモ - Flash, Web, PDF

ここ最近、プレゼンをやる機会はないのだが、見る機会は何度かあった。どのプレゼンも内容は良いのだが、いくつか気になることがあった。まずプレゼンターがスクリーンに近づいて何かを指し示すときに何を示しているのかよくわからない問題。これは差し棒を使えば大体解決できるのだが、腕だけでやろうとする。そのとき、スクリーンと指先のZ値が合わないので、聴衆の視点からではスクリーン上の何を指しているかわからない。このため聴衆の脳内でunprojection処理をする余分なコストが発生する。


次に、いつプレゼンが終わったのか明確な合図がない問題。拍手ができない。これは「ご清聴ありがとうございました」と発言するか、そういったスライドを明示すれば簡単に解決する。この合図は非常に重要で、全体の印象も変えることがあるだろう。


さて、以前から書いているが、今一度DXPresentation に追加したい機能をメモしておく。




    • オーディオ再生

    • グラフのビルディングアニメーション

    • WEB再生

    • ビデオ再生

    • フラッシュ再生

    • PDF再生

    • フラッシュ書き出し

    • PDF書き出し

やりたい順に書いた。この中で実現が簡単そうなのは、オーディオ・ビデオ・フラッシュ・PDF・WEBの再生だ。難しそうなのはフラッシュ・PDF書き出しだ。グラフのビルディングアニメーションは仕様次第で難しくも簡単にもなる。


DXPresentation 0.35 リリース

次の変更をおこなった。



  • スポットライト機能を追加した。


    • マウスホイールを手前に回すとスポットライトがオンになる 

    • スポットライトがオンの状態でホイールを回すとスポットの大きさを調整できる

    • マウスホイールを奥へ回しきるとスポットライトがオフになる

    • ホイールボタンでもスポットライトをオン・オフできるが、書き込んだラインの消去が優先する

    • メニューの[スポットライト Ctrl+L]でもスポットライトをオン・オフできる

  • Ctrl+→ で次のラベルに、Ctrl+←で前のラベルに移動するようにした




2006年8月2日水曜日

DXPresentation 0.34 リリース

マルチディスプレイ環境で便利なツールの開発を始めた



  • ミラーウィンドウ機能を追加した。ウィンドウのミラーを作る。しかしビデオカードによっては著しくパフォーマンスが落ちることが判明した。初期化処理の何かを間違えているか、根本的に勘違いしているか、そもそも無理なのかのどれかだ。

  • タイムキーパーツールを追加した。メニューまたは Ctrl + K で起動する。

  • 次のスライド」ウィンドウ機能を追加した。メニューまたは Ctrl + N で起動する。文字だけが表示されるなど、簡易的な表示。

  • メインウィンドウのタイトルバーにいろいろな情報を表示するようにした。



ミラーのパフォーマンスがかなり悪いのでなんとかしよう。


2006年8月1日火曜日

DXPresentation 0.33 リリース

メッシュファイル(.xファイル)の読み込みをサポートした。



  • .mesh [Xfile] コマンドを追加した。メッシュ(.x)ファイルを読み込み表示する

  • .meshrot [axis] [speed] コマンドを追加した。メッシュの回転軸とスピードを指定する。

  • dollyupcam エフェクトを追加した。カメラを目標にゆっくりと近づける。

  • コマンドを「;」で区切って一行に複数書けるようにした(これにより .subtext コマンドに「;」を含めることができなくなった)

  • ノードボタンをクリックしたときのユーザへのフィードバックが足りないので、点滅するようにしてみた。



DXPresentation 0.32 リリース

致命的なバグが 0.31 にあったので修正した。変更点は次のとおり。



  • ウィンドウのサイズを変更したりフルスクリーン化すると停止していたので修正した(0.31で発生したバグ)

  • ツリーのスライドから他のスライドに移行したあとに、ツリーのスライドに再度移行すると表示位置がおかしかったので修正した

ところで、新しい機能の「ツリー構造を持ったスライドのためのノードボタン」だが、マインドマップの記事を読んだりFreeMindを試してみていて木構造も必要かな、と思ってつけたものだ。木構造をビジュアル的にどう表現するかが問題なわけだが、真っ先に思いついたのは SGI の IRIX のデモプラグラムランチャーの「Buttonfly」だった。


Buttonfly は親ボタンの裏側に子ボタンが乗っている再帰的な構造を持っている。子ボタンをクリックするとそれが裏返るアニメーションが再生され、孫ボタンが現れるという、シンプルでわかりやすく、しかもビジュアル的にインパクトがあるものだった。最後にButtonfly を見たのが1998年くらいだったと思う。


木構造を持つボタンアイテムを作るにあたり、まずUS特許商標局でButtonflyのアイディアが保護されていないか調べてみた。Buttonflyをそのまま再現するのがいちばん楽でしかも良い結果が出せると思ったからだ。いろいろなキーワードで検索してみたがみつからなかった。いろいろ考えたが、やはりそのままのビジュアルでは危険に思えたので(良いアイディアなのに他で使われているのを見たことがなかった)、結局オリジナルの方法を考えてコーディングした。