TVTest ver.0.8.1

TVTest ver.0.8.1の更新があったようだ。ver.0.8.0の不具合が修正されている。
青文字部分は、ver.0.8.1で修正済みのため、ver.0.8.0用パッチ適用の必要なし。

http://github.com/DBCTRADO/TVTest
◆ 更新履歴

  ver.0.8.1 2013/9/19
    ・OSD のフォントを設定できるようにした
    ・チャンネルパネルに現在のチャンネルに移動する機能を追加した
    ・パネルをドッキングさせる時に幅を維持するようにした
    ・番組表の表示時に現在のチャンネルまでスクロールする設定を追加した
    ・番組表の日付変更時に元の時刻位置を維持できるようにした
    ・全画面表示時のパネルの幅を保存するようにした
    ・番組表の検索結果の項目のダブルクリックでその番組まで移動するようにした
    ・番組の検索で Enter キーで検索開始されるように修正
    ・注目の番組の検索条件を一時的に無効にできるようにした
    ・デフォルトの正規表現を ECMAScript(JavaScript) 互換にした
    ・番組情報のポップアップ表示で副音声の情報も表示されるようにした
    ・高 DPI でもダイアログの文字が切れないように調整した
    ・DirectShow フィルタ類を書き直した
    ・ATL を使用しないようにした
    ・一部の映像デコーダが利用できない不具合を修正
    ・BonDriver のフォルダが相対パス指定の場合、チャンネルファイルが正しいパスか
      ら読み込まれない不具合を修正
    ・EDCB の EPG データを利用するようにしている時、番組情報が抜ける不具合を修正
    ・注目の番組の検索条件で対象チャンネルを指定する設定が保存されない不具合を修正
    ・番組表で左ダブルクリック動作を「何もしない」にしても保存されない不具合を修正局ロゴの更新時に送信日時を参照するように修正
      (以前のバージョンで新しい LogoData は読み込めません)モノラルの音声が Stereo と表示されるのを修正パネルの番組情報が途中で切れることがあるのを修正
    ・番組表のみ表示で起動した場合、最大化状態が復元されないのを修正
    ・正規表現検索で全角記号の検索が正常に行われないのを修正
    ・その他細かい修正など


いつもありがとうございますm(_ _)m


広告



今なら2週間お試しで見られます! スカパー!簡単申込



ソースファイルのみの配布なので、ビルドする必要があるだろう。 TVTest-master\doc\TVTest.txtより
◆ ビルド

  Visual Studio 2010 のプロジェクトファイルが付属しています。
  C++11 の機能を利用しているため、2010 より前の Visual Studio ではビルドできませ
  ん。Express Edition でもビルドできると思いますが、確認はしていません。
  TVTest のビルドには以下の SDK/ライブラリが別途必要になります。

  ・Microsoft Windows SDK v7.0 以上
  ・Microsoft DirectX SDK
  ・FAAD2        http://www.audiocoding.com/faad2.html
  ・libjpeg (*)  http://www.ijg.org/
  ・libpng (*)   http://libpng.org/
  ・zlib (*)     http://zlib.net/

  (*) TVTest_Image.dll のビルドに必要

  予め DirectShow の BaseClasses ライブラリ(Windows SDK の Samples\Multimedia\
  DirectShow\BaseClasses)と、FAAD2 ライブラリをビルドして用意してください。



もくじ
環境等の準備
BaseClasses ライブラリのビルド
FAAD2 ライブラリのビルド
TVTest ver.0.8.1ソースの修正(※必要な場合)
TVTest ver.0.8.0/ver.0.8.1修正内容一覧
TVTestのビルド

ヘルプファイルの作成




環境等の準備
Visual C++ 2010等(ビルド環境 ※)
Windows SDK 7.1(SamplesにBaseClasses)※Visual C++ 2010ランタイムがインストールされているとSDKインストール失敗することがある

・TVTest ver.0.8.1ソースファイル
・DirectShow の BaseClasses ライブラリ(Windows SDK の Samples\Multimedia\DirectShow\BaseClasses)
・FAAD2 ライブラリ http://www.audiocoding.com/faad2.html
・libjpeg (*) http://www.ijg.org/
・libpng (*) http://libpng.org/
・zlib (*) http://zlib.net/
(*) TVTest_Image.dll のビルドに必要

・ヘルプファイルの作成ツール
 HTML Help Workshop http://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx

・パッチの適用に使うと楽なツール
 patc254w.zip等(差分修正用ツール)patch.exeとして使う場合、管理者権限
 WinMerge等(差分表示修正用ツール)



BaseClassesのビルド
あらかじめ、
>DirectShow の BaseClasses ライブラリ(Windows SDK の Samples\Multimedia\DirectShow\BaseClasses)
が必要とのことなので、用意する。
Windos SDK 7.1をインストールを済ませたら、

baseclasses.slnを開く ※パスは個別環境によって異なる
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\baseclasses.sln

構成プロパティ→C/C++→コード生成
ランタイムライブラリ:マルチスレッドDLL(/MD)

画面上部で、DebugとReleaseの切り替えができる DebugではなくReleaseにしてビルド(Visual Studio画面上部)
Debug Win32とRelease Win32それぞれビルドに成功すると、以下のファイルができる。strmbasd.libまたはstrmbase.lib ※パスは個別環境によって異なる
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug\strmbasd.lib
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release\strmbase.lib



FAAD2 ライブラリのビルド
faad2-2.7を適当なところに解凍したら
faad.slnがあるところのフォルダを開く
例)C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\frontend
faad.slnを開く(変換ウイザードに従って変換。

構成プロパティ→C/C++→コード生成
ランタイムライブラリ:マルチスレッドDLL(/MD)

Release Win32にしてビルド
ビルドに成功すると、以下のようにlibfaad.libができる。
例)C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\Release\libfaad.lib



TVTest ver.0.8.1ソースの修正(※必要な場合)
以下には、ver.0.8.0とver.0.8.1に対する修正内容の一覧表を用意しておいた。
必要な修正部分は各自判断。0.8.1の修正は0.8.0への修正案とは異なる場合もある
※0.8.1公式最新ソースでは修正済み。

TVTest ver.0.8.0/ver.0.8.1修正内容一覧
┏━ ver.0.8.0への修正状況
┃┏ ver.0.8.1への修正状況
┃┃ ┏公開日時 ┏修正内容                                  ┏参考
2012/09/22 ※TVTest ver.0.8.0更新
2012/09/22 ①録画時スクランブル解除機能の削除
× 2012/09/26 ②TvtPlay起動時フリーズと倍速再生時ドロップ部分でのデッドロック対策 http://toro.2ch.net/test/read.cgi/avi/1348364114/17
× 2012/11/04 ③一部の映像デコーダが利用できない不具合を修正 http://toro.2ch.net/test/read.cgi/avi/1350812775/836
× 2012/12/01 ④局ロゴの更新時に送信日時を参照するように修正 http://toro.2ch.net/test/read.cgi/avi/1353575623/217
× 2013/01/08 ⑤モノラルの音声が Stereo と表示されるのを修正 http://toro.2ch.net/test/read.cgi/avi/1356710105/549
× 2013/03/17 ⑥番組表の日付変更時に元の時刻位置を維持できるようにした http://www1.axfc.net/uploader/so/2833333
× 2013/04/06 ⑦番組の検索で Enter キーで検索開始されるように修正 http://toro.2ch.net/test/read.cgi/avi/1362230664/946
× 2013/04/07 ⑧EDCB の EPG データを利用するようにしている時、番組情報が抜ける不具合を修正 http://toro.2ch.net/test/read.cgi/avi/1362230664/956
× 2013/04/08 ⑨EPG番組表のグレーアウトに対応 http://toro.2ch.net/test/read.cgi/avi/1365336640/106
× 2013/05/01 ⑩番組表で左ダブルクリック動作を「何もしない」にしても保存されない不具合を修正 http://toro.2ch.net/test/read.cgi/avi/1366985398/151
× 2013/09/10 ⑪ver0.8.0やver0.7.23以前のメモリ・リークの可能性修正 http://toro.2ch.net/test/read.cgi/avi/1376049546/970
----/--/-- ⑫TVTest_Image.dllの変更(0.7.21以降変更なし。必要なら変更可) http://toro.2ch.net/test/read.cgi/avi/1366985398/724-731
2013/09/20 ※TVTest ver.0.8.1更新 http://github.com/DBCTRADO/TVTest
× 2013/09/20 ⑬CCasProcessorのStub化
× 2013/09/20 ⑭録画設定「現在のサービスのみスクランブル解除する」部分の削除
× 2013/09/20 ⑮BonDriver専用のwinscard.dllを読み込む機能の削除
× 2013/09/21 16 DrawUtil::FillGradient() で0除算が発生するのを修正 src/DrawUtil.cpp
× 2013/09/21 17 番組表の高さを非常に小さくした時に影の描画がおかしくなるのを修正 src/ProgramGuide.cpp
2013/09/21 18 ver0.8.1で音が割れる問題の修正(音量増幅でオーバーフローするのを修正) src/DirectShowFilter/AudioDecFilter.cpp ※http://toro.2ch.net/test/read.cgi/avi/1378836164/619と同じ
× 2013/09/21 19 MPEG-2 の VIDEOINFOHEADER2.AvgTimePerFrame を設定するようにした src/BonTsEngine/MediaViewer.cpp ※http://toro.2ch.net/test/read.cgi/avi/1378836164/561とは異なる
2013/10/07 20 S/PDIF パススルー出力されるデータの末尾が破損するのを修正 src/DirectShowFilter/AudioDecFilter.cpp
× 2013/10/07 21 番組表の番組情報ポップアップ表示の高さが復元されないのを修正 src/ProgramGuideOptions.cpp
× 2013/10/09 22 お気に入りの管理でフォルダをダブルクリックすると不正なプロパティが出るのを修正 src/Favorites.cpp
× 2013/10/09 23 チューニング空間を「すべて」にしている時、チャンネルの復帰が行われないのを修正 src/ChannelManager.cpp src/ChannelManager.h
× 2013/10/15 24 番組表の一週間表示時に最新の情報に更新すると NULL ポインタアクセスが起こるのを修正 src/ProgramGuide.cpp
× 2013/10/18 25 表示状態と選局状態の復帰が正常に行われないことがあるのを修正
(※①「最小化時に再生を停止する」設定オン、再生オンで最小化→元サイズ表示したあとに、
「最小化時に再生を停止する」オンのまま→再生オフ→最小化→元サイズ表示すると再生オフが解除され再生オンになる問題修正)
(※②「最小化時に再生を停止する」設定オン、再生オン→最小化→元サイズ表示したあとに、
「最小化時に再生を停止する」オフにして→再生オフ→最小化→元サイズ表示すると再生オフが解除され再生オンになる問題修正)
 src/MainWindow.h src/TVTest.cpp ※http://toro.2ch.net/test/read.cgi/avi/1379863760/517とは異なる※注意517では②の問題が残る)
× 2013/11/11 26 字幕パネルで32K文字までしか追加されないのを修正 src/CaptionPanel.cpp
× 2013/11/11 27 OSD表示された状態で最小化すると復帰時にOSDが消え残るのを修正 src/TVTest.cpp
× 2014/01/10 28 CSplitter::GetPaneSize() が縦方向の場合に間違ったサイズを返すのを修正 src/Layout.cpp
× 2014/01/10 29 EPG番組表からのチャンネル変更時にenabledでないチャンネルが選択されてしまうのを修正 src/TVTest.cpp
×:修正はされていません(※必要な修正部分を各自判断して適用。) □:修正はされていません(※TVTest本体ではないもの。) ○:修正済み(※0.8.1では修正済みのため修正不要。0.8.1の修正は0.8.0への修正案とは異なる場合があります) ▽:修正済み(※スクランブル解除関連) △:修正済み(※0.8.1公式最新ソースでは修正済み。修正前取得ソースには各自修正が必要。) ※ver.0.8.0以降のバージョンにはスクランブル解除機能はありません。 ※スクランブル解除処理は、私的利用や開発試験研究利用等の範囲内で行ってください。 ※地上波やBS等の無料放送を視聴するには、青カードや赤カードが必要です。 ※有料放送を契約して視聴するためには赤カードが必要です。EMM等更新の設定にしておく必要がある。



TVTestのビルド
TVTestのソースファイルそのまま、あるいは、適宜修正をくわえたら、
あとはビルドするだけだ。

TVTest.sln
例)C:\DTV\TEST\TVTest_0.8.1_Src\TVTest-master\src\TVTest.sln

構成プロパティ→C/C++→全般→追加のインクルードディレクトリ
以下の例のように先頭に追記。※個別環境にあわせて修正。※ビルドの種類の違い(Release Win32 や Debug Win32など)ごとにそれぞれ指定。
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses;

構成プロパティ→C/C++→コード生成
ランタイムライブラリ:マルチスレッドDLL(/MD)

構成プロパティ→リンカー追加のライブラリディレクトリ
以下の例のように先頭に追記。※個別環境にあわせて修正。
例)C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\Release;C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\Debug;C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release;C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug;

というように修正したらあとはRelease Win32で
TVTestのビルドをするだけ

以下のように、TVTest.exeができる。
例)C:\DTV\TEST\TVTest_0.8.1_Src\TVTest-master\src\Win32\Release\TVTest.exe



SDKのコマンドプロンプトからmsbuild TVTest.vsxprojやmsbuild TVTest.slnのように実行してもよい


ヘルプファイルの作成
HTML Help Workshopをインストールする。
以下のようにインストールされる。※個別環境によって異なる。
例)C:\Program Files\HTML Help Workshop\hhw.exe

HTML Help Workshopを起動する。
TVTest.hhpを指定してコンパイルするだけ。

以下のように、TVTest.chmができる。
例)C:\DTV\TEST\TVTest_0.8.1_Src\TVTest-master\src\Help\TVTest.chm



TVTest_Image.dllのビルド TVTest_Image.dllのビルドには、
以下のものが必要とのこと。用意する
・libjpeg (*) http://www.ijg.org/
・libpng (*) http://libpng.org/
・zlib (*) http://zlib.net/

(*) TVTest_Image.dll のビルドに必要
※オリジナル版x86はlibjpeg の SIMD 対応版。0.7.21以降同一ファイル



適宜修正して、TVTest_Image_VS2010.slnでソリューションのビルド
ReleaseにしてBuild






TVTest_Image.dllは以下のように生成される C:\DTV\TEST\TVTest_0.8.1_Src\TVTest-master\src\Win32\Release\TVTest_Image.dll





BaseClasses ライブラリのビルド(x64版)
FAAD2 ライブラリのビルド(x64版)
TVTestのビルド(x64版)



BaseClasses ライブラリのビルド(x64版)
baseclasses.slnを開く ※パスは個別環境によって異なる
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\baseclasses.sln

構成プロパティ→C/C++→コード生成
ランタイムライブラリ:マルチスレッドDLL(/MD)

Debug x64、Release x64にしてビルド(Visual Studio画面上部)
Debug x64とRelease x64それぞれビルドに成功すると、以下のファイルができる。strmbasd.libまたはstrmbase.lib ※パスは個別環境によって異なる
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\x64\Debug\strmbasd.lib
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\x64\Release\strmbase.lib



FAAD2 ライブラリのビルド(x64版)
C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\frontend\faad.sln
ソリューションのプロパティ構成マネージャでプラットフォーム新規作成
新しいプラットフォームx64
設定のコピー元Win32
として作成した。

C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\common.h
65-66行目が
/* use double precision */
/* #define USE_DOUBLE_PRECISION */
となっている

ここを
/* use double precision */
#define USE_DOUBLE_PRECISION
とすればlibfaadのビルドはできる

何も考えずにやったので、出力先がx64版libfaad.libもx86と同じところにできてしまった。x86のが消えてしまった。
C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\Release\libfaad.lib

困るなら
C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\x64\Release\libfaad.lib
にでも置いておくなりして、やりなおす



別の方法の場合、USE_DOUBLE_PRECISIONはいじらず
316行目
  #if defined(_WIN32) && !defined(__MINGW32__)
となっているので、
ここを
  #if defined(_WIN64) && !defined(__MINGW64__)
  #elif defined(_WIN32) && !defined(__MINGW32__)
と変更する またlibfaad2.defの最終行に
NeAACDecPostSeekReset       @10
NeAACDecDecode2       @11
と追記する。

構成プロパティ→C/C++ →全般の追加のインクルードディレクトリにファイルが置いてあるディレクトリ
../include
を追加
あとは、なにもかんがえずにRelease x64でlibfaadをビルドすると
またしてもx86のが消えてしまった
例)C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\Release\libfaad.lib

困るなら
例)C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\x64\Release\libfaad.lib
にでも置いておくなりして、やりなおす



TVTestのビルド(x64版)

TVTest.sln
例)C:\DTV\TEST\TVTest_0.8.1_Src\TVTest-master\src\TVTest.sln

上部画面で、Release x64にする

x64の場合も、
TVTestのソースファイルそのまま、あるいは、適宜修正をくわえたら、
あとはビルドするだけだ。


構成プロパティ→C/C++→全般→追加のインクルードディレクトリ
以下の例のように先頭に追記。※個別環境にあわせて修正。
例)C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses;

構成プロパティ→C/C++→コード生成
ランタイムライブラリ:マルチスレッドDLL(/MD)


構成プロパティ→リンカー 全般→追加のライブラリディレクトリ
以下の例のように先頭に追記。※パスはそれぞれの個別環境によって変更する。
例)C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\Release;C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\Debug;C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\x64\Release;C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\x64\Debug;
あるいは
例)C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\x64\Release;C:\DTV\TEST\TVTest_0.8.1_Src\faad2-2.7\libfaad\x64\Debug;C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\x64\Release;C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\x64\Debug;



左側のソリューションエクスプローラで
TVTestのプロジェクトを右クリックしてビルドできる(Release x64)
※v.0.8.1ソースを単純にビルドするならそのままビルド。
※修正が必要なら、修正してからビルド/リビルド

以下のように、TVTest.exeができる。
例)C:\DTV\TEST\TVTest_0.8.1_Src\TVTest-master\src\x64\Release\TVTest.exe
※x64を使うにはx64版BonDriverなどが必要。


Windows SDK 7.1 プロンプトから
setenv /Release /x86
MSBuild TVTest.slnあるいはMSBuild TVTest.vcxprojやMSBuild TVTest.vcxproj /p:configuration=release /p:platform=win32
としたり
あるいは
setenv /Release /x64
MSBuild TVTest.vcxproj /p:configuration=release /p:platform=x64としてもビルドできるだろう








コメントの投稿

非公開コメント

承認待ちコメント

このコメントは管理者の承認待ちです
プロフィール

空に架かる橋

Author:空に架かる橋
FC2ブログへようこそ!
このブログについて(プライバシーポリシー)
Amazon.co.jpアソシエイト
こちらのブログはたまに各種実験会場となるため、デザイン変更等により表示が遅くなったり、文字が読みにくかったりする場合があります。 そのうちなおりますm(_ _)m
記事の内容に問題がある場合は、ただちに記事内容の利用をやめてください。

カウンター

現在の閲覧者数:

DTV研究
検索フォーム
カテゴリ
PT3 (3)
最新記事
最新コメント
最新トラックバック
月別アーカイブ
TGテストエリア