//
// チャプター編集 for AviUtl by ぽむ
//

ogm/mkv/mp4用のチャプターファイルを作成するためのプラグインです。
表示メニューに「チャプター編集」を追加します。
AviUtl0.99c以降に対応。

■使い方
・編集
AviUtlでチャプターを入れたい位置を表示させます。「時間」のところにタイムコードが表示されるので、「名称」のところにタイトル名を入力して改行または「追加」ボタンを押せばチャプターが追加されます。「名称」の入力欄には履歴が30件保存されるので履歴を選択して入力することもできます。これを繰り返して入力します。

・チャプター一覧
入力済みのチャプターをクリックすれば、AviUtlの表示はその位置に移動し、内容は「時間」「名称」欄に反映されます。「削除」ボタンで入力済みのチャプターを削除できます。

・保存
入力し終わったら「保存」ボタンでファイル名を指定して保存できます。

・読込
「読込」ボタンを押して保存してあるチャプターファイルを読み込めます。

・自動出力
自動出力にチェックを入れておくと編集データがある場合、動画出力時にAviUtlのフォルダにchapter.txtのファイル名でチャプターファイルを自動保存します。このファイルはチャプター編集のウインドウが非表示でも出力されます。チャプターデータはプロジェクトファイル（バッチ処理用ファイルも含みます）にも保存されるので、コマンド実行プラグインなどでのバッチ処理に利用できます。

■自動出力の使用例
各プラグインの設定ファイルの記述例です。

mp4/mkvの判定とチャプターデータ有り/無しの判定を入れているため複雑ですが、
判定が不要なら単にmuxer(mp4box/mkvmerge)にchapterのオプションを追加するだけです。

------ コマンド実行プラグイン ------
!MP4/MKVにチャプター追加
cd /d "%~dp4"
set CHAP=%~dp5chapter.txt

if not exist "%CHAP%" goto FIN
if not exist "%~dpn4.mp4" goto MKV

mp4box -chap "%CHAP%" -lang jpn "%~dpn4.mp4"
goto FIN

:MKV
if not exist "%~dpn4.mkv" goto FIN

mkvmerge -o "%~dpn4_out.mkv" "%~dpn4.mkv" --chapter-language jpn --chapters "%CHAP%"
move /y "%~dpn4_out.mkv" "%~dpn4.mkv"

:FIN
if exist "%CHAP%" del "%CHAP%"
------------------------------------

------------ x264out.auo -----------
# コンテナにMux
set CHAP=%~dp2chapter.txt
if /i %EXT% == .mkv goto mkv

:mp4
mp4box -add "%TMPF%.m4a" "%TMPF%.mp4"
if exist "%CHAP%" mp4box -chap "%CHAP%" -lang jpn "%TMPF%.mp4"
if exist "%CHAP%" del "%CHAP%"
move /y "%TMPF%.mp4" "%OUT%.mp4"
del "%TMPF%.m4a"
exit

:mkv
mkvmerge -o "%TMPF%.mkv" "%TMPF%.mp4" "%TMPF%.m4a"
if exist "%CHAP%" mkvmerge -o "%TMPF%_out.mkv" "%TMPF%.mkv" --chapter-language jpn --chapters "%CHAP%"
if exist "%CHAP%" move /y "%TMPF%_out.mkv" "%TMPF%.mkv"
if exist "%CHAP%" del "%CHAP%"
move /y "%TMPF%.mkv" "%OUT%.mkv"
del "%TMPF%.mp4" "%TMPF%.m4a"
exit
-------------------------------------

■更新履歴
2009.11.06 ver0.6 YUY2フィルタモードでも認識するようにした。
2009.08.13 ver0.5 自動出力ファイル名がおかしくなることがある不具合を修正。
2009.05.08 ver0.4 セーブダイアログでの改行入力でチャプター追加が確定する問題を修正。
2009.05.01 ver0.3 改行での入力、編集内容をプロジェクトに保存、自動出力の追加、履歴保存数を変更、ほか。
2005.05.16 ver0.2 タイムコードの計算精度を高くした。
2004.05.26 ver0.1 保存ファイルを読込時に改行を削除しなかった不具合修正。
2004.03.20 ver0.0 公開。