週末アップデートなど:xtne6f/EDCB_20190211版、nekopanda/Amatsukaze_0.8.5.1版

連休は録画関係のアップデートが来ることが多いのでチェックしておきましょ
更新内容は各ドキュメント参照で(^◇^;

xtne6f/EDCB
https://github.com/xtne6f/EDCB

老人の朝は早い。明るくなる前に町内のごみ当番の仕事して、雪かきして。ごみを出して。Updateチェックして更新して。
日が昇るころには、お茶をすすりながら、「もうやっといたよ」っていうどや顔。
今日も平凡な一日が始まる( ̄ー ̄)ニヤリ


nekopanda/Amatsukaze
https://github.com/nekopanda/Amatsukaze

—-ここからは趣味の世界です(^◇^;
Visualstudio2017で簡単にできるものだけ紹介。フォント周りはまだ人に見せれるソースじゃないんでヘ(゚∀゚ヘ)アヒャ

アイコン変えて…


ケアレスミス防止のウィンドウ閉じる確認を入れて…


タスクバーのメッセージを、時間別タイマーから、季節もののバレンタインにして(^◇^;


上書き。ぺとぺと貼り付け。


アイコンは適当にどこかで拾う。家で使う識別アイコンだけだし細かいことは気にしない!

動作確認して終了!30分であなただけのAmatsukazeに!?(見た目だけだw)
QSVだけ放置してる気がする…最近チェックしてないな。
今は使えないようなので、QSV民の為にも早く改善される問良いですな!

2019.01.30 DBCTRADO/LibISDB/TVTest-developの更新来てました。VisualStudio2017の最適化で、子プロセスが起動できない的なエラー対処法もさらっとぬるっとべっちょり、じぇんとるめん的に教えちゃう!

お疲れ様どす。

プロジェクトの Windows SDK バージョンを 10.0.17763.0 に更新 とかそんな感じ。


PCなんでサイズはあまり気にしてないので速度優先。
LibISDBをビルドするときは、スペースや全角文字があるフォルダやパスが長い場合に、子プロセスが起動できない的なエラーが出ますので、英語圏で一般的に使われるフォルダ名称のところでビルドしましょう。
TVTestの方は無茶が利きます(?_?)エ?

×の例 E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\src\LibISDB\Projects\LibISDB.sln

◎の例 E:\vs17_Projects\LibISDB-master_20190130\Projects\LibISDB.sln

子プロセスエラーの質問を見かけたらみんなで生易しくフォローしてあげましょうネ。
日本語環境は2バイト文字問題も半角カタカナ問題も起きやすいですから…

※ 注意書き読まずに VisualStudio 2017 自体が標準のスペースの入ったあほディレクトリにインストールされてるとどうなるかはお察し(爆笑)
上の対処法ではもちろん直りません。なぜかってあなたソース読み込みやテンポラリ・ライブラリ・オブジェクトの作成の前にプログラムがこけるから(^◇^;


うちの録画PCがi7-3770TなのでAVX最適化かけてます。つけるときは全部使いましょう。SSE系とAVX系が混在すると速度が落ちますので。わからない人は入れなくてもいいと思います。体感で差は出ません。多分ヘ(゚∀゚ヘ)アヒャ


ビルド済のLibISDBをTVTestの指定位置にコピー。すでにビルドしてあるライブラリを使うので、コピーした後にビルドは必要ないです。
E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\src\TVTest_All.sln を読み込んでビルド~。
AVXおいてたのはDだっけEだっけ・・・いかん眠い。

x64フォルダをエクスプローラーで開き、種類で並び替える。中間ファイル.obj/libを消す。
AboutDialog.obj
Accelerator.obj
Aero.obj
AppCommand.obj
AppCore.obj
AppEvent.obj
AppMain.obj
AppUtil.obj
AudioManager.obj
AudioOptions.obj
BasicWindow.obj
CaptionPanel.obj
Capture.obj
CaptureOptions.obj
ChannelDisplay.obj
ChannelHistory.obj
ChannelInput.obj
ChannelList.obj
ChannelManager.obj
ChannelPanel.obj
ChannelScan.obj
ColorPalette.obj
ColorScheme.obj
ColorSchemeOptions.obj
Command.obj
CommandLine.obj
ComUtility.obj
Controller.obj
ControlPanel.obj
ControlPanelItems.obj
CoreEngine.obj
DebugHelper.obj
Dialog.obj
DialogUtil.obj
DirectWrite.obj
DirectWriteOptionsDialog.obj
DPIUtil.obj
DrawUtil.obj
DriverManager.obj
DriverOptions.obj
Epg.obj
EpgCapture.obj
EpgChannelSettings.obj
EpgDataLoader.obj
EpgDataStore.obj
EpgOptions.obj
EpgUtil.obj
EventInfoPopup.obj
EventInfoUtil.obj
Favorites.obj
FeaturedEvents.obj
GeneralOptions.obj
Graphics.obj
GUIUtil.obj
Help.obj
HomeDisplay.obj
Image.obj
ImageLib.lib
InformationPanel.obj
IniFile.obj
InitialSettings.obj
KeywordSearch.obj
Layout.obj
libjpeg.lib
libpng.lib
ListView.obj
Logger.obj
LogoManager.obj
MainDisplay.obj
MainPanel.obj
MainWindow.obj
Menu.obj
MenuOptions.obj
MessageDialog.obj
NetworkDefinition.obj
NotificationBar.obj
OperationOptions.obj
OptionDialog.obj
Options.obj
OSDManager.obj
OSDOptions.obj
PanAndScanOptions.obj
Panel.obj
PanelForm.obj
PanelOptions.obj
PathUtil.obj
PlaybackOptions.obj
Plugin.obj
ProgramGuide.obj
ProgramGuideFavorites.obj
ProgramGuideOptions.obj
ProgramGuideTool.obj
ProgramGuideToolbarOptions.obj
ProgramListPanel.obj
ProgramSearch.obj
PseudoOSD.obj
RawInput.obj
Record.obj
RecordOptions.obj
RegExp.obj
RichEditUtil.obj
Settings.obj
SharedMemory.obj
SideBar.obj
SideBarOptions.obj
StatusItems.obj
StatusOptions.obj
StatusView.obj
stdafx.obj
StreamInfo.obj
StringUtility.obj
Style.obj
StyleUtil.obj
Taskbar.obj
TaskbarOptions.obj
TaskbarSharedProperties.obj
TaskTray.obj
TextDraw.obj
TextDrawClient.obj
Theme.obj
ThemeDraw.obj
ThemeManager.obj
TitleBar.obj
Tooltip.obj
TSProcessor.obj
TSProcessorErrorDialog.obj
TSProcessorManager.obj
TSProcessorOptions.obj
TVTest.exe
TVTest.log
TVTest.obj
TVTest.res
TVTest.tlog
TVTest_Image.dll
TVTest_Image.exp
TVTest_Image.iobj
TVTest_Image.ipdb
TVTest_Image.lib
UIBase.obj
UICore.obj
UISkin.obj
Util.obj
VariableManager.obj
VariableString.obj
vc141.pdb
VideoDecoderOptions.obj
VideoOptions.obj
View.obj
ViewOptions.obj
WheelCommand.obj
WindowUtil.obj
zlib.lib
ZoomOptions.obj
—-

必要な2ファイルを見つけ易くなったでしょ。
TVTest.exe
TVTest_Image.dll

これと、プラグインを上書きコピーして必要なものを残して消す。

今日もすっきり!?
プラグインの方の・・・
E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\sdk\Samples\Samples.VS2013.sln は 10.0.17763.0 に再ターゲットのポップアップ出ますね(;^_^A アセアセ・・・
まぁビルドできればなんでもOK!終了!

Amatsukazeをビルドするときに忘れないようにしたい“φ(・_.) メモッ!

おま環です。エクスプローラー閉じようとして右上の「×」ボタン押したら・・・Amatsukazeが閉じてエンコード中断してしまったことがしばしばあるので(爆笑)
終了時に確認出るようにしましょ’`,、(´▽`) ‘`,、


こんなボタン確認を追加。メッセージは好みで修正を。

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// 質問ダイアログを表示する
System.Windows.Forms.DialogResult result = System.Windows.Forms.MessageBox.Show("ウィンドウを閉じますか?", "質問", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question);
if (result == System.Windows.Forms.DialogResult.No)
{
// はいボタンをクリックしたときはウィンドウを閉じる
e.Cancel = true;
}
else
{
(DataContext as ViewModels.MainWindowViewModel)?.Model?.SaveWindowPlacement(this);
}
}


編集位置はGUIのClosing。
VisualStusio2017でビルドできるところなんでお気軽に。
オープンソースに感謝ですね。痒い所を弄れるのはいいこと。


ビルドしたファイルをコピーする。中身は弄ってないので上書きでいいかと。
あと、何か注意は・・・(゚〇゚;)自己責任で!

編集ソースがわからない人は弄らないようにヘ(゚∀゚ヘ)アヒャ

[2018.12] TvtAudioStretchFilter.axは要注意!VS2017のver15.9.4でC++の最適化バグが治ったよう言うような書き込みを見て全ビルドやり直してみるの巻

ちょっと前にやった気がするが・・・
ビルドは自己満足のおま環なので、違うところがあると思うので自己責任で自分の環境に合わせてねヘ(゚∀゚ヘ)アヒャ
日付を見るとEDCB11/26とかTVTEST10/27辺りからの更新になります。
公開してくれた作者さんに感謝してサクサク行きましょ!

i7-3770T用のAVX(第2世代)と、i7-6700用のAVX2(第4世代)の2つの環境を再構築してみた。
VS2017のBugFixアップデートもあり、基本的にはクリーン&ソリューション再ターゲットして、リビルド。
Win32(x86)は今回から全部削除。64bitに移行で問題ないっぽい。
パッチなどは事前に全部当ててあるので、ビルドするだけにゃ~。
EPG取得・録画・再生・タイマーテストして、それでも再構築までに30分。
トラブルがないのに、思ったより時間かかった^^;

—-大まかなビルドリスト。全部じゃないです。Amatsukazeのビルド環境構築などは説明できないので(^◇^;
私が使うツールは、今は全部ソースが公開されているので足りないといわれるものや、追加の機能が欲しくてもすぐに手に入っていい時代ですよね…もう、ビルドくれ~と泣いてた10年くらい前とは時代が違うw
足りなそうなものは構築サイト見て拾ってくださいな。
私よりも説明がうまくアフィリエイト一杯貼ってあるところありますので(;^_^A アセアセ・・・
宝くじ当てるよりよりも仲間と小銭稼ぐ方が楽しいよね・・・(^◇^;

どのソース落とせばほしいものが入っているかなんとなくわかると思いまする。
ここにあるのは全部64bitビルドできますヽ(*^。^*)ノ
—-
(EDCB-BonDriver)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_PT3-ST-master\BonDriver_PT3.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_PT-ST-master\BonDriver_PT.sln
(EpgDataCapBon:EDCB本体)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\EDCB-work-plus-s_181125\Document\EDCB_ALL.VS2015.sln
—-
(TVTest-BonDriver:Pipe)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\BonDriver_Pipe_src\BonDriver_Pipe.sln
(TVTest-BonDriver:UDP,TCP)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_UDP\BonDriver_ALL.sln

(TVTest本体)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTest-develop_181026\src\TVTest.sln
(本体付属のSampleの中にプラグインがあります)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTest-develop_181026\sdk\Samples\Samples.VS2013.sln

(他プラグイン例)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVCaptionMod2-develop\src\TVCaption2.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\src\TvtPlay.sln
(TVTestVideoDecoder.ax)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTestVideoDecoder-master\TVTestVideoDecoder.sln
—-
(TvtAudioStretchFilter.ax)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BaseClasses\BaseClasses.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\soundtouch\source\SoundStretch\soundstretch.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\soundtouch\source\SoundTouch\SoundTouch.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\TvtAudioStretchFilter_src\TvtAudioStretchFilter.sln
—-
TvtAudioStretchFilter.axはバッチファイルを作っておくと楽。
下記バッチ例ではディレクトリ名を環境に合わせてね。
—-TvtAudioStretchFilter.ax_install.bat
regsvr32 D:\TVTest_x64\TvtAudioStretchFilter.ax
pause
—-TvtAudioStretchFilter.ax_remove.bat
regsvr32 -u D:\TVTest_x64\TvtAudioStretchFilter.ax
pause
—-
■ 「TvtAudioStretchFilter.ax」 ビルドするなり
TvtAudioStretchFilter.ax ビルド順

■ 「TvtAudioStretchFilter.ax」 の設定(TVTest:先に上記バッチでWindows10に登録しておく)

■ ついでに「TVTestVideoDecoder.ax」の設定画面

■ 「TVTestVideoDecoder.ax」のプロパティ例(今使ってないんで、画面だけ。赤枠の中は調整してください)


※字幕のある映像などでデインタレが利いているか確認しておく。
わたしゃほかのフィルタ使っているんで( ^ω^)・・・

—-追記。
眠くなったんでサブPCのフィルタ設定は宿題に・・・

LAVで480iの動きの速いシーンをFHDで表示したときのデインタレ字幕。
2m離れて違和感なければいいんじゃね?(^◇^; こだわりあるのはわかるけど・・・
PCで静止画にして見ると思ったより汚ちゃないヘ(゚∀゚ヘ)アヒャ
設定合わせてないと、F1などはTVの方が優秀ですなw

※NVIDIAのHWデコーダーの方が好みなんで設定などは最後まで煮詰めてません。

10年前より設定増えてね?(^◇^;
2度寝しよう(_ _).。o○


■ さらにNVIDIAでAVX2設定のビルド環境をテストする(GTX970グラボがささったCPUオンボードグラボもONになったi7-6700のPCですTEST用になるべくAVX2使ったビルド)
DVXA2でIntelとCUVIDのデインタレのかかり方が違うにょろ・・・
多分どこかに設定があるんだろうけど、探すのが面倒なので画像貼って終わりにする(^◇^;
上のi7-3770TのGPUではうまくデインタレがかからずコーミングノイズが出る時がある。映像による。

LAVの設定見るとこんな感じ。

CUVIDのデインタレ。


DXVA2 CopyBack設定。
設定が減ったうえに負荷が上がる。
LAVでGPUが1種類で設定を決め打ちしているのならCUVIDで十分?

DXVA2のデインタレ。


動画で見てるとさがわかりませぬ(^◇^;
コーミングノイズ出てなければOKですよね。

負荷的にAVX2が有効かどうか体感できることはありません。
エンコードやマイニング、AI深層学習、アドビのソフトとか画像や大量計算が必要なソフトなど最適化されたプログラム以外は気にしなくていいと思います。
IntelCPUではよほど無茶な構成にしないとAVX2対応していないPCでも問題ないですが、AMDは実害が出ますので、互換性の関係上、家の中でも下限Pcにそろえた方がいいと思います。
(ソースコピーして、オプション変更し忘れて、AVX2に最適化したTVTest.exeをi7-3770TのPCで動かしていても気が付かなかったくらい (^◇^;アハ~)
動画再生の負荷なんてそんなものです!(?_?)エ?
このあたりはArmがx64対応したあたりから考えましょ?(自己満足ですが)


寒いのにCPU利用率2%くらいなのでCPUのFANが止まりそうです。
低速で止まったり動いたりする方が気になるわぁヽ(`Д´)ノ

結局部屋で一番うるさいのはエアコンですil||li _| ̄|● il||li

終了。

■■■■


—-新しくソース持ってくると忘れるので…癖のあるやつだけ、ちょこっと抜粋メモしておく。
TvtAudioStretchFilter.axのビルドのやり方。でも情報が古いので環境によっては違う動作をします。
作者さんが修正を入れてる場合もありますので。

【TVTest】ビルドした・するスレ【EDCB】その2
https://mevius.5ch.net/test/read.cgi/avi/1518705444/75-n

—-抜粋
76名無しさん@編集中 (アウアウウーT Sa08-MTlB)2018/02/28(水) 17:33:45.01ID:NWL01Plfa>>94
この方法で MD/MT/x86/x64 vs2017ですべてビルドできる

【TVTest】 TvtPlayについて語るスレ Part 4

685 :名無しさん@編集中:2016/09/07(水) 10:14:05.59 ID:6v/9cxjZ
TvtAudioStretchFilter.ax ビルドの手順

1. SoundTouch.patch を適用
soundtouch-1.9.2.zip をダウンロードして解凍
soundtouch フォルダ名を a に変更
一つ上のディレクトリに SoundTouch.patch を置く
管理者権限でコマンドプロンプトを開いて patch.exe を実行

patch -p0 -b < SoundTouch.patch フォルダ名を soundtouch に戻す 2. 各フォルダの配置 \Projects\BaseClasses \Projects\soundtouch \Projects\TvtPlay-work-plus\TvtAudioStretchFilter_src 77名無しさん@編集中 (アウアウウーT Sa08-MTlB)2018/02/28(水) 17:34:05.69ID:NWL01Plfa>>78
3. BaseClasses をビルドする
\Projects\BaseClasses\baseclasses.sln

4. SoundTouch をビルドする
\Projects\soundtouch\source\SoundTouch\SoundTouch.sln
ビルド前にプロジェクト SoundTouch のプロパティを開いて
構成プロパティ → C/C++ → コード生成 → ランタイム ライブラリ を
マルチスレッド DLL (/MD) に変更しておく

5. TvtAudioStretchFilter をビルドする
\Projects\TvtPlay-work-plus\TvtAudioStretchFilter_src\TvtAudioStretchFilter.sln

78名無しさん@編集中 (ワッチョイ 74a2-jWof)2018/02/28(水) 21:01:30.65ID:pgFRja0F0
>>76>>77
ほほう、やってみよう
サンクスです

79名無しさん@編集中 (ワッチョイ dfb3-lEE9)2018/03/01(木) 00:09:37.45ID:py/T0UNK0>>82
>>76-77 で引っかかりそうな2点。

・SoundTouchを「ソリューションのビルド」しても作成されない。
「SoundTouchのビルド」を実行する。
またはソリューションのプロパティでビルドできるように変更する。

・TvtAudioStretchFilter.slnのx64ビルドでSoundTouch_x64.libが見つからない。
soundtouch\source\SoundTouch\Releaseに作成されているSoundTouch_x64.libを
soundtouch\libへコピーしておく。
またはSoundTouch_x64.libの場所を「追加のライブラリディレクトリ」に加える。
あるいはSoundTouchをビルドする時点で根本的に修正しておく。

80名無しさん@編集中 (ワッチョイ bf9f-m1UI)2018/03/01(木) 01:09:59.51ID:CnOtLzKd0
自分もTvtAudioStretchFilter.axビルドしてみた。
素人なもんで躓いたところを書いてみる。

4.について
自分の環境(VS2017)ではそのままではビルドできなかったので
ソリューションエクスプローラーからSoundTouch右クリック>プロパティ
右上の構成マネージャ
構成をreleaseにしてビルドにチェックを入れた。
書いて有るとおりsoundtouchはビルドの前に/MDに変更を忘れずに

BaseClasses、soundtouchフォルダは
TvtAudioStretchFilter.slnの入ってるフォルダの二個上のフォルダに配置する

これで動いてる模様

81名無しさん@編集中 (ワッチョイW df7f-tZ4x)2018/03/01(木) 08:50:40.10ID:YyxR5+J20
参考になります
ありがとう

82名無しさん@編集中 (ワッチョイ 7f06-m1UI)2018/03/01(木) 09:12:43.55ID:TIujTdNg0
>>76>>77>>79
詳細助かる

83名無しさん@編集中 (ワッチョイ bf63-yVqK)2018/03/01(木) 09:36:42.79ID:/en+xUDT0
MDは躓くポイントではないのだが。すべてMTでもビルドできるぞ。

84名無しさん@編集中 (ワッチョイ 2731-Fhm4)2018/03/01(木) 10:59:38.01ID:hvp78GtC0
私が躓いたところ(Windows10_1709、VS2017 Community)
SoundTouchをビルドする時に、x64で実行するとエラー
何回やってもダメなのでエラーメッセージをまじめに読むと、ファイルののプロパティ値が違うとかどうとか
やむを得ずWin32で実行すると、ビルド成功
soundtouch\source\SoundTouch\ReleaseにSoundTouch_x64.libが作成されており、
以下は>>79の通りに行って、TvtAudioStretchFilter.axのx64ビルドに成功

Win32でビルドすればx64版もいっしょに作成するなんて思わねえ
—-
■ SoundTouch_x64.lib などLIBがうまくコピーされず古いままになっている場合がります。
ソリューションをクリーンしても削除されないファイルなので、手動で削除するかビルドした時に更新されているのを確認してから後のビルドを行いましょう。

SearchCloneFilesで名前一致でサイズが小さいものを選択する。(サムネイルを削除する場合など)

同一ファイルを探すツールなので…なので( ^ω^)・・・
ファイルサイズが違う時点で対象外なので、本機能に実装してないので、オプションキー検索を使うようにします。
(※おまけでつけた機能なのでほとんどデバッグしていません。大小など左のキーが優先されます。優先順位の関係でチェックが逆になる場合があります)

■ 同一名で、サイズが小さいものを自動選択する


0.最初のページで[名前一致]検索を行う

1、[Name](名前)検索を選択(おまじない)
  (なくても動くと思いますがソート順がおかしくなって変わっている場合があるので)
2、[Size](サイズ)検索を選択(他は[None]にしてください)
3、小さいサイズを選択するので、[Lower]
4、キー検索のチェックボタンを押す。

そんな感じです。

キャッシュなどは同一名があると[~1]とかファイル名を変更している場合があるので対応できたら便利かも( ^ω^)・・・

—-追記
削るだけなら Flexible Renamer v8.4 で、できるそうです。

Flexible Renamer v8.4
http://hp.vector.co.jp/authors/VA014830/FlexRena/

日曜プログラミング 2018.11.11 EpgDataCapBon(EDCB)でプログラム録画(時間指定)したときに、タイトル名を入れる方法(powershell使用)

お約束、自己責任で!

うちでは、ソースいじって $Title3 作ってマクロに渡しているんで、こっちの方面は全くのド素人なんです。
魔改造(いじりまくってどこ直したかよく覚えてないという。え、ちがう?)はプログラマーの夢だもんねヘ(^^ヘ)(ノ^^)ノヘ(^^ヘ)(ノ^^)ノ動きゃいいんです。公開しなければ。
大元のビルドのたびに直すのが面倒で、で、公開して動く方を・・・
まぁいじれる人は自分でできますものね^^;
ソース追えない人に教えると後で質問攻めと動かねーぞドヤぁ地獄見るんで( ^ω^)・・・

大きな変更がなければ、ビルド依存しない外部でやってみようというお話。
5chのDTV板でうまく完結していなかったようなのでなんてなく手を出してみた。そんなところです。
変更があっても柔軟に対応しやすいですし・・・バッチとかスクリプトとかテキストですからねヽ(*^。^*)ノ

今日中に片付けたかったので・・・「日曜プログラミング」って書いちゃったし!
コードも調整中なんで、デバッグコードてんこ盛りです。powershell のスクリプト触って4時間程度なんで細かいところはお察しで(^◇^;
いつものおま環デバッグのサンプルなので、カスタマイズして適当に使ってください。
たまたま動いただけで、内容に答えられないので、質問は受け付けません!ヽ(*^。^*)ノ
EDCB使いなら、ちょっとググればもっとバグのないいいコードがすぐできると思います! 丸投げフンッ((^^)ゞ --ー●Google先生

■ ソース2つ:右クリックから保存、拡張子は[.txt]を取り除いてください
RecAfterTSRename.bat.txt
RecAfterTSRename.ps1.txt

■ 文字化けする人のために、zipもとりあえずあげときます
RecAfterTSRename.zip

■ 落としたらまず、デバッグ用のコメントを消しましょう!
●録画設定で「番組情報を出力する」にチェックを入れておいてください。: タイトル名.ts.program.txt が作成されるようになります
.ts.program.txtの中の3行目のタイトル名をそのまま使っています


プログラム予約(時間指定予約)のREcName_Macro.dllの設定。
設定しなくても動く人はいいのですが、通常のEPGやキーワード録画で別のリネームかけているんで、指定してあります。INI書いてあればここで書かなくてもいいかも?。


録画の設定。まぁ普通です。テスト時間1分でスクリーンショット取った時のもの。
※注意:このサンプルではプログラム予約のこの時番組名に、「全角/半角空白」や記号などを使わないでください。たぶん動きません。


録画開始。[*.ts]と[*.ts.program.txt]が作成されればよいです。


録画終了。[*.ts.err]が作成されます。


waitかけてあるんで、10秒くらい待つとタイトル名が付加されると思います。
動かなかったらデバッグして5chにでも公開して・・・それほど大したものじゃないかw

各自自由に使うがよい!俺のソースじゃないけどな’`,、’`,、(ノ∀`)’`,、’`,、

よい日曜を・・・日が変わってた( ^ω^)・・・

■EpgDataCapBonで録画後の後マクロに設定するバッチ
(ここから下は閲覧用なので、コピペしないでね。半角記号とかエスケープとか制御文字とか面倒なのあるんで)
—-RecAfterTSRename.bat—-

@echo off
@rem お題:プログラム予約でREcName_Macro.dllで[$Title$-$SDYYYY28$$SDMM28$$SDDD28$-$STHH28$$STMM$$STSS$.ts]を指定した時のようにファイル名を変えたい
@rem むずいですよね( ^ω^)・・・まぁバッチファイルの勉強ということで

@rem プログラム予約(時間指定)時の後処理でファイル名にタイトルを入れるバッチです

@rem 基本的な使い方:
@rem EpgDataCapBon フォルダに RecAfterTSRename.bat(このファイル)とRecAfterTSRename.ps1(powershell script)の2つを置いてください
@rem プログラム予約時の後処理バッチにこのファイルを選択してください。
@rem ●録画設定で「番組情報を出力する」にチェックを入れてください。: タイトル名.ts.program.txt が作成されるようになります

@rem ※注意:このサンプルではプログラム予約のタイトル名に、「全角/半角空白」や記号などを使わないでください。
@rem 「全角/半角空白」などバッチファイルでは区切り文字になるので特別な処理をしないと動かないため。

@rem デバッグなどは構築上引っかかったものだけやっています。
@rem すべての環境で動くことを保証するものではございません。
@rem 動くようにカスタマイズしてね!てへぺろ(゚u゚)>ベー

@rem 動作確認:
@rem EpgDataCapBon xtne6f氏版-181110
@rem Windows10 64bit 1809 October2018

setlocal enabledelayedexpansion

@rem デバッグ用に直接変数は使ってない状態です
@rem 変数名すべてを直接指定することで動作確認できます

set TSNAME=$FilePath$
set RECPATH=$FolderPath$
set RECNAME=$FileName$
set RECTXT="$FolderPath$\$FileName$.ts.program.txt"
set RECTIME=$SDYYYY28$$SDDD28$-$STHH28$$STMM$$STSS$
@rem 豆:日付は時間まで入れてファイル名にすることで重複を防ぎましょう

@rem debug----setting
@rem set TSNAME=filename.ts
@rem set RECPATH=d:
@rem set RECNAME=filename
@rem set RECTXT=filename.ts.program.txt
@rem set RECTIME=20181111-123456
@echo test >filename.ts
timeout /t 5 > nul
@rem debug----end

@rem バッチファイルと同じところにログファイルを作り書き出します
set LOGNAME=RecAfterTSRename_Log.txt
set LOGFULLPATH=%~dp0%LOGNAME%

@rem ログファイルは追記する人はコメントアウト
del %LOGFULLPATH%

rem パワーシェルを呼び出すバッチファイルです。
rem RecAfterTSRename.bat(このファイル)
rem RecAfterTSRename.ps1(powershellコマンド)
rem 上記2つをEpgDataCapBon置いて、同じフォルダにある場合のサンプルソースです
rem 変数を明示的に直接渡しています。長いです(^◇^;

@rem powershell -NoProfile -ExecutionPolicy Unrestricted .\RecAfterTSRename.ps1 $FilePath$ %RECPATH% $FolderPath$ "$FolderPath$\$FileName$.ts.program.txt" $FileName$ %LOGFULLPATH%
powershell -NoProfile -ExecutionPolicy Unrestricted .\RecAfterTSRename.ps1 %TSNAME% %RECPATH% %RECTIME% %RECTXT% %RECNAME% %LOGFULLPATH%

@rem ログファイルを作成しない場合
@rem powershell -NoProfile -ExecutionPolicy Unrestricted .\RecAfterTSRename.ps1 %TSNAME% %RECPATH% %RECTIME% %RECTXT% %RECNAME%

goto end

@rem --------------------------------------------------------------------------
@rem デバッグ用(使える変数名)
@rem --------------------------------------------------------------------------
:debug

echo ---- >>%LOGFULLPATH%
echo $FilePath$ ファイルのフルパス(バッチのみ) >>%LOGFULLPATH%
echo $FolderPath$ ファイルのフォルダパス(最後に\はなし)(バッチのみ) >>%LOGFULLPATH%
echo $FileName$ ファイル名(拡張子なし)(バッチのみ) >>%LOGFULLPATH%
echo $Title$ 番組名(予約一覧の番組名に表示されているもの) >>%LOGFULLPATH%
echo $Title2$ 番組名([]の括弧でくくられている部分を削除したもの) >>%LOGFULLPATH%
echo ---- >>%LOGFULLPATH%
echo $ServiceName$ サービス名(予約一覧の放送局に表示されているもの) >>%LOGFULLPATH%
echo $SDYYYY28$ 28時間表記開始日の年4桁固定 >>%LOGFULLPATH%
echo $SDDD28$ 28時間表記開始日の日2桁固定 >>%LOGFULLPATH%
echo $STHH28$ 28時間表記開始時間の時2桁固定 >>%LOGFULLPATH%
echo $STMM$ 開始時間の分2桁固定 >>%LOGFULLPATH%
echo $STSS$ 開始時間の秒2桁固定 >>%LOGFULLPATH%
echo ---- >>%LOGFULLPATH%
echo $Drops$ 録画結果のドロップ数(バッチのみ) >>%LOGFULLPATH%
echo $Scrambles$ 録画結果のスクランブル数(バッチのみ)>>%LOGFULLPATH%
echo $Result$ 録画結果のコメント(バッチのみ) >>%LOGFULLPATH%
echo $TitleF$ $Title$と同内容でファイル名に使用できない記号が存在した場合全角に変換するもの(バッチのみ) >>%LOGFULLPATH%
echo $Title2F$ $Title2$と同内容でファイル名に使用できない記号が存在した場合全角に変換するもの(バッチのみ) >>%LOGFULLPATH%

echo $AddKey$ EPG自動予約で登録されたキーワード(バッチのみ) >>%LOGFULLPATH%
echo ---- >>%LOGFULLPATH%

:end
endlocal


——–
■ powershell scriptですん
—-RecAfterTSRename.ps1—-

#
#edcb rename script [RecAfterTSRename.ps1]
#
#EpgDataCapBon フォルダに RecAfterTSRename.batとRecAfterTSRename.ps1(powershell script)の2つを置いてください
#DOSバッチで全角文字の処理とか複雑なのでPowershellに投げました(負けました)
#今日初めて触って、ネットから拾ったつぎはぎなんで、おかしいところは直して使ってね!
#

# ——————————————————————
# バッチファイルから呼び出される側のパワーシェルファイルです。
# 引数 %TSNAME% %RECPATH% %RECTIME% %RECTXT% %RECNAME% %LOGNAME%
# ——————————————————————
#Write-Host (‘渡された引数1個目:’ + $Args[0] +’ – %TSNAME%’)
#Write-Host (‘渡された引数2個目:’ + $Args[1] +’ – %RECPATH%’)
#Write-Host (‘渡された引数3個目:’ + $Args[2] +’ – %RECTIME%’)
#Write-Host (‘渡された引数4個目:’ + $Args[3] +’ – %RECTXT%’)
#Write-Host (‘渡された引数5個目:’ + $Args[4] +’ – %RECNAME%’)
#Write-Host (‘渡された引数6個目:’ + $Args[5] +’ – %LOGNAME%’)
$rec_ts=$Args[0]
$rec_path=$Args[1]
$rec_time=$Args[2]
$rec_txt=$Args[3]
$rec_name=$Args[4]
$log_name=$Args[5]
$rec_title=”

# ——————————————————————
# 関数名 : WriteLog
# 処理 : 日時を付与してメッセージを標準出力する。
# 引数 : 第1引数 – メッセージ
# ——————————————————————
function WriteLog([string] $msg) {

$now = Get-Date -Format “yyyy/MM/dd HH:mm:ss”
$message = “$now $msg”

Write-Host $message

# 6番目の引数がないときはログを出力しない
if($log_name -ne $null) {
# ログファイルに出力
Write-Output $message | Out-File ${log_name} -Append -Encoding Default
}
}

# ——————————————————————
#System.IO.StreamReaderを利用した3行目だけを抽出するサンプルコード
# ——————————————————————
# .ts.program.txt が存在するかを確認: $rec_txt
$result = (Test-Path $rec_txt)
if($result){
#ファイルが存在する場合はこちらが実行されます。
#WriteLog “ファイルは存在します。: ” + $rec_txt
}else{
#ファイルが存在しない場合はこちらが実行されます。
WriteLog “(err)ファイルは存在しません。: ” + $rec_txt
exit
}

$i=1
$enc = [Text.Encoding]::GetEncoding(“Shift_JIS”)
$fh = New-Object System.IO.StreamReader($rec_txt, $enc)
while (($l = $fh.ReadLine()) -ne $null) {
if($i -eq 3) {
$rec_title=$l
}
$i++
}
$fh.Close()

if($rec_title -eq ”){
WriteLog “(err)タイトル名の取得に失敗しました。”
exit
}

# ——————————————————————
# 編集前タイトル:
# ——————————————————————
#WriteLog (‘編集前タイトル:’ + $rec_title)

# ——————————————————————
# 空白文字を削除する: $str = $str.Trim(‘  ‘)
# ——————————————————————
# 最初に全角スペースを trim します
#WriteLog (‘3行目(全角空白抜):’ + “[” + $rec_title.Trim(“ ”) + “]”)
# 次に半角スペースを trim します
#WriteLog (‘3行目(半角空白抜):’ + “[” + $rec_title.Trim(” “) + “]”)

# ——————————————————————
# 全角空白文字を半角にする: $str = $str.Replace(‘ ’, ‘ ‘)
# ——————————————————————
# ‘ ’ を ‘ ‘ に置換
$rec_title = $rec_title.Replace(‘ ’, ‘ ‘)

#(平文)
# Windowsでファイル名に使用できない禁止文字を全角に変換する
#$rec_title = $rec_title.Replace(‘\’, ‘¥’)
#$rec_title = $rec_title.Replace(‘/’, ‘/’)
#$rec_title = $rec_title.Replace(‘:’, ‘:’)
#$rec_title = $rec_title.Replace(‘*’, ‘*’)
#$rec_title = $rec_title.Replace(‘?’, ‘?’)
#$rec_title = $rec_title.Replace(‘<', '<') #$rec_title = $rec_title.Replace('>‘, ‘>’)
#$rec_title = $rec_title.Replace(‘|’, ‘|’)

#(関数)
# ——————————————————————
# Windowsでファイル名に使用できない禁止文字を全角に変換する
# 関数名:ConvertTo-UsedFileName
# 引数 :FileName ファイル名
# 戻り値:変換後のファイル名
# https://gist.github.com/ao-zkn/3e97b82a116418197d26#file-convertto-usedfilename-ps1
# ——————————————————————
function ConvertTo-UsedFileName([String]$FileName){

# 禁止文字(半角記号)
$CannotUsedFileName = “\/:*?`”><|"
# 禁止文字(全角記号)
$UsedFileName = “¥/:*?`”><|”

for ($i = 0; $i -lt $UsedFileName.Length; $i++) {
$FileName = $FileName.Replace($CannotUsedFileName[$i], $UsedFileName[$i])
}
return $FileName
}
$rec_title = ConvertTo-UsedFileName $rec_title

# ——————————————————————
# 編集後タイトル:
# ——————————————————————
#WriteLog (‘編集後タイトル:’ + $rec_title)

# ——————————————————————
# ファイル名生成
#
# 注意:既に存在するファイルの場合、Renameする処理は入れていません。
# エラーになります。
# ■■■■■■■■■■■■■■■■■■■■■■■■■■
# ■                        ■
# ■   日付と時間を足して重複しないように!    ■
# ■  (時間録画は番組名が基本的に同じなので)   ■
# ■                        ■
# ■■■■■■■■■■■■■■■■■■■■■■■■■■
# ——————————————————————
$rename_file = $rec_path + ‘\’ + $rec_title + ‘-‘ + $rec_time
$rename_ts = $rename_file + “.ts”

$rec_err = $rec_path + ‘\’ + $rec_name + “.ts.err”
$rename_err = $rename_file + “.err”
$rec_txt = $rec_path + ‘\’ + $rec_name + “.ts.program.txt”
$rename_txt = $rename_file + “.ts.program.txt”

#WriteLog (‘TS:’ + $rename_ts)

# ——————————————————————
# ファイル名変更(フルパス:Move-Item)
# 関数名:MoveTo-FileName
# 引数 :OldFileName ファイル名
# 引数 :NewFileName ファイル名
# ——————————————————————
function MoveTo-FileName([String]$MoveToOldName, [String]$MoveToNewName){
if(Test-Path $MoveToOldName){
#ファイルが存在する場合はこちらが実行されます。
try {
Move-Item $MoveToOldName $MoveToNewName
} catch {
#$error[0] | Out-String | Out-File “error.log”
WriteLog $error[0]
}

WriteLog (“Rename: ” + $MoveToNewName)
}else{
#ファイルが存在しない場合はこちらが実行されます。
WriteLog (“(err)not found: ” + $MoveToOldName)
}
}
# ——————————————————————
# ファイル名変更(ファイル名のみ:Rename-Item、パス付:Move-Item)
# ——————————————————————
# .ts
MoveTo-FileName $rec_ts $rename_ts

# .err
MoveTo-FileName $rec_err $rename_err

# .ts.program.txt
MoveTo-FileName $rec_txt $rename_txt

#WriteLog (“edcb rename script fin.”)

——–

[2018.11.9] お宅の再生環境どんな感じ? TVTest再生時のハードウェア支援の負荷を調べてみた!(NVIDIA CUVID,Intel QuicSync,DXVA2,TVTest_DTV_Video_Decoder)

ちょっと奥さん知ってます?HW支援よりすっごいの!ヘ(゚∀゚ヘ)アヒャ

結果から言うと何使ってもいいんじゃね?っていう。(雑)
再生できる環境で、自分がいいともうやつの納得いく設定で使えばいいと思う。そんな誤差。

先に一つインチキが( ^ω^)・・・PC-モニタの接続にNVIDIAのGeforceGTX970 使ってる関係で、NVIDIAの負荷がちょっと上乗せになっていると思いますので、そこはちょっと忖度してあげてください・・・
CPU Intel i7-6700(無印)
GPU Intel G530(CPUオンボード)
GPU NVIDIA GeForce970
モニタ BenQ RL2755(DVI接続)
室温 24.5度

オペレーティング システム: Windows 10 Pro, 64-bit
DirectX バージョン: 12.0
ドライバーのバージョン: 416.81

LAV Video Decoder 0.73.1

TVTest-master-180222
https://github.com/xtne6f/TvtPlay/

折角なんで、x64環境でAVX2を全部ONにしてビルド、最適化は最速最適化
TvtAudioStretchFilterにちょっと躓きながら再構築。

プラグインはTvtPlayTVCaptionMod2のみ、BonDriverはTvtPlay-work同梱のBonDriver_Pipeをビルドして使用。
xtne6f氏シリーズで。いつもお世話になってます

もちろん音声はTvtAudioStretchFilter.axで。

再生ソースはTS。今月のCS無料放送から。
General
Format : MPEG-TS
Overall bit rate mode : Variable
Overall bit rate : 8 982 kb/s

Video
Format : MPEG Video
Format version : Version 2
Format profile : Main@High
Format settings : CustomMatrix / BVOP
Format settings, BVOP : Yes
Format settings, Matrix : Custom
Format settings, GOP : M=3, N=15
Format settings, picture st : Frame
Bit rate mode : Variable
Maximum bit rate : 20.0 Mb/s
Width : 1 440 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Format version : Version 2
Sampling rate : 48.0 kHz
Compression mode : Lossy


何もしないときはこんな感じ。(GPU FAN停止)
タスクマネージャーやHW_Moniterの表示でCPUが1%くらい負荷がかかっている状態です。

各数値はスクリーンキャプチャした時点の数値で、平均値ではないので、ピリピリしないでください。
GPUクロックとかものすごく0の次が25%だったり乱高下してますので(^◇^;


DXVA2(NVIDIA Decoder)
この後5分ほど再生すると、GPUのファンが回る結果に…。


Intel_QuicSync(GPU FAN停止)
QSVでDecodeだけしている感じ。


NVIDIA CUVID(この時点ではGPU FAN停止)
この後5分ほど再生すると、GPUのファンが回る結果に…。

TVTestDTVVideoDecoder(GPU FAN停止)

VMR9 + TVTest DTV Video Decoder 軽いっすねぇ(^◇^;


あー、IntelGPUで接続してはかりなおしますよ・・・
個人的に納得がいかない気分になってきたので。
室温が24.0度下がってすべての状態で10分見ましたがファン動かず・・・CPUとケースファンのみ。めっちゃ静かです。
ゲームしなければ、俺の部屋こんなに静かだったのか(笑)
CPUFANが静音高性能なやつでケースファンも静音型の12cm。無音ではないですが、PC3台つけて中の上の高級エアコン(カタログスペック55dbより)より静かです。今なら。ヘ(゚∀゚ヘ)アヒャ

モニタ出力をグラボからマザーDVI端子出力へ変更。再起動後。


DXVA2(Intel Decoder)


Intel QSV 一番軽いですね。フィルタや画質の話抜きなら。
オンボードGPUも余裕があるようで、クロックが0%と50%が交互に出ているような感じでした。
後付けGTX970は6%前後でほぼお眠り中。再生なしでGTX970使用時が7%前後なので、挿しているなら使った方がいいのかもしれませんが…悩ましいw


GPU部分50%縮小で2つ表示に編集してます


再生専用ならIntelCPUに全やらせて高性能CPUFANで冷やす!

GTX970をゲームしないで、エンコードだけに使うならこの接続方法の方が消費電力少ないです。
消費電力載せるとまた微妙な水掛け論になるので、最小消費電力再生ということです。
後付けGTX970を使わないことが最小消費電力!&静音ヽ(*^。^*)ノ
画質やデインタレースやシークの操作性の話を抜きでお話をしております

サクサクシークするのはHW支援使わない状態の「TVTest DTV Video Decoder」ですね。
CPUクロックが1GHz以下とかさぼりすぎですので多少使ってあげてもいいかなと。
軽すぎてテストにならない環境ですが、H265/HVECやちょっと重めのフィルタかけたプレイヤーの重さを考えると、.ts(MPEG2_TS) 再生は TVTest + TVTest DTV Video Decoder がいいと思います。
好みでDXVA2オプションもDeinterlaceも使えますしね!
再生だけじゃなくてZappingしたいとか他のこともしたいとなると、使用者の環境構築力とさまざまな能力が必要になるので、あとは好きにしてください。

グラボのファンが+2つ回るよりCPUで分担して排熱したほうが負荷は少ないってことですな。
最近の普通のCPU使っていたら、省エネと静音考えたらグラボ使わないほうがいいということです(^◇^;

騒音指針の「オフィスrベルの騒音」ならGPUファンが回ったところで気にならないと思いますが、
「図書館レベルの騒音」の中だとファンもHDDも一つでも少ないほうがいいですよね!
昔うちのサーバールームを例えると道路工事が見える室内レベルでした・・・
NTTの交換機があるさーばーるむと変わらなかったですよw
104番号案内の画面とかCOBOLでしたからねぇ。デバッグ大変だった…(^◇^;
それはさておき。

GPUに依存しない「TVTest DTV Video Decoder」も素晴らしいですね!(比較用なんで今回DXVA2はオフです、設定はデフォルトVersion0.3.0-bata)
HW支援の細かい設定をやりたいならDXVA2じゃなくてもいいのかも。Deinterlace のハード&ソフトとかやり始めるときりがないのでお好みで!


さいごに、追加。
TVTest DTV Video Decoderで DXVA2を有効にしたもの。
GTX970接続なので、NVIDIAのグラボがアクセラレートしてくれています。
対応しているならば、DXVA2はさんでDirectXでラッピングされるより直接指定したほうが負荷は少ないようです。

うちの環境だと、てテストでLAVで面倒な設定しているときあったり、ころころデコーダー回り替わるので、TVTestは「TVTest DTV Video Decoderに」にして再生環境を独立させています。
ドキュメンタリーやバラエティーの見て捨て程度の再生にはこちらでいいかと’`,、(´▽`) ‘`,、

(GitHub)DGIndex 1.5.8 改造クロッピング保存gui.cppいじるよ!(途中経過)

CPP読めないのいじり回していたメモヘ(゚∀゚ヘ)アヒャ
差分取るのも面倒なちょっとした修正。初期化前に待避して保存しているだけ

目的があればコードの少ないこういうところをいじりながら他人のソースを眺めるのも勉強ですよね
C#読めればGUIの部分はC言語と大して変わりが無いので読解しやすいかと。
複雑な構造体や継承は他人のソースだと生産性やスピードが落ちるだけですからねぇ
多人数作業のTOPは頭の中に全部あるのは普通(触れているので当たり前)だとしても、
末端はそこまで作業で触れていないので理解しろと言われても保険の定款とおんなじですよね
パワハラもいいところw

いつでも再開できるように・・・メモ書くのが面倒になったので、忘れないようにソースあげて保存。
gui.cpp.diff

ウィンドウサイズの変更とウィンドウサイズに合わせてストレッチもつけたいですなぁ
なんと言っても軽いのがイイです。

—ゴミメモ、持病の痛みがひどいので編集途中です・・・上のDiffがメイン。
—いつものようにがっつり削除ソースやめてDiffにしたのでいろいろな問題解決?
24a25,26
> #define CROP_SAVE // Croppin_Flag & Clip save(Oct 2018: mryo custom)
>
36c38,43
< static char Version[] = "DGIndex 1.5.8"; --- > #ifdef CROP_SAVE
> static char Version[] = “DGIndex 1.5.8mod7fix + Cropping Oct’18”;
> #else
> static char Version[] = “DGIndex 1.5.8mod7fix”;
> #endif // CROP_SAVE
>
91a99,109
> #ifdef CROP_SAVE // mryo 2018.10.12
> static void CropReset(void);
> static void CropSwap(bool);
> static void CropRestore(bool);
> // mryo 2018.10.12
> int swapClip_Top, swapClip_Bottom, swapClip_Left, swapClip_Right;
> bool swapCropping_Flag, swap_Flag;
> // mryo
> #endif // CROP_SAVE
>
>
224a243,247
>
> #ifdef CROP_SAVE
> CropReset();
> #endif // CROP_SAVE
>
285a309,313
> // mryo 2018.10.12
> if (INIT_X < 0) INIT_X = 0; > if (INIT_Y < 0) INIT_Y = 0; > // mryo
>
346a375,383
>
> #ifdef CROP_SAVE
> //mryo 2018.10.12
> fscanf(INIFile, “Cropping_Flag=%d\n”, &swapCropping_Flag);
> fscanf(INIFile, “Clipping=%d,%d,%d,%d\n”,
> &swapClip_Left, &swapClip_Right, &swapClip_Top, &swapClip_Bottom);
> CropRestore(true); // Clipデータのみ反映
> #endif // CROP_SAVE
>
1295a1333,1337
> #ifdef CROP_SAVE // d2v読み込み時はいらないかも
> CropSwap(true);
> swap_Flag = false;
> #endif // CROP_SAVE
>
2385a2428,2444
>
> #ifdef CROP_SAVE
> {
> bool saveflag = Cropping_Flag;
>
> //mryo 2018.10.12
>
> if (!Cropping_Flag) // フラグが立っていればそのまま保存
> {
> // swap_flag このフラグがっているときは、ファイルが閉じられた場合、ファイルが開かれる前:クロップフラグ情報を引き継ぐ
> if (swap_Flag) saveflag = swapCropping_Flag;
> }
> fprintf(INIFile, “Cropping_Flag=%d\n”, saveflag);
> fprintf(INIFile, “Clipping=%d,%d,%d,%d\n”, Clip_Left, Clip_Right, Clip_Top, Clip_Bottom);
> }
> #endif // CROP_SAVE
>
3179a3239,3242
> #ifdef CROP_SAVE
> // swap データを無効化
> swap_Flag = false;
> #endif
4129c4192,4196
< Clip_Left = Clip_Right = Clip_Top = Clip_Bottom = 0; --- >
> #ifdef CROP_SAVE
> CropSwap(Cropping_Flag);
> #endif // CROP_SAVE
>
4328c4395,4398
< --- > #ifdef CROP_SAVE
> CropRestore(false);
> #endif // CROP_SAVE
>
4411a4482,4489
> #ifdef CROP_SAVE
> // mryo 2018.10.12
> // swapCropping_Flag ONならチェックを入れて各クロップ数値を設定する
>
> CropRestore(true);
> if (Cropping_Flag) CheckMenuItem(hMenu, IDM_CROPPING, MF_CHECKED);
> #endif // CROP_SAVE
>
4897a4976,5015
>
> #ifdef CROP_SAVE
> /* CROP_SAVE
> * 初期化後、INIファイル読み込みで前回のクロップデータを読み込む
> * ファイルオープン後にフラグ設定でクロップデータを戻して反映
> * ファイルクローズ時にクロップデータを保存
> * ・INI保存はスワップしたデータからの方がタイミングがいいかもしれない
> *
> * 動画ファイルを閉じているとき、アプリを終了したばあいクロップデータが初期化されたまま保存される
> * D2V読み込み時にクロップデータを退避しておく
> */
> static void CropReset(void)
> {
> Clip_Left = Clip_Right = Clip_Top = Clip_Bottom = 0;
> swapClip_Left = swapClip_Right = swapClip_Top = swapClip_Bottom = 0;
> Cropping_Flag = swapCropping_Flag = swap_Flag = false;
> }
>
> static void CropSwap(bool OverWrite)
> {
> if (!OverWrite && swap_Flag) return;
>
> swapClip_Left = Clip_Left;
> swapClip_Right = Clip_Right;
> swapClip_Top = Clip_Top;
> swapClip_Bottom = Clip_Bottom;
> swapCropping_Flag = Cropping_Flag;
> swap_Flag = true;
> }
>
> static void CropRestore(bool FlagRestore)
> {
> Clip_Left = swapClip_Left;
> Clip_Right = swapClip_Right;
> Clip_Top = swapClip_Top;
> Clip_Bottom = swapClip_Bottom;
>
> if(FlagRestore) Cropping_Flag = swapCropping_Flag;
> }
> #endif // CROP_SAVE
\ No newline at end of file

DGIndex 1.58バグ対応の個人的再構築メモ[mod20171024版](GitHub)

みんなメモ取るのが好きなんです!(笑)VisualStudio使う方法が見えたのでなんとなくやってみたw

さらにメモの追記でごちゃごちゃしてますm(__)m

アニメとかエンコード関連の自分用メモとか
http://ruquiadia.blog.fc2.com/blog-entry-39.html

dgindex158src_fix_mod-雄志方の方の公開→(GitHubにない履歴とかコメントは今後の参考になりまする)(下にGitHub公開のリンクあります)
こちら

準備:
NASMの展開例: E:\vs17\nasm\nasm.exe

■ まずはDGMPGDec-158-mod_20171024\DGMPGDec_Build_Release_msvc15.bat を使う場合(3ステップ)
[DGMPGDec_Build_Release_msvc15.batを編集]
A.46行目の[rem]を取る。

45: rem Windows XP support
46: set WINXPISDEAD=1

B.NASMのパスをSetで入れておく
echo —————————————————–
echo S T A R T
echo —————————————————–

set NASMPATH=E:\vs17\nasm\   ←追加 

set VisualStudioVersion=15.0
—-

C.コマンドプロンプトからバッチ起動。完。
DGMPGDec-158-mod_20171024\bin\msvc15.0\Release に一式ビルドされる。

■ 次にDGMPGDec-158-mod_20171024\msvc\DGMPGDec.sln を使ってみる(編集する場所はありません)
・NASM(VS2017を使う場合、環境設定でPATHを通しておく)
E:\vs17\nasm\nasm.exe へのパスを通す例


・VisualStudio2017(今のバージョンで15.8.7 C#とC++があれば大抵潰しが効く)
★アプリのVisualStudioインストーラーを開いて、インストール済み→編集→個別のコンポーネントから「C++に関する WindowsXPのサポート」を選択・インストール

objの依存関係があるみたいなので、Release.Win32でビルドして2成功1失敗とかになったら、1度Debug.win32でビルドして、その後Release.Win32 に切り替えてビルド。でいけると思います。
3失敗の場合はビルド環境ができてません^^;
エラー見て足りないもの入れて構築を繰り返しましょう。

バッチで動いているので、VisualStudioでビルドする意味は特にありませんが、ソースがみたいとかちょっと編集と言うときにはあるに超したことが無いですものね!っていうお話。

追記—-前にもやってた(^◇^;

NASMの設定など
DGIndexの修正版をビルドしてみたので手順のメモ

DGIndexの修正版をビルドしてみたので手順のメモ

GitHub – maki-rxrz/DGMPGDec
https://github.com/maki-rxrz/DGMPGDec

後で気づいたけど、前にバッチ使うやり方はやってた・・・^^;
2017年6月18日 VisualStudio2017Community で DGIndex(dgmpgdec158)の修正版をビルドしてみた!
http://nln.jp/wp/archives/1719

エコノミークラス症候群と発熱と。いろいろ計画中断です。

まぁあれです。よくあるやつです。
ちょっと症状がよくなって床ずれ起こしそうなので息抜きに。

生理現象+の、「食事やトイレ・風呂」以外20時間も同じ椅子に座っているとかかるやつです(・∀・)アヒャ!!

涼しくなって急に水分とる機会も減って、健康診断も終わってチョコパイ食い放題モードに入ったとこに、生ロールケーキもらったり三越閉店前の食べ歩きで体に悪いものたくさん取り過ぎたのも原因ですが、

運動不足」が一番の厳ですねヘ(^^ヘ)(ノ^^)ノヘ(^^ヘ)(ノ^^)ノ

結果的に30分以上椅子に座っていられない@@
血栓からうっ血症状で、詰まった周りが変色してくるので・・・

ヘパリンとか抗凝固薬系のお世話になっている状況です。
そんなところにめまい発熱悪寒鼻水下痢となんかヤバイのをもらってきました。
6時間後に意識があれば病院でまったりしているかと。

おっさん、お迎えが来たかと思いましたよ。
偏頭痛がひどい状況できっつい食あたりが来たような^^;
しかし!お迎え予兆の後は、部屋の掃除が終わるまではくたばる訳にはいかないですよね!
まずはVHSとDVDのマニアック&エロビデオを処分しないと…(ロリ・裏はないですよ^^;)
「食人族」とか「痛いビデオ」とか今では発禁ものです。所有上法に触れないていどの市販品やレンタルビデオ処分売り品。「絶対見てはいけないビデオ」とか貞子ブームの時はやりましたもんねぇ
元気なうちは捨てるのも名残惜しい青春時代の思い出。初恋の写真とともに(;^_^A アセアセ・・・

偏頭痛ネタの小説が身内で不評ですが、続きが書けそうですヘ(゚∀゚ヘ)アヒャ

計画中断の世界征服プロジェクトではなく、いろいろ組み合わせて環境構築しようズラ的なやつは中断というかボツネタで。

・Unity 2018.2.10f1 (64-bit)関連「TSプレイヤー:進捗2%動画再生できたところまで」
・(AVerMedia AVT-C878)RECentral_v4.2.0.30関連「白化現象続編:モニタがスリープに入った時の動作検証」
・MediaInfo関連「mp4のbox情報書き換えツール」(未着手)
・シュガーペーストでハロウィンを飾ろう計画(夜食に消えました)
・新PC購入:考察止まり

いろいろ手から離れて楽になりそうな、そうでも無いようなくだらないものが多いですねw
趣味ってそういうもんです。

暇があったらメモ整理して張りますm(__)m