(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

2017年12月年越し前に録画環境をアップデート! EpgDataCap_Bon(EDCB)、TvTest、TvtPlayをビルドしてみるメモ

自分でできる人はスルーしてください。初めての人は解説サイトへ行ってください。そういうメモです(^◇^;

2017年12月年越し前に録画環境をアップデート!EpgDataCap_Bon(EDCB)、TvTest、TvtPlayをビルドしてみるメモ
(不都合の時のために古いバージョンはコピーなどして、「上書き」だけはしないように!不都合無い人は更新しない方が良いのがこの世界です!)

3か月で浦島太郎なチキン脳みそです。Windows10 FallCreatorsUpdateもあったし、クリーンインストールしたし、再構築から・゚・(ノД`)・゚・
初歩的なこと忘れてる私には確認作業が重要。C++も必要なら入れましょう。

いまから能動的にC++覚えようなんて素人の人もいないと思うので、こういうところから入るのも…邪道です(^◇^;
変な癖つきますw

Visual Studio Community 2017の15.5.2で、Windows8.1SDKインストールしておくこと。

ググって
>[TvtPlay github]
>[TvTest github]
以下のファイルをダウンロード&展開

・EDCB-work-plus-s
・LibISDB-master
・TVTest-develop
・TvtPlay-work

◆LibISDB-masterは中身を[TVTest-develop\src\LibISDB]に移動(コピーでも可)

詳細)空きディレクトリがあるので、TVTest-developの中身を移動。
TVTest-develop\src\LibISDB\.gitignore
TVTest-develop\src\LibISDB\CMakeLists.txt
TVTest-develop\src\LibISDB\Documents
TVTest-develop\src\LibISDB\LibISDB
TVTest-develop\src\LibISDB\Projects
TVTest-develop\src\LibISDB\README.md
TVTest-develop\src\LibISDB\Samples
TVTest-develop\src\LibISDB\Tests
TVTest-develop\src\LibISDB\Thirdparty
と、なるようにする。

最初にビルドする。

開くソリューション
TVTest-develop\src\LibISDB\Projects\LibISDB.sln

インクルードファイルの確認など下のゲージを見ながらしばし待つ

確認2点(最後に設定した内容で変わってしまうので毎回確認)
・x64→x86(Win32)
・Debug→Release


んで、ビルド。

おまじないしたい人は、ソリューションのリターゲット。

◆次にTvTest本体

開くソリューション
TVTest-develop\src\TVTest_All.slnを開く

右のソリューションエクスプローラーからプロジェクトを右クリックして「ソリューションの再ターゲット」を選んで更新。

確認2点
・x64→Win32
・Debug→Release

LibISDB-masterはコピーしてビルド済みなので、本体のビルドを始める

※ここでLibISDB.libとかライブラリがリンクできないのは最初にターゲットが間違っている場合が濃厚。x64(64ビット)指定でビルドしている。またはディレクトリ構成が違っている。
注)パスを確かめる(^◇^;

完了!
成果物の場所:
TVTest-develop\src\Win32\Release\TVTest.exe
TVTest-develop\src\Win32\Release\TVTest_Image.dll

◆次にEpgDataCap_Bon
EDCB-work-plus-s\Document\EDCB_ALL.VS2015.sln

おまじないしておこう。リターゲット!

確認2点
・x64→Win32
・Debug→Release

ビルド。完了!

成果物の場所:
EDCB-work-plus-s\x86\Release\EdcbPlugIn.tvtp
EDCB-work-plus-s\x86\Release\EpgDataCap_Bon.exe
EDCB-work-plus-s\x86\Release\EpgDataCap3.dll
EDCB-work-plus-s\x86\Release\EpgTimer.exe
EDCB-work-plus-s\x86\Release\EpgTimerPlugIn.tvtp
EDCB-work-plus-s\x86\Release\EpgTimerSrv.exe
EDCB-work-plus-s\x86\Release\SendTSTCP.dll

◆おまけTvtPlay

開くソリューション
TvtPlay-work_20171222\src\TvtPlay.sln

プロジェクトの再ターゲット画面が出る→OK

確認2点
・x64→Win32
・Debug→Release

ビルド。完了!

成果物の場所:
TvtPlay-work\src\Release\TvtPlay.tvtp

平和だ…トラブルがないなんて…中の人に感謝!

—-
ts再生でオンボードGPUでアクセラレータ使用すると、再生秒数スキップ移動するとたまにアスペクト比無視して横長になって右が切れてしまうシマウマ…トラウマ。
CPU負荷模索して低くしたら発現した(・・ゞポリポリ 何度か再生位置移動させれば戻るけど。
Intelさぁぁん。おろろんおろろん。おま環っすよ。でも、たすけて。

VisualStudio2017Community で DGIndex(dgmpgdec158)の修正版をビルドしてみた!

今日も果敢に何かに挑戦!
VisualStudio2015版のビルド方法を参考にしました。

DGIndexの修正版をビルドしてみたので手順のメモ
http://heetnote.com/dgindex-build/

結果。すんなりいってネタにならなかったf(^^;)

VS2015
DGMPGDec_Build_Release_msvc14.bat

VS2017
DGMPGDec_Build_Release_msvc15.bat

2017/05/14開発者の方が対応してくれておりました。

echo —————————————————–
echo S T A R T
echo —————————————————–

set NASMPATH=●:\nasm\
set VisualStudioVersion=15.0
set TOOLS_VER=%VisualStudioVersion%
set MSVC_VER=msvc15
set VS_NUMBER=2017
set VS_EDITION=Community

———-
VS2017でC++のXP用SDKいれる
NASMいれる
バッチファイルに1行足す(「set NASMPATH=●:\nasm\」など。「●」はインストール先)
set 1行足す。実行。完了!

2006日本vsブラジル 観戦しながらC++を始めてみよう!(2)

前半戦終わって気落ちしてしまったら日本人の悪いところが出てしまうのでこれからこれから!がんばれ日本!w
Visual C++ 2005 Express EditionのDL終わったのでフルインスコ中。
後半8分ブラジル逆転1-2(*_*)
いやぁすごいすごいw無回転で揺れながら落ちるシュート。アニメや漫画で使えそうだな^^;
インスコ終わったので、入ってみましょう!
ではでは「Microsoft Visual C++ 2005 Express Edition」ぽちっとな。
「Windows ユーザー インターフェイスを含むアプリケーションを作成するためのプロジェクトです」を選んで・・・ブラジル追加点1-3(^◇^;
そしてファイル生成中にノートン警告で強制終了と・・・il||li _| ̄|○ il||li
「悪質なスクリプト警告」ワロタ。気分悪いが許可しておこう・・・すでに日本も俺も負けてる気がするw
「Form1」が出来上がるので、「表示(V)」→ツールボックスを選んでコモンコントロールの「Label」をドラッグ&ドロップ。
「Label1」が作成されるので、その上で右クリックして「プロパティ」を開く。
「プロパティ」→「表示」→「Text」が[Label1]になっているので[Hello World]に変更。
「Form1」の上の「Label1」が「Hello World」に変わればOK。
「ビルド(B)」→「ソリューションのビルド(F7)」を選択して実行ファイルを作りましょう!
次に早速実行してみよう!「デバッグ(D)」→「デバッグ(F5)」を選択!
   Form1が表示され、「Hello World」が表示されれば成功!
C++いじってないじゃん!というのはまた今度にしておいてめざましテレビ始まったので行ってきますヽ(^0^)ノ

2006日本vsブラジル 観戦しながらC++を始めてみよう!(1)

 さて、、、日本vsブラジル戦見ながらまったりとC++インストール中。
これといって何か意味があるわけでもないけど、懐かしくて触ってみた。
Visual Web Developer 2005 Express Edition ≫
http://www.microsoft.com/japan/msdn/vstudio/express/
評価・学習用としてただで使えるらしいのでさくっとMSからDLインスコしてみた。
(こやってWindowsが重くて不安定になっていくんだよなぁ・・・(^◇^;)
まぁC言語触ったことがある人ならたいてい知っているであろう「初めてのC」。
その程度の知識で日曜(休日)プログラミングに挑戦!
過去の遺産であるC言語をベースにC++言語が開発され資産継承・オブジェクト指向という概念になり、マルチタスク・マルチスレッドと形態が変わり、まったくついていく気力がなくなったままパッケージだけ買い続けていたりする無用の長物。掘り起こしてがんばろうという気力もなくとりあえず、手短なMSからのDLがやってみようとおもふ。眠くて何書いているか微妙^^;
C++といえばやっぱあれでしょ。「Hello World」!
ぐぐれば(Googleで検索すれば)山ほど出てくる基本中の基本。
サッカーの試合が終わるまでにそこまでいきたいなぁw
今前半の26分0-0~。
では入ってみよう!インスコされた「Microsoft Visual Web Developer 2005 Express Edition」をクリック!Webアクセスでノートンがぺこぺこ反応。最新情報など表示されながらスタート画面。
はっはっはぁ!使い方がわからんw・・・説明書読まずにがんばってみよう・・・
いじってるうちに日本先制点!1-0!時間は朝4:33!全然集中できない(爆笑)
C++じゃなくてC#!Win用プログラムは組んだ経験があるんだが果てさて困ったw
Visual C++ 2005 Express Edition 日本語版 ≫
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/
まぁそのぉ・・・なんだなぁ・・・
インストールするプログラム間違ってるじゃんww
Visual C++ 2005 Express EditionのCDイメージDL中。
前半もうすぐ終わる!がんばれ日本!
ロスタイムで追いつかれた。・゚゚・(>_<)・゚゚・。