xtne6f / EDCB

BonDriver based multifunctional EPG software
Other
162 stars 37 forks source link

EPG基本情報のみ取得の改善 #53

Closed nuanuaSHiThunderYO2 closed 2 years ago

nuanuaSHiThunderYO2 commented 2 years ago

ここのループのインクリメントと終了条件が不自然だったので .ChSet4.txtの並びやチェック依存ですが EPG基の6(CS1)と7(CS2)をいったりきたり複数回実行してしまいます。 4(BS)は並びのおかげで、まあ複数実行しないでしょう。  EPG基を複数回実行しても大体同じファイルサイズで末尾0xffffの_epg.dat.tmpが 併合ではなくCopyFile()で単純に上書きされているだけで意味がないように見えます。

この不具合は .ChSet4.txtをテキストエディタで並べ変えることによって EPG詳を好きな順番で取得できないかとソースコードを探っているうちに発見しました。

解消されれば  ・衛星放送のEPG基がより早く終わる場合がある  ・テキストエディタでの.ChSet4.txtの並べ変えでEPG詳をある程度好みの順番にできる   (衛星放送を詳で全部取得すると2時間ちょいかかるタイムアウトを好みで短くできる)  ・テキストエディタでの.ChSet4.txtの並べ替えでBS、CS1、CS2、CS3をごちゃまぜにできる これらが実現できると思えます。

xtne6f commented 2 years ago

ありがとうございます。そのとおりと思います。 しかし解消された場合の効果は限定的です。というのもこの不具合の影響を受けるのはおそらくEpgDataCap_Bon.exeの「EPG取得」ボタンを押した場合だけだからです。EpgTimerSrv(やEpgTimer)からのEPG取得ではEpgTimerSrv側でEPG取得チャンネルの選別とソートが行われるので、EPG取得順を制御可能にするにはこのあたりをどう改変するか考える必要があると思います。

ともあれ本件修正すべきですね。work-plus-sはリリース用のブランチなので、このプルリクエストはできれば branch:misc のほうに送ってもらえると望ましい(マージの記録が残る)ですが、面倒でしたらこちらでcherry-pickします。

nuanuaSHiThunderYO2 commented 2 years ago

>EPG取得」ボタンを押した場合だけだからです ああ、色々こちらの勘違いでしたね。 ChSet5.txtがmap<LONGLONG, CH_DATA5で並べ替えられるんですね。

> miscのほうに送ってもらえると望ましい こちら操作下手なので、そちらにお任せします。

xtne6f commented 2 years ago

branch:misc にcherry-pickしました。履歴がClose扱いになりますが適用済みです。

nuanuaSHiThunderYO2 commented 2 years ago

ありがとうございます。 お手数すみませんでした。

xtne6f commented 2 years ago

いえいえ、またなにか気づいたことあればよろしくお願いします。 まだ検討中ですがEpgTimerSrv(やEpgTimer)からのEPG取得をChSet5.txtそのままの並び順でできるようにするオプションがあれば多少便利かなと考えています。