= 開発メモ = HandBrake日本語版開発に関する雑多なメモ。 == リポジトリ == 2011年2月21日に[https://github.com/HandBrake Githubでミラーが公開された]ので、ここからcloneしてきたリポジトリをベースに日本語化を行う予定。でもタグやブランチが切られていないのでどうしよう。 →githubはgit-svnを使っている。SVNのchangeset 3735(https://trac.handbrake.fr/changeset/3735)が0.9.5のtagに相当。なので、changeset 3734に相当するcommitにタグを付けて対処。 →[http://git.sourceforge.jp/view?p=handbrake-jp/handbrake-jp-git.git handbrake-jp-git]をgithubからのfolkブランチとして作成、今後はこのリポジトリを開発のベースとする。 gitベースのリポジトリの場合、subwcrev.exeが使えない。そのため、下記のビルドイベントを削除し、手動で相当する操作をあらかじめ行っておく。 HandBrakeCSのやつ subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs" subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs" subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Installer\MakeNightly.nsi.tmpl" "$(ProjectDir)Installer\MakeNightly.nsi" HandBrake.ApplicationServicesのやつ subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs" subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs" やること: 1. $(ProjectDir)Properties\AssemblyInfo.cs.tmpl を $(ProjectDir)Properties\AssemblyInfo.cs としてコピー 2. $(ProjectDir)Installer\MakeNightly.nsi.tmpl を $(ProjectDir)Installer\MakeNightly.nsi としてコピー 3. 1.2.のファイル内の「$WCREV$」を適当なリビジョン文字列に置き換える == ビルド方法 == === 1. Jamrulesファイルを編集 HB_VERSIONにバージョン番号をセットする。 (以下、作成中) == Windows向け裏ビルド方法 ライブラリのビルド面倒くさい! GUIだけビルドしたい! という場合、win/C#/以下にあるHandBrakeCS.slnをVisual Studioで開いてビルドすればOK。win/C#/bin/{Debug|Release}/以下にHandbrake.exeができる。ただし、実行にはHandBrakeCLI.exeとか関連dllが必要なので要注意。HandBrakeCLI.exeはコマンドライン版HandBrakeに含まれているやつでOK。 === アップデート === $ find . -name '*.resx' > files.txt $ find . -name '*.cs' > files.txt $ awk '{print "git diff jp-0.9.4 original-0.9.5 " $1 " > " $1 ".diff"}' files.txt > mkdiff.sh $ . mkdiff.sh === バージョン番号表記 HandBrakeのバージョン番号は、HandBrakeCLI.exeから取得される(「HandBrakeCLI.exe -u -v0」を実行して表示される文字列)。HandBrake UI versionはAssemblyInfo.cs内に記述してある。 == プリセット周りの日本語化処理 * QyeryParser内では英語のまま * PresetLoader内で対応する日本語に置き換える === 置き換えが必要そうな項目 * PictureSettings(「サイズ」タブ) * drp_anamorphic -> Index指定なので不要 * drp_modulus -> 数値のみなので不要 * Filters(「フィルタ」タブ) : Filters内にsetXXX関数が用意されているのでそこで調整( // Setup for each component for the preset loader. 以下) * drop_detelecine * drop_decomb * drop_deinterlace * drop_denoise * 「動画」タブ * drp_videoEncoder -> 英語なのでそのまま * drp_videoFramerate -> 「Same as source」のみを変換 * AudioPanel(「音声」タブ):QueryParserとPresetLoaderの両方で * Subtitles(「字幕」タブ) * drp_subtitleTracks -> * srt_lang * srt_charcode -> なし * 「チャプター」タブ * なし * 「詳細設定」タブ * なし * 「コマンドライン」タブ * なし