======================================================================
サンプルプラグインについて
======================================================================

------------
　はじめに
------------

ch.kuramo.javie.examples.effect プロジェクトは、Javieのサンプルプラグインプロジェクトです。
ビデオエフェクトとオーディオエフェクトがひとつずつあります。また、エフェクトのカテゴリ追加を行っています。

Javieのプラグイン開発には Eclipse RCP 3.5 が必要です。次のURLからダウンロードできます。
一般的なJava開発に必要なEclipseとは異なりますのでご注意ください。
http://www.eclipse.org/downloads/packages/eclipse-rcpplug-developers/galileosr2

ch.kuramo.javie.examples.effect プロジェクトをビルドするには、
次のプロジェクトとともにEclipseのワークスペースへインポートしてください。

  * com.google.code.guice
  * jogl2
  * net.arnx.jsonic
  * ch.kuramo.javie.api

Eclipse上で実行およびデバッグするためには、以下のJavie本体のプロジェクト一式も
Eclipseのワークスペースへインポートしてください。Javie本体のビルド及び実行方法は
ソースコードの配布物内にある BUILDING.txt をご覧ください。

  * com.google.code.guice
  * ftgl
  * java3d.vecmath
  * javassist
  * jogl2
  * net.arnx.jsonic
  * net.java.dev.jna
  * org.scannotation
  * org.slf4j.slf4j-api
  * org.slf4j.slf4j-simple
  * rhino.js
  * ch.kuramo.javie.api
  * ch.kuramo.javie.app
  * ch.kuramo.javie.app.feature
  * ch.kuramo.javie.core
  * ch.kuramo.javie.effects


----------------------
  パッケージングについて
----------------------

JavieはアプリケーションフレームワークにEclipse RCPを採用しています。
そして、Javieのプラグイン機構はEclipseのプラグイン機構をそのまま借用して構築しています。
そのため、JavieのプラグインはEclipseのプラグインと同じ方法でパッケージングします。
しかし、エフェクトひとつを作るのにもEclipseプラグインと同じ方法で行う必要があるとなると少々敷居が高くなりますし
手間もかかります。そこで、エフェクトクラスとリソースファイル(プロパティのラベル等を記述したファイル)を
jarファイルにまとめるだけのパッケージング方法を選択することもできるようになっています。

    ------------------------------------------------------------
    エフェクトクラスとリソースファイルをjarにまとめるだけのパッケージング
    ------------------------------------------------------------

    このサンプルプラグインの場合であれば、次の４つのファイルを含んだjarファイルを作成します。他のファイルは不要です。

        ch/kuramo/javie/examples/effect/messages_ja.properties
        ch/kuramo/javie/examples/effect/messages.properties
        ch/kuramo/javie/examples/effect/InvertColor.class
        ch/kuramo/javie/examples/effect/AudioLevel.class

    ただし、この方法ではエフェクトのカテゴリ追加を行う事ができません。また、更新マネージャを使用して配布することもできません。

    この方法で作成したjarファイルは、Javieのアプリケーションファイルと同じ場所にある ezplugins フォルダに
    入れると使用することができます。(pluginsフォルダではないのでご注意ください)

    Javieがプラグインを正常に認識すると “loading ezplugin: jarファイル名” というメッセージが
    コンソールに書き出されます。

    ----------------------------------------
    Eclipseプラグインとしてパッケージングする
    ----------------------------------------

    ここでは、このサンプルプラグインをEclipseプラグインとしてパッケージングするための手順のみを示します。
    開発方法の詳細や更新マネージャを使用して配布する方法などは別途ドキュメント化する予定ですが、
    EclipseRCP関連の書籍やWebサイト等もご覧ください。
    
        * plugin.xmlを開き、Overviewタブを選択します。
        * Exportingのところの4番目にある “Export Wizard” をクリックします。
        * “Available Plug-ins and Fragments” の一覧内で、このプロジェクト(ch.kuramo.javie.examples.effect)
          だけが選択されていることを確認してください。
        * “Destination” タブで “Directory” を選択し出力先を指定します。
        * 他のタブは初期値のままで構いません。
        * Finish ボタンを押すとパッケージ処理が始まります。出力先には plugins というフォルダが作成され、
          その中に jar ファイルが１つだけできているはずです。これが出来上がったプラグインのファイルです。

    この方法で作成したプラグインファイルは、Javieのアプリケーションファイルと同じ場所にある dropins フォルダに
    入れると使用することができます。(pluginsフォルダではないのでご注意ください)

    Javieがプラグインを正常に認識すると “loading JaviePlugin: プラグイン名” というメッセージが
    コンソールに書き出されます。


----------------
  APIについて
----------------

プラグインから利用できるAPIは、すべて ch.kuramo.javie.api プロジェクト内で定義されています。
また、ソースコードの配布物内にある apidoc というフォルダにAPIドキュメントがあります。
APIドキュメントは http://javie.sourceforge.jp/apidoc/ でもご覧頂けます。


----------------------------
  ビデオエフェクトについて
----------------------------

ビデオエフェクトの詳細は InvertColor.java のコメントおよび関連するAPIドキュメントご覧ください。


----------------------------
  オーディオエフェクトについて
----------------------------

ビデオエフェクトの詳細は AudioLevel.java のコメントおよび関連するAPIドキュメントご覧ください。


----------------
  ファイル一覧
----------------

  META-INF
      MANIFEST.MF                                 * Eclipseプラグインとして開発するのに必要なファイル

  OSGI-INF/l10n
      bundle.properties                           * 追加カテゴリのデフォルトの国際化リソース
      bundle_ja.properties                        * 追加カテゴリの日本語リソース

  README.txt                                      * このファイル

  build.properties                                * Eclipseプラグインとして開発するのに必要なファイル

  plugin.xml                                      * Eclipseプラグインとして開発するのに必要なファイル

  src/main/java/ch/kuramo/javie/examples/effect
      AudioLevel.java                             * オーディオエフェクトのサンプル
      ExampleEffectPlugin.java                    * Eclipseプラグインとして開発するのに必要なファイル
      InvertColor.java                            * ビデオエフェクトのサンプル
      messages.properties                         * ラベル等のデフォルトの国際化リソース
      messages_ja.properties                      * ラベル等の日本語リソース


