Show page source of v7sh_mod_yossiepon版 #106736

= v7sh_mod_yossiepon版

== 概要

公式の 2.0.14 のソースにななし版 2.0.14.6 までのカスタマイズの一部を反映し、話数未割り当て(特番)等の付番方法の見直しを行った物です。

 * 話数が割り当てられていないもの(特番など)、話数が自然数(1以上の整数)でないもの(0話、5.5話、12.5話等)を1話として扱うように変更
   * 1, 2~12, 総集編, 13~25 となっていた場合、
     * 1, 2~25, SP1 として扱います。
   * 事前特番1, 事前特番2, 1, 2~12 となっていた場合、
     * 1~12, SP1, SP2 として扱います。
   * 0, 1~5, 5.5, 6~12, 12.5 となっていた場合、
     * 1~12, 0(SP1), 5.5(SP2), 12.5(SP3) として扱います。
   * SPnは内部的に別データとして扱いますが、
     * ナンバリングモードで表示すると通常回の後ろに配置されます
     * カレンダーモードで表示すると放送開始日時に基づいて配置されます
     * プロパティを表示すると第-n話となります
   * サブタイトルが「#nn.n」の場合は「SPn」ではなく話数(nn.n)がそのまま入ります。
   * 特番回の接頭辞「SP」はmAgicAnime.exe.configのunnumberedEpisodePrefixで設定しています。
   * 話数が小数部を持つ場合、回数が空欄で、サブタイトルに「#nn.n」のように書いてある想定です。空欄でない場合は回数の値が優先されます
 * 複数話連続放送の場合、公式版では連続話数だけ予約が分割されますが、分割しないように変更(単純分割だと半端なところで切断されるため)
   * 1~4話が120分連続放送(サブタイトルが「!#1~!#4」)となっていた場合、
     * 公式版では、1~4話が30分ずつに分割された予約データになります
     * mod.版では、1話はサブタイトル「!#1~!#4」で120分になり、2~4話はサブタイトル「!#1~!#4」でプラン未確定になります
 * 保存ファイルの書式に「{6}」(話数文字列)を追加
   * 例)ガールズ&パンツァー !#5.5「紹介します!」(初回本放送)
     * 書式『{0} 第{1:00}話 「{2}」』の場合、
       * 『ガールズ&パンツァー 第-01話「紹介します!」』
         * 5.5話は内部的に-1話扱いのため
     * 書式『{0} 第{6}話 「{2}」』の場合、
       * 『ガールズ&パンツァー 第5.5話「紹介します!」』
         * 通常回の場合、{1:00}と同じになります(左0埋め整数2桁)
         * 書式「00」はmAgicAnime.exe.configのstoryNoFormatで設定しています。
   * 例)憑物語 !#1~!#4(初回本放送、複数話連続)
     * 書式『{0} 第{1:00}話 「{2}」』の場合、
       * 『憑物語 第01話「!#1~!#4」』
     * 書式『{0} 第{6}話 「{2}」』の場合、
       * 『憑物語 第01~04話「!#1~!#4」』
         * 本 mod. 版では !#1 のみ120分扱いの録画対象となり、!#2, !#3, !#4 は未確定扱い
   * 例)冴えない彼女の育てかた !#0「愛と青春のサービス回」(初回本放送、0話)
     * 書式『{0} 第{1:00}話 「{2}」』の場合、
       * 『冴えない彼女の育てかた 第-01話「愛と青春のサービス回」』
         * 0話は内部的に-1話扱いのため
     * 書式『{0} 第{6}話 「{2}」』の場合、
       * 『冴えない彼女の育てかた 第00話「愛と青春のサービス回」』
   * 例)機動戦士ガンダムSEED DESTINY スペシャルエディション完結編 ~自由の代償~(全50話、TBS再放送時の6番目の特別番組)
     * 書式『{0} 第{1:00}話 「{2}」』の場合、
       * 『機動戦士ガンダムSEED DESTINY 第-07話「スペシャルエディション完結編 ~自由の代償~」』
     * 書式『{0} 第{6}話 「{2}」』の場合、
       * 『機動戦士ガンダムSEED DESTINY 第SP7話「スペシャルエディション完結編 ~自由の代償~」』
         * SPnは同一放送局で、本放送/再放送を問わずタイトルのみで判断し付番します。
         * 上記例の場合、「SP1」はTBS本放送時の「-EDITED- 特別番組」となり、TBS再放送時の特番は続きの「SP2」からになります。
     * SPnは本放送/再放送を通して1度しか放送しない事が多いと思われるので、プラン選択で「n回目」を選択し、かつ回数を1より大きくすると再放送の特番は予約できない可能性があります。
       * 上記の例だと、再放送の録画を「2回目」指定で行う場合、本放送のSP1だけでなく、再放送時のSP2~SP7も録画対象から外れます。
         * その放送が何回目かは、話数ごとに個別に判断されるため
       * このため特番を取得する際の放送プランの選択は、「現在以降、一番早く~」か「最も後に~」のどちらかにしておく必要があります。

== 関連する修正、その他の軽微な修正

 * 非整数の話数(0, n.5等)、複数話連続放送(m~n)、特番(SPn)を通常の話数と同様にウィンドウに表示するように変更
 * animePrograms.xmlに話数文字列(!StoryNoStr)を読み書きするよう修正
   * 話数文字列を持たない animePrograms.xml を読ませた場合、すでに保持している話数番号から2桁左0埋めで文字列化して生成します。
     * mAgicAnime.exe.configのstoryNoFormatの書式が有効です
 * 放送直前に強制データ更新のデフォルト設定の復活(ななし版から変更)
   * 設定がない場合、「10, 30」分前に更新するをデフォルトで設定
     * 公式ソースに Settings.settings が付いていないため、ななし版で再作成された際にデフォルトの設定が抜けたと思われます
 * サブタイトルのコメントを取得するように修正
   * 「総集編」「L字テロップあり」などのコメントが反映されます
   * 録画開始後にしょぼかる側にコメントが入った場合は反映されません
 * タイトル等に「mod. yossiepon_yyyymmdd」を追加
 * 予約データを更新する際にファイル名に一意のIDを含む指定が無視される不具合を修正
   * 予約を直接変更可能な録画ソフトを使用している場合、しょぼかる側のデータ更新により予約データが変更される際に番組タイトルから一意のID「AXXXXXXXXXX_XX」が抜けてしまうため、mAgicAnimeで録画ファイルを認識しない不具合があったので修正
 * 放送プランデータ異常時に警告アイコンを出力する機能追加(通常アイコンの横の位置)
 * 右クリックメニューに「この番組のみを更新」機能を追加
 * 右クリックメニューに「無効な最終回を削除」機能を追加
   * 次の条件を満たした場合に削除可能となります
     * 対象話数の状態が、プラン未定、または放送プランデータ異常
     * 対象話数が録画済みでない、かつ未予約(予約済の場合、先に予約を削除する)
     * 対象話数が通常回または特番回の最後(複数ある場合は最後から順に消す)

== 未対応の機能

 * 複数話連続放送を、公式版と同様に分割して予約する設定はありません
 * 未付番回、非整数回を無視する設定はありません
   * 手動にて録画済にする等の対処が必要

== 既知の問題

 * 同一番組で放送局を切り替えた際に、特番の数が変化する場合は、本来切り替え時になくなる分のデータが「サーバーの放送データが消えていますが現状のデータを維持します」として扱われ、残り続けます。(!KeepPlan設定有効時)
 * 同一番組で本放送/再放送(録画プラン)を切り替えた際に、連続放送の有無が変化する場合は、前節と同様になくなる分のデータが「サーバーの放送データが消えていますが現状のデータを維持します」として扱われ、残り続けます。(!KeepPlan設定有効時)

== バージョン履歴

||2.0.14.20160924||特番回のデータを通常回と分離して保持するように修正||
||||放送プランデータ異常時に警告アイコンを表示する機能を追加||
||||通常回・特番回末尾のデータが未定・異常時に削除する機能を追加||
||||選択した番組のみデータ更新する機能を追加||
||2.0.14.20151025||ファイル名の置換対象文字に「|」と「%」を追加||
||2.0.14.20150815||予約データ更新時にファイル名から一意のIDが抜ける不具合を修正||
||||話数文字列の書式設定を設定ファイルに外だし||
||||話数文字列をエピソードダイアログに表示する機能を追加||
||||特番話数の接頭辞を設定ファイルに外だし||
||2.0.14.20150705||特番対応(ななし版とは別アルゴリズム)||
||||複数話数連続放送時に予約を分割しないように修正||

== ななし版からそのまま取り込んだ機能(元ドキュメントの内容を抜粋)

=== 概要

 * 外部エンコーダが0以外のコードで終了した場合は異常終了とみなすように変更
   * エラー発生時はエンコード後に元ファイルを削除しないようになります
   * ※開発BBSの>>25氏が指摘
 * 話数が割り当てられていないもの(総集編など)を1話として扱うように変更
   * 話数の割り当て処理はmod.版で全面的に修正していますが、mod.版の修正ポイントの参考にしました
 * ウィンドウサイズが極端に小さくならないように限定した
 * 番組プロパティの上部のURLでブラウザを開くようにした
   * 番組IDが指定されている場合、そのページを開きます
   * 登録されてない場合はトップページを開きます

=== バージョン履歴

||2.0.14.5||2012-03-19||番組プロパティの上部のURLでブラウザを開くようにした||
||2.0.14.4||2012-03-18||タイトルバーにVer.7shを追加||
||2.0.14.3||2012-02-23||ウィンドウサイズが極端に小さくならないように限定した||
||2.0.14.1||2012-02-14||話数が割り当てられていないデータも1話として扱うようにした||
||||||エンコード失敗時にファイルを削除しないようにした||