Messages in cipher reflected in the looking glass
[ Yasuhiro Fujitsuki's Weblog ]
http://blogs.sun.com/thaniwa/date/20070502 2007年 5月 02日 水曜日

(JA) LG3D on Linux Magazine June/2007

Linux Magazine に LG3D のレビューが載ってますね。 今月発売の最新号ですが、PDFで閲覧可能なものとして公開されています。
https://www.linux-magazine.com/issue/79
Trumplayer もちゃっかり出てます。^-^; とりあえずデフォルトではなく、一番スクリーンショットに使い易いやつですね。 ある程度、ぱっと見で3Dを使っていることがわかることを意識したモードなので、 当然かもしれません。

とりあえず、JavaOne に行かれる方は ネタ ということで。 お土産に希望(ぉ。

http://blogs.sun.com/thaniwa/date/20070416 2007年 4月 16日 月曜日

(JA) Small Toolkit 0.1.0.1

Smalltoolkit のバージョンアップをしました。 変更内容はパッケージ名の変更のみです。 今回からソースコードは本家(lg3d-incubator)に統合しました。
詳細は横メニューから「LG3D(日本語)」を。

追加しないといけない機能やサンプルの改良など考えられることはあるのですが、 アイデアがまだまとまっていません。^-^;

http://blogs.sun.com/thaniwa/date/20070406 2007年 4月 06日 金曜日

(JA) JSaddleの更新とソースコードの公開

JSaddleですが、簡単な更新を行いました。 最小化ボタンと終了ボタンの追加です。 無くても動作するようにデザインしているのですが、なんとなく追加しました。^-^;
また、ソースコードを lg3d-incubator.dev.java.net のcvsにコミットしましたので、必要な方はそちらから。
smalltoolkit からボタンを一部取り込みました。 場当たり的な改造を一部していますので、ボタンのソースはあまり良いコードとは癒えない状態です。^-^;

http://blogs.sun.com/thaniwa/date/20070321 2007年 3月 21日 水曜日

(JA) Small Toolkit 0.1 for LG3D

trumplayer や jsaddle では 3Dオブジェクトをボタンとして利用しています。 このボタンの作成には、3Dオブジェクト作成、回転、イベント処理の追加 とかちょっと面倒だったりします。^-^;
まぁ、一度作ったものをコピペとかして使いまわせば良いだけなのですが、 それなら、別パッケージ化してやれば便利かなぁということで、 trumplayer・jsaddleから取り出し、使い易いように改造してパッケージ化しました。
名前は仮称ですが smalltoolkit ということしています。 パッケージは、
http://blogs.sun.com/thaniwa/page/lg3dja に置いてます。
Javadoc(まともに書いてない^-^;)とバイナリ、ソースコードを全部セットにしています。ライセンスは GPL ということで。
とりあえず、1パッケージで作ってます。 クラス名・パッケージ名も今後変更するかもしれません。
jarファイルを$lg3d/ext/app にコピーすると、 Demosメニューにsmalltoolkitのdemoアイコンが現れます。
下図はそのスクリーンショットです。 現状では下記のようなBox,Cone,Cylinderベースの各種ボタンと最小化ボタン、終了ボタンのみです。^-^;

  • BoxButtonComponent3D
  • ConeButtonComponent3D
  • CylinderButtonComponent3D
  • ExitButtonComponent3D
  • ImagePanelButtonComponent3D
  • MinimizeButtonComponent3D


アイデア・協力者募集中。

http://blogs.sun.com/thaniwa/date/20070317 2007年 3月 17日 土曜日

(JA) JSaddle release version

JSaddleのバージョンアップをしました。私としては完成版のつもりです。
主な機能追加は2ボタンマウス環境(主にノートPCのような環境)に対応です。
メインビュアーに隠しボタン、サムネイルビュアーへのサムネイル操作ボタンを追加しました。これで、スクロール、中ボタンクリックが無い環境でも使えると思います。
某所でお披露目があったので、ご覧になった方もいらっしゃるかもしれませんが、中身はちょっと変わっています。(バグつぶしや表示の改良などをしています。)

メインビュアー(マウスカーソルがメニュー範囲に無い場合)


メインビュアー(マウスカーソルがメニュー範囲にある場合)


サムネイルビュアー(ボタンを追加)




jsaddleもとりあえず完成したので、 今はこんなことをしています。(わからんって。^-^;)

http://blogs.sun.com/thaniwa/date/20070308 2007年 3月 08日 木曜日

(JA) それからのちゃれんじざわーるど lg3d編 とおまけ

約一ヶ月の放置ですね。
ちょっとテンパッていました。 と言いつつ、基本の LG3D ネタは基本的に土日(プライベート)に行ったことを書いてるので、更新頻度は落ちてしまいます。
その他のネタもblogのために行っているわけではないので、 更新にムラがあるのは仕方が無いということで。

のに子さんの「それから〜」シリーズが2ヶ月連続LG3Dネタとなってます。
http://cropcrusher.web.infoseek.co.jp/shufuden/sorekara/index.html

  • それからのLG3D-Solaris版(2007年3月)
  • それからのProject Looking Glass(LG3D) (2007年2月)

基本的にはOSのインストールから、LG3Dのソースからのビルド、起動です。 どちらかというと Linux & Solaris カテゴリに入れた方が良いのかな…。

NVIDIAのドライバとか、NetBeansとか、どんどん更新されており、 JavaOne Tokyoの資料もちょっと古くなっていたりします。 そのため、あまり参考にならなくなってるのかも…。
サンプルプログラムはほぼそのまま流用できるので、そちらはJavaOne TokyoのHoL資料を参考にしてもらえばと思います。 https://lg3d.dev.java.net/ja/lg3d_hol/html/index.html
ただ、SimpleAppearance の仕様が変わっていて、下記のような感じで修正が必要です。

SimpleAppearance appearance = new SimpleAppearance( new URL("file://...") );

また、Jarベースアプリケーションの作り方も更新されていますね…。
日本語ではなく、英語になってしまいますが、チュートリアルをご参照ください。 https://lg3d.dev.java.net/tutorial/tutorial1.html

http://blogs.sun.com/thaniwa/date/20070211 2007年 2月 11日 日曜日

(JA) JSaddle を Version Up しました

タイトル通りです。^-^;
目的がプレゼンテーションに使える PDF Viewer だったので、 メイン画面に変更は加えていません。
いくつかのバグつぶしとサムネイルの表示モードを4つまで拡張してみました。
最初に作っていた表示モードはLG3Dのインタフェースで一番実装しやすいと思っているのですが、その他にも trumplayerへの実装をしなかったインタフェースなど、いくつか考えていたものを実験的に取り入れてみました。

下図はそのスクリーンショットです。



http://blogs.sun.com/thaniwa/date/20070207 2007年 2月 07日 水曜日

(JA) JSaddle の中の話

正月に作成したPDF Viewerですが、月末に更新しました。 中身はほとんど変わってません。操作方法(マニュアル)のPDFを取り込みました。

今日はそのPDF Viewerの中身の話をちょこっと。
JSaddleでは、ベースとして JPedal を利用しています。 JPedal は PDF を扱うためのツールで、PDFの解析・Swingを使った表示、 サムネイル用の画像の作成等、ほとんどのことをやってくれます。
そのため、JSaddleでは PDF に関する処理は何も行ってません。^-^;
だから、簡単に作れたのですが。
ただ、現時点でのLG3D上でのSwing表示機能では、 このJPedalのSwing表示には対応しきれないようなので、 サムネイル画像をJPedalで生成し、それを貼り付けるという方法にしています。
サムネイル画像ですが、サイズは指定できるため、1280x960という多少大きめの画像を作成しています。(JSaddleのサムネイル用の画像は別途小さなものを作成しています)。
拡大縮小をした時にある程度キレイに見えるサイズということで、このサイズにしています。(800x600だとちょっと粗い)
多少でも早くするために、メインの画面に表示しているページの前後のページも予めテクスチャ化し、メモリ上に保持するようにしています。
ページ変更をどんどんやった時やサムネイルモードからページを変更した場合、 ちょっと遅くなるのはこのテクスチャの作成時間が影響しています。

http://blogs.sun.com/thaniwa/date/20070117 2007年 1月 17日 水曜日

(JA) LG3D 1.0 を FC6 で使うには(@IT)

@ITに Fedora Core 6で LG3D 1.0を使う方法が紹介されています。

Project Looking Glass Release 1.0を使うには(NVIDIA編)
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/983lg3dnvidia.html
Project Looking Glass Release 1.0を使うには(ATI編)
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/984lg3dati.html

@ITには載っていないのですが、Fedora Core 6 では Xorg 周りも かなり更新されています。 DRI/mesa系も更新されているので、もしかしたら Intel系の統合グラフィックチップでも動くかもしれません。(試してません…)
一応、Let's note W4 と Solaris Express 環境で LG3D 1.0 が動くことは確認しています。

http://blogs.sun.com/thaniwa/date/20070116 2007年 1月 16日 火曜日

(EN/JA) PDF Viewer Prototype for LG3D

I developed new app, name as jsaddle, for personal use. It is a JPedal base PDF viewer for LG3D 1.0. JPedal is a Java tools for viewing, printing, extracting and manipulating pdf content. (http://www.jpedal.org/)

If you are interested in this app, please see http://blogs.sun.com/thaniwa/page/lg3den.

=====Japanese======

正月の休みの間にちょこちょこっと LG3D 1.0 用の PDF Viewer を作成しました。
当然ながら、現状本家にはコミットしていません。(するかどうかも決めてません。^-^;)
作成目的は LG3D 上でプレゼンをするためのツールが個人的に欲しかったためです。 PDF Viewer にしたのは StarSuite/OpenOffice.orgでは PDF出力機能が標準で付いているということと、JPedal(http://www.jpedal.org/) というJavaでPDFを扱うためのライブラリが存在していたからです。
詳細は http://blogs.sun.com/thaniwa/page/lg3dja をご覧ください。

http://blogs.sun.com/thaniwa/date/20070112 2007年 1月 12日 金曜日

(JA) ITPro : 画面で見る最新デスクトップ環境「Looking Glass」

日経BPさんのITProのニュースとして Project Looking Glass 1.0 が取り上げられていますね。
スクリーンショットも多めなので、どんなのか見てみたいという方はご参考に。


なんとtrumplayerまで取り上げていただいて…。うれしい限りです。
スクリーンショットはデモモードですね。^-^;
デモモードのプレイリストは私個人のプレイリストだったりします。 思い切り趣味丸出しです(笑。 開発初期に作ったプレイリストなんでちょっと古いですけどね。

デモモードでは、サンプル画像ありのアルバムが3つ、その他は画像が無い場合の表示となります。プレイリストは表示されません。 というのも、サンプルには内部で使用している m3u プレイリストが無く、trumplayer用の管理ファイル trumplayer.xml のみだからです。

http://blogs.sun.com/thaniwa/date/20061220 2006年 12月 20日 水曜日

(JA) LG3D Release 1.0 is now available

LG3D 1.0が正式にリリースされました。アナウンスはこちら。
http://forums.java.net/jive/thread.jspa?threadID=21289&tstart=0

ダウンロードはこちらから
https://lg3d-core.dev.java.net/binary-builds.html

本体もほんのチョコッとだけしか絡んでなく、 ものすごくてきとうなアプリケーションを作っただけと、 大したこと無いはしていませんが、正式リリースにされたことはうれしいものです。
trumplayerも最後の最後で、ID3タグ内のUTF-16に対応して、 個人的に考えていた最低限必要な機能が完成し、 LG3D 1.0に間に合う形でなんとかアプリケーションの形になったので ある意味ほっとしています。
ただ、コードがぐちゃぐちゃなので可読性なんてありませんけど…(汗。 当初考えていたものとまったく別物になってしまったんですけどね(笑。

http://blogs.sun.com/thaniwa/date/20061208 2006年 12月 08日 金曜日

(JA) Plethora 1.0 for Netbeans 5.5

前回はNetBeansのJDKの設定方法を調べましたが、 実は今回の Plethora 1.0 を試してみたかったからだったりします。^-^;
Plethora 1.0 はLG3DのGUI設計環境です。 NetBeans 5.5用のモジュールとして提供されています。
ちょっと前に1.0betaがアナウンスされたのですが、いつの間にか1.0releaseになってました。
http://sourceforge.net/projects/auc-plethora/ からダウンロードできます。

このツールを利用するためには Java SE 6 と Java3D 1.5が必要なようです。 この環境は予め用意しておきます。 JDK 1.5.0を標準で使っている場合は下記のような感じで、 一時的にJDK1.6.0を用いると良いでしょう。

# /opt/netbeans-5.5/bin/netbeans --jdkhome /usr/java/jdk1.6.0


NetBeans 5.5へのインストールですが、

  • 「ツール」→「アップデートセンター」を選択
  • アップデートセンターウィザードが表示されるので、「手動でダウンロードしたモジュール(.nbmファイル)をインストール」を選択し、「次へ」に。
  • ダウンロードした.nbmを全て選択し、インストール。

という感じでインストールします。
LG3D用のファイルを作成するときは、

  • 「ファイル」→「新規ファイル」を選択
  • 新規ファイルのウィザードが表示されるので、 カテゴリの「Looking Glass 3D」を、ファイルの種類の「LG3D Frame」を選択し、「次へ」
  • クラス名等を指定し、「完了」を押し、ウィザードを終了させる。

という感じです。
スクリーンショットは次の通りです。



なかなか面白いですね。

http://blogs.sun.com/thaniwa/date/20061203 2006年 12月 03日 日曜日

(JA) NetBeans 5.5 と JDK のバージョンアップ

Fedora Core 6 に JDK 1.5.0_09 をいれて、NetBeans 5.5 をいれてみたのですが、 先日 JDK 1.5.0_10 が出たということで入れ替え。 とりあえず、rpm版を利用しておりました。

で、NetBeans 5.5 を起動しようとすると起動しない…(汗。
ちょっと焦りましたが、どうも、JDKのパスが変わることが原因のようですね。
JDK 1.5.0_09は /usr/java/jdk1.5.0_09 、 JDK 1.5.0_10は /usr/java/jdk1.5.0_10 にインストールされます。

調べてみると、NetBeans の JDKのパスは /opt/netbeans-5.5/etc/netbeans.conf で設定されているようです。 変更するのは下記の部分です。

# default location of J2SE JDK, can be overridden by using --jdkhome <dir> switch
netbeans_jdkhome="/usr/java/jdk1.5.0_10"

上記の通りですが、起動オプションで --jdkhome を利用することで 別のJDKの指定も可能です。

$ /opt/netbeans-5.5/bin/netbeans --help
Usage: /opt/netbeans-5.5/bin/../platform6/lib/nbexec {options} arguments

General options:
  --help                show this help
  --jdkhome <path>      path to Java(TM) 2 SDK, Standard Edition
  -J<jvm_option>        pass <jvm_option> to JVM

JDKのrpm版、/usr/java/jdk1.5.0 とかバージョンアップしても困らないようにシンボリックリンク作ってくれれば良いのに…とちょっと思いました。^-^:

http://blogs.sun.com/thaniwa/date/20061201 2006年 12月 01日 金曜日

(JA) J2SE 1.4 on Fedora Core 6

諸事情により、J2SE 1.4 がどうしても必要になり、インストールしたのは良いのですが、 下記のエラー発生。

$ /usr/java/j2sdk1.4.2_13/jre/javaws/javaws
$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/java/j2sdk1.4.2_13/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1503)
        at java.lang.Runtime.loadLibrary0(Runtime.java:788)
        at java.lang.System.loadLibrary(System.java:834)
        at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Toolkit.loadLibraries(Toolkit.java:1437)
        at java.awt.Toolkit.(Toolkit.java:1458)
        at com.sun.javaws.Main.main(Main.java:58)

libXpが無いと…。どうも、これ結構有名のようで、調べてみるとxorg-x11-deprecated-libs をインストールしろということらしい。

# yum install xorg-x11-deprecated-libs
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
No Match for argument: xorg-x11-deprecated-libs
Nothing to do

無いんですけど。orz
と思ったら、Fedora Core 5から、パッケージ名が変わっているようで、 私が必要なのは libXp というパッケージ名になっていたようです。

# yum install libXp
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for libXp to pack into transaction set.
libXp-1.0.0-8.i386.rpm    100% |=========================| 6.8 kB    00:00
---> Package libXp.i386 0:1.0.0-8 set to be updated
--> Running transaction check

で、解決。

当然ながら文字が□になるので、 /usr/java/j2sdk1.4.2_13/jre/lib/font.properties.ja の書き換えが必要です。この方法は JDK 1.5 とは違います。
詳細は
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/intl/fontprop.html として、要は

serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=-watanabe-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0

みたいなのを

serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=-misc-sazanami mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0

みたいに書き換える必要があります…。 fonts.dir(mkfontsdirで作成される情報)で定義する必要があります。 当然この設定が有効になっている必要があるのですが、 fc-cache,fc-listのようなfreetype系とは管理が別です…。

Fedora Core 6のデフォルトでは、 さざなみの「jisx0208.1983-0」は定義されていないので、 shinonome か jis-fixed でしょうか…。