吉里吉里２のソースです。

現時点でのソースは残念ながら それほど移植性が高い物とは言えません。他の方の意
見を聞きながら 徐々になおしていきたいと思っています。

他のプラットフォームへの移植を考えていらっしゃる方、また、移植に協力してもよい
よ、という方など、ぜひぜひ IRC チャンネル #kirikiriirc にいらしてください。

ライセンスの関係上、C++ Builder 5 Professionalを持っている方限定ということにな
りますが、こちらのビルド環境をそのままお渡しできます。必要な方はご連絡ください。


■ ソース関連TODO ------------------------------------------------------------

　いい加減



   ・この汚いクラス構造だとかファイル構造だとかをどうにかしたいのだが
   ・Borland C++ Builder と VCL を捨てたいのだが
   ・gccでコンパイルできるようにしたいのだが


      →しかし時間がない


■ Subversion リポジトリ -----------------------------------------------------

　Subversion リポジトリは以下の場所にあります。コミットしている時間帯については
ツッコミ不可。

  https://sv.kikyou.info/svn/kirikiri2/

　コミットなどにはユーザ名とパスワードが必要です。どうしても俺はコミットしたい
んじゃ！という方はご連絡ください。

■ STL のバグ ----------------------------------------------------------------

Rogue Wave の memory.stl にはバグを持っている物があります。

このパッチを当ててください。さもないと TJS2 の Array.sort で安定ソートを行おうと
したときにメモリリークが発生します。

diff -Naur old/memory.stl new/memory.stl
--- old/memory.stl	2004-11-01 16:35:43.764744500 +0900
+++ new/memory.stl	2004-11-01 16:35:50.733672900 +0900
@@ -196,8 +196,8 @@
   template <class ForwardIterator> 
   _RWSTD_TRICKY_INLINE void __destroy (ForwardIterator first, ForwardIterator last)
   {
-    while (first != last)
-      ++first;
+     for ( ; first != last; ++first)
+        __destroy(&*first);
   }
 #if defined(_RWSTD_NO_DESTROY_BUILTIN) || defined(_RWSTD_NO_DESTROY_NONBUILTIN)
 //


■ ライセンスについて --------------------------------------------------------

　添付の license.txt をご覧ください。


■ ソースについて ------------------------------------------------------------

　汚いってのは言い飽きましたが汚いです。コメントの文法がしばしば間違ってるのは
勘弁してください。


■ 他に必要な物 --------------------------------------------------------------

　Win32 版ではとりあえず Borland C++ Builder 5 が必要です。VCL に依存している
部分がまだいくつかありますが、書き直そうとおもえば SDK only で書けないことも
なさそうですが、作者に時間がないです。

　依存ライブラリについてはドキュメントの「謝辞」を参照してください。


■ TJS2 ----------------------------------------------------------------------

　TJS2 は VCL 等に依存していないので、Borland Commandline Tools (無償で公開さ
れている) でコンパイルできます。VC++ でコンパイルできるかは知りません。

　Solaris/gcc 2.95.2 でコンパイルできたのを確認しています。wstring 関連でヘッ
ダファイルの修正が必要になります。どこだったか。


■ バイナリ ------------------------------------------------------------------

　入ってません。


■ 簡単な動作の流れ ----------------------------------------------------------

　Win32 版のエントリポイントは kirikiri2/src/core/environ/win32/tvpwin32.cpp に
あります。

　そこでコマンドラインパラメータと、最初に実行すべきスクリプトをチェックをしま
す。
　最初に実行すべきスクリプトが見あたらない場合は krdevui.dll をリンクしてユーザ
に最初に実行すべきスクリプトを選ばせるためのダイアログを表示します。

　そのあと、TVPSystemInit() による基本的な初期化を終えるとコントロールウィンド
ウを生成してメッセージループに入ります。

　で、最初に実行すべきスクリプトを実行します。スクリプトが実行されたらあとは
それに従います。初回のスクリプト実行でウィンドウが何も生成されなかったときは
プログラムはそのまま終了します。

　最初に実行すべきスクリプトがやっぱり見つからないとか、最初の選択ダイアログで
「選択しない」ボタンを押した場合は、コントロールウィンドウを表示し、ユーザの指
示を待ちます。

　……一番複雑なのはイベント関連です、そのうちドキュメントを整備せにゃならん。


■ プラグインソース ----------------------------------------------------------

　吉里吉里用プラグインを作りたい人向けのサンプルプログラムがいくつかあります。


kirikiri2/src/plugins/win32 がプラグイン関連(Win32)の置いてあるディレクトリで
す。

・kirikiri2/src/plugins/win32/basetest
  吉里吉里で使用可能な関数を増やすサンプル

・kirikiri2/src/plugins/win32/extrans
  拡張トランジションプラグインのソース
                        ( トランジションプラグインを作りたい人向け )

・kirikiri2/src/plugins/win32/fftgraph
  fftgraph (スペアナ) プラグインです。再生中のバッファから PCM データを取得する
  方法や、レイヤへの画像の書き込みの方法など。

あと、kirikiri2/src/plugins/win32/ にある wu で始まるディレクトリに入っているの
は PCM 形式を拡張するためのプラグインです。吉里吉里で再生可能な PCM 形式を増や
すプラグインを書きたい人向けです。この形式のプラグインは吉里吉里１と共通のもので
す。

ちなみに、PCM 形式のプラグインを除いては、プラグインの仕様は固まっていません。


■ 連絡先 --------------------------------------------------------------------

 W.Dee <dee@kikyou.info>


