English

LG3D関連物置

目次


SmallToolkit for LG3D



Trumplayer, JSaddle で活用しているボタンなどを簡単に使えるように再構成し別パッケージ化しました。
ソースコードも含めてまるごと公開しています。
これは、サンプルのソースコードの一部ですが、こんな感じで簡単にボタンが作れます。
            Frame3D frame = new Frame3D();

            ClassLoader loader = this.getClass().getClassLoader();

            CylinderButtonComponent3D cylinder = new CylinderButtonComponent3D(loader.getResource("org/jdesktop/lg3d/apps/smalltoolkit/sample/resources/button_a.png"));
            cylinder.setPressedAction(new ActionBoolean(){
                public void performAction(LgEventSource source, boolean state){
                    component.setRotationAxis(1.0f,0.0f,0.0f);
                    if(state)
                        component.changeRotationAngle((float)Math.PI*2);
                    else
                        component.changeRotationAngle(0.0f);                        
                }
            });
            frame.addChild(cylinder);


現状では下記のようなBox,Cone,Cylinderベースの各種ボタンと最小化ボタン、終了ボタンのみです。^-^;

ファイルはこちらから。
smalltoolkit.jar(本体)、ソースコード、javadocがセットになっています。
ライセンスは GPL です。
SmallToolkit version 0.101 : smalltoolkit_0.101.zip 2007/04/16 最新版に更新 : パッケージ名を変更



JSaddle - PDF Viewer for LG3D 1.0

07/21/2007 最新版に更新:隠しメニューの改造をしました。

LG3D 1.0 用の PDF Viewer です。プレゼンに利用できる PDF Viewer が欲しかったので作りました。 PDF読み込み部分に JPedal(www.jpedal.org) を利用しています。
プレゼンに利用することを前提としているので、ボタンを極力少なくなるようにデザインしています。 特にメインビュアーはボタンはありません。 基本的には本体、サムネイル上でのマウスクリックで全ての作業が行えるようにしています。
(2ボタンマウス環境用に新規メニューを追加しましたが、マウスカーソルがメニューに入っていない時には表示しない方式にしています。サムネイルビュアーにはボタンを配置しています。)

テクスチャキャッシュの量を最小限にしているため、多少動作がもたつくこともありますが、 それはご愛嬌ということで。^-^;

ソースコードは lg3d-incubator.dev.java.net で公開しています。

メインビュアー


メニュー範囲にマウスカーソルが無い場合


メニュー範囲にマウスカーソルが移動した場合


ファイル選択画面 (メインビューの裏側)


サムネイル表示 (デフォルト)


サムネイル表示 (写真フィルムっぽい感じ)


サムネイル表示 (傾けた3Dサムネイルの横スクロール)


サムネイル表示 (奥行きを利用したもの)


インストール方法

使いかた

PDFにまとめました。^_-
jsaddle_usage.pdf

Trumplayer(MP3 Player) for LG3D



実行動画(3MB) : プロトタイプのものです。音無し、画質あまり良くないバージョン^-^;

JavaOne Tokyo 2005 にあわせて作成した MP3 Player です。 とりあえず trumplayer という名前にしてみました。
現在は lg3d-incubator (2006/7/29以降) にソースコードが取り込まれました。
0.9.0 Daily Build から利用できます。

当初、trumplayerは JMFベースでしたが、JLayerに移行しました。
(現時点では trumplayerのソースコードからJMFを利用した部分を完全に削除していません。 ビルドには JMFが必要なのですが、その部分は一切利用していないので実行には不要です。^-^; JMF/JLayerのハイブリッド仕様にする予定はありませんが、ちょっと考えるところがあり残しています。 もしかしたらその内完全に排除するかもしれません。)
JLayer : http://www.javazoom.net/javalayer/javalayer.html

trumplayer 1.1(JLayerバージョン)は LG3D 0.9.0 daily build の 2006/09/16 以降のものに含まれています。

「メニュー」→「Media」→「trumplayer」で起動できます。


lg3d-core のダウンロードサイト :
https://lg3d-core.dev.java.net/binary-builds.html
LG3D 0.7.0/0.7.1 用バイナリ、ソースの公開は中止しました。

アップデートバイナリ: 2007/06/13 更新

LG3D 1.0リリース後の変更を反映したバイナリです。 現時点では大きな変更はありません。
主な変更点:

使い方

Trumplayerの初回起動時(trumplayer.xmlが見つからなかった場合)にセットアップウィザードを起動します。 セットアップウィザードにフォルダ(ディレクトリ)を入力すると、そのフォルダにある MP3 ファイルを探し、 MP3ファイルのID3タグを利用して、設定ファイル(trumplayer.xml)を作成します。



再生方法:
アルバムをクリックするとジャケットが表示されます。アルバムをクリックすることにより、プレイリスト・ジャケットを切り替えることが出来ます。右クリックすることで元に戻ります。
アルバムのジャケット面、プレイリスト面を表示している場合、アルバムをドラッグアンドドロップで移動することができます。 アルバムをプレイヤーにドラッグアンドドロップすることでアルバムを再生します。
ジャケット面 プレイリスト面


その他の機能:

アルバムリストの検索用フォーム



アルバムリスト(プレイリスト)エディタ




Trumplayer ではアルバム情報を trumplayer.xml に保存しています。 trumplayer.xml はホームディレクトリにあります。
通常、直接編集する必要はありませんが、フォント情報の変更やカスタマイズ等を直接行うことも可能です。
日本語環境のデフォルトフォントは HGSGothicE ですが、 サンプルのスクリーンショットでは HGSSoeiKakupoptai (角ポップ体) に変更しています。
Solaris or Linux : /home/${user}/trumplayer.xml
Windows : c:\documents and settings\${user}\trumplayer.xml


trumplayer.xml の構造は以下の通りです。
アルバム情報定義ファイル : trumplayer.xml
注意: エラーチェックが完全ではないので、jpg/m3u指定のディレクトリを間違えた場合、 アルバムリストが表示されません。m(._.)m

<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : musicplayer.xml
    Created on : 2005/11/11, 23:15
    Author     : yasuhiro
    Description:
        Purpose of the document follows.
-->

<root>
    <encode>JISAutoDetect</encode>
    <fontname>HGSGothicE</fontname>
    <album>
        <artist>BoA</artist>
        <title>BEST OF SOUL</title>
        <image>/windows/D/mp3/BoA/BEST OF SOUL.jpg</image>
        <m3u>/windows/D/mp3/BoA/BEST OF SOUL.m3u</m3u>
    </album>
    <album>
        <artist>II-MIX Δ</artist>
        <title>dELTA ONE</title>
        <image>/windows/D/mp3/two-mix/dELTA ONE.jpg</image>
        <folder>/windows/D/mp3/two-mix/dELTA ONE</folder>
    </album>
    <album>
        <artist>倉木麻衣</artist>
        <title>FUSE OF LOVE</title>
        <image>/windows/D/mp3/倉木麻衣/FUSE OF LOVE.jpg</image>
        <folder recursive="true">/windows/D/mp3/倉木麻衣/FUSE OF LOVE</folder>
    </album>
</root>

詳細は次の通りです。
<encode></encode> m3uファイル、mp3ファイル内部の文字列のエンコードを指定します。(ID3V1ではエンコード情報をサポートしていないため)
<fontname></fontname> Trumplayerが利用するフォント名を指定します。
<album></album> アルバム情報を定義するためのタグです。 アルバム情報はartist,title,image,m3u もしくは folder タグ を利用し、設定します。。
<artist></artist> アーティスト名
<title></title> アルバムタイトルを指定します。
<image></image> CDのジャケットなどイメージを表示したい場合に指定します。 指定が無い場合、テキストで artist - title が表示されます。
<m3u></m3u> m3u/extm3uファイルを指定します。
<folder></folder> m3uタグを定義している場合、そちらが優先されます。 初回起動時にフォルダ(ディレクトリ)内のmp3ファイルを読み込み 自動的にEXTM3Uプレイリスト(Winampの拡張M3U形式)を作成します。
ID3 V1.1のTrack番号、ファイル名の順番でソートします。
プレイリストは $home/trumplayer/$artist-$title.m3u として保存します。
2度目の起動以降はm3uを読み込みます。
<folder recursive="true"></folder> 初回起動時にフォルダ(ディレクトリ)を再帰的に検索します。 trumplayerは検索した全てのファイルをひとつのアルバムとして扱います。



インストール用シェルスクリプト

このスクリプトは linux環境専用です。 Solaris x86は非サポートです(Solaris x86に存在しないコマンドを一部利用しています)。

本家に Mega Bundle 版が登場したので用済み。f(^-^;

LG3D 0.7.1を動作させるためには、

が必要です。
インストール支援スクリプトは、これらの環境のインストール およびLG3Dの設定を支援する目的で作成されています。

インストール用シェルスクリプトにはバイナリは付属しませんので、 別途以下のバイナリを用意する必要があります。

利用方法の詳細は、付属の usage.txt または usage_ja.txt をご覧ください。
インストール用スクリプトの日本語版はutf-8で作成しています。


nosrc.rpm

LG3Dでは rpm を作成することができるようになりましたが、 Java3D, JAIなどは rpmではないため、管理が多少面倒です。
また、JDK,JREは/usr/javaにインストールされ、 環境により様々なAPI等の追加が行われると思います。
LG3Dでは、Java3D等を用いますが、β版を用いていたりしますし、 様々なAPI等を追加した場合、その影響が出ることも考えられるます。
そのため、通常とは別のディレクトリにインストールするような rpmを用意しました。
ライセンスの関係や容量の都合から、nosrc.rpmを公開します。
この nosrc.rpmを用いて作成した rpm では、/opt/lg3d 以下にすべてをインストールします。
RPM バージョン 4.1.1を用いて作成しています。
rpm/rpmbuildの利用方法のご存じの方のみご利用ください。


Yasuhiro Fujitsuki
Yasuhiro.Fujitsuki@Sun.COM