Skip to content

Commit

Permalink
2004-02-18
Browse files Browse the repository at this point in the history
  • Loading branch information
makiuchi-d committed Sep 11, 2015
1 parent 115bc1b commit 8ea5ac6
Show file tree
Hide file tree
Showing 7 changed files with 200 additions and 11 deletions.
23 changes: 19 additions & 4 deletions delogo.rc
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,27 @@ FONT 9, "
PUSHBUTTON "CANCEL", IDCANCEL, 80,30,50,14, BS_CENTER|BS_VCENTER
}

//////////////////////////////////////////////////////////////////////
// ������\���_�C�A���O
//
STR_DLG DIALOG 0,0, 175,75
CAPTION "���ߐ����S Avisynth�X�N���v�g"
STYLE WS_VISIBLE | WS_POPUP | WS_CAPTION | DS_MODALFRAME | WS_SYSMENU
FONT 9, "�l�r �o�S�V�b�N"
{
EDITTEXT ID_SHOW_STRING, 0,0,175,52, ES_LEFT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_MULTILINE|ES_READONLY


PUSHBUTTON "�N���b�v�{�[�h�ɃR�s�[", ID_COPY_STRING, 20,57,80,14, BS_CENTER|BS_VCENTER
DEFPUSHBUTTON "OK", IDOK, 105,57,50,14, BS_CENTER|BS_VCENTER
}

//////////////////////////////////////////////////////////////////////
// VERSION INFO
//
VS_VIRSION_INFO VERSIONINFO
FILEVERSION 0,0,7,2
PRODUCTVERSION 0,0,7
FILEVERSION 0,0,8,0
PRODUCTVERSION 0,0,8
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x0L
FILEOS VOS__WINDOWS32
Expand All @@ -88,12 +103,12 @@ VS_VIRSION_INFO VERSIONINFO
{
// VALUE "Comments", "���S�T���v���񋟎ҕ�W��\0"
VALUE "FileDescription", "���ߐ����S �t�B���^ Plugin for AviUtl 0.98\0"
VALUE "FileVersion", "0.0.7.2\0"
VALUE "FileVersion", "0.0.8.0\0"
VALUE "InternalName", "deLogo\0"
VALUE "LegalCopyright", "(C) MakKi\0"
VALUE "OriginalFilename", "delogo.aup\0"
VALUE "ProductName", "���ߐ����S �t�B���^\0"
VALUE "ProductVersion", "0.07b\0"
VALUE "ProductVersion", "0.08\0"
}
}
BLOCK "VarFileInfo"
Expand Down
72 changes: 69 additions & 3 deletions filter.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*********************************************************************
* 透過性ロゴ(BSマークとか)除去フィルタ
* ver 0.07b
* ver 0.08
*
* 2003
* 02/01: 製作開始
Expand Down Expand Up @@ -56,17 +56,19 @@
* 10/20: SSE2使用のrgb2ycがバグもちなので、自前でRGB->YCbCrするようにした。
* 位置X/Yの最大・最小値を拡張した。(0.07a)
* 10/25: 位置調整で-200以下にすると落ちるバグ修正。(0.07b)
* 2004
* 02/18: AviSynthスクリプトを吐くボタン追加。(0.08)
*
*********************************************************************/

/* ToDo:
* ・ロゴデータの作成・編集機能
* ・フェードイン・アウトに対応すべきなんだろうなぁ
*
* MEMO:
* ・ロゴの拡大縮小ルーチン自装しないとだめかなぁ。
* →必要なさげ。当面は自装しない。
* ・ロゴ作成・編集は別アプリにしてしまおうか…
* 使用公開してるし、誰か作ってくれないかなぁ(他力本願)
* ・ロゴ除去モードとロゴ付加モードを切り替えられるようにしようかな
* →付けてみた
* ・解析プラグからデータを受け取るには…独自WndMsg登録してSendMessageで送ってもらう
Expand Down Expand Up @@ -98,10 +100,12 @@
#include "optdlg.h"
#include "resource.h"
#include "send_lgd.h"
#include "strdlg.h"


#define ID_BUTTON_OPTION 40001
#define ID_COMBO_LOGO 40002
#define ID_BUTTON_SYNTH 40003

#define Abs(x) ((x>0)? x:-x)
#define Clamp(n,l,h) ((n<l) ? l : (n>h) ? h : n)
Expand All @@ -122,6 +126,7 @@ typedef struct {
HFONT font;
HWND cb_logo;
HWND bt_opt;
HWND bt_synth;
} FILTER_DIALOG;

FILTER_DIALOG dialog;
Expand Down Expand Up @@ -153,6 +158,7 @@ static BOOL create_adj_exdata(FILTER *fp,LOGO_HEADER *adjdata,const LOGO_HEADER
static int find_logo(const char *logo_name);

static BOOL on_option_button(FILTER* fp);
static BOOL on_avisynth_button(FILTER* fp,void* editp);

BOOL func_proc_eraze_logo(FILTER *fp,FILTER_PROC_INFO *fpip,LOGO_HEADER *lgh,int);
BOOL func_proc_add_logo(FILTER *fp,FILTER_PROC_INFO *fpip,LOGO_HEADER *lgh,int);
Expand All @@ -161,7 +167,7 @@ BOOL func_proc_add_logo(FILTER *fp,FILTER_PROC_INFO *fpip,LOGO_HEADER *lgh,int);
// FILTER_DLL構造体
//----------------------------
char filter_name[] = LOGO_FILTER_NAME;
char filter_info[] = LOGO_FILTER_NAME" ver 0.07b by MakKi";
char filter_info[] = LOGO_FILTER_NAME" ver 0.08 by MakKi";
#define track_N 10
#if track_N
TCHAR *track_name[] = { "位置 X", "位置 Y",
Expand Down Expand Up @@ -540,6 +546,10 @@ BOOL func_WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, void *
change_param();
return TRUE;
}
break;

case ID_BUTTON_SYNTH: // AviSynthボタン
return on_avisynth_button(fp,editp);
}
break;

Expand Down Expand Up @@ -666,6 +676,11 @@ static void init_dialog(HWND hwnd,HINSTANCE hinst)
dialog.bt_opt = CreateWindow("BUTTON", "オプション", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_VCENTER,
240,ITEM_Y, 63,20, hwnd, (HMENU)ID_BUTTON_OPTION, hinst, NULL);
SendMessage(dialog.bt_opt, WM_SETFONT, (WPARAM)dialog.font, 0);

// AviSynthボタン
dialog.bt_synth = CreateWindow("BUTTON", "AviSynth", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_VCENTER,
240,ITEM_Y-25, 63,20, hwnd, (HMENU)ID_BUTTON_SYNTH, hinst, NULL);
SendMessage(dialog.bt_synth, WM_SETFONT, (WPARAM)dialog.font, 0);
}

/*--------------------------------------------------------------------
Expand Down Expand Up @@ -1110,4 +1125,55 @@ static void set_sended_data(void* data,FILTER* fp)
lstrcpy(fp->ex_data_ptr,ptr); // 拡張領域にロゴ名をコピー
}


/*--------------------------------------------------------------------
* on_avisynth_button() AviSynthボタン動作
*-------------------------------------------------------------------*/
static BOOL on_avisynth_button(FILTER* fp,void *editp)
{
char str[STRDLG_MAXSTR];
int s,e;

// スクリプト生成
wsprintf(str,"%sLOGO(logofile=\"%s\",\r\n"
"\\ logoname=\"%s\"",
(fp->check[0]? "Add":"Erase"),logodata_file,fp->ex_data_ptr);

if(fp->track[LOGO_X] || fp->track[LOGO_Y])
wsprintf(str,"%s,\r\n\\ pos_x=%d, pos_y=%d",
str,fp->track[LOGO_X],fp->track[LOGO_Y]);

if(fp->track[LOGO_YDP]!=128 || fp->track[LOGO_PY] || fp->track[LOGO_CB] || fp->track[LOGO_CR])
wsprintf(str,"%s,\r\n\\ depth=%d, yc_y=%d, yc_u=%d, yc_v=%d",
str,fp->track[LOGO_YDP],fp->track[LOGO_PY],fp->track[LOGO_CB],fp->track[LOGO_CR]);


if(fp->exfunc->get_frame_n(editp)){ // 画像が読み込まれているとき
fp->exfunc->get_select_frame(editp,&s,&e); // 選択範囲取得
wsprintf(str,"%s,\r\n\\ start=%d",str, s+fp->track[LOGO_STRT]);

if(fp->track[LOGO_FIN] || fp->track[LOGO_FOUT])
wsprintf(str,"%s, fadein=%d, fadeout=%d",str,fp->track[LOGO_FIN],fp->track[LOGO_FOUT]);

wsprintf(str,"%s, end=%d",str,e-fp->track[LOGO_END]);
}
else{
if(fp->track[LOGO_FIN] || fp->track[LOGO_FOUT])
wsprintf(str,"%s,\r\n\\ fadein=%d, fadeout=%d",str,fp->track[LOGO_FIN],fp->track[LOGO_FOUT]);
}

wsprintf(str,"%s)\r\n",str);


EnableWindow(dialog.bt_synth,FALSE); // synthボタン無効化

// ダイアログ呼び出し
DialogBoxParam(fp->dll_hinst,"STR_DLG",GetWindow(fp->hwnd,GW_OWNER),StrDlgProc,(LPARAM)str);

EnableWindow(dialog.bt_synth,TRUE); // synthボタン無効化解除

return TRUE;
}


//*/
5 changes: 4 additions & 1 deletion makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ LFLAG = -tWD -e$(EXE) -O1 -O2
RFLAG =

EXE = delogo.auf
OBJ = filter.obj optdlg.obj editdlg.obj
OBJ = filter.obj optdlg.obj editdlg.obj strdlg.obj
RES = delogo.res


Expand All @@ -32,5 +32,8 @@ optdlg.obj: optdlg.c optdlg.h filter.h logo.h resource.h
editdlg.obj: editdlg.c editdlg.h resource.h
$(CC) $(CFLAG) editdlg.c

strdlg.obj: strdlg.c strdlg.h resource.h
$(CC) $(CFLAG) strdlg.c

$(RES): delogo.rc resource.h
$(RC) $(RFLAG) delogo.rc
10 changes: 7 additions & 3 deletions readme.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------
���ߐ����S �t�B���^�v���O�C�� ver0.07b by MakKi
���ߐ����S �t�B���^�v���O�C�� ver0.08 by MakKi
-----------------------------------------------------------------------

�y�@�\�z
Expand Down Expand Up @@ -33,7 +33,7 @@
���S�̐F���e�F�������ƒ������܂�

�E�J�n �X���C�_
�擪�̃��S�����̃t���[�������w�肵�܂��B
�擪�̃��S�����̃t���[�������w�肵�܂�

�EFadeIn �X���C�_
�t�F�[�h�C������t���[�������w�肵�܂�
Expand All @@ -42,14 +42,17 @@
�t�F�[�h�A�E�g����t���[�������w�肵�܂�

�E�I�� �X���C�_
�I�[�̃��S�����̃t���[�������w�肵�܂��B
�I�[�̃��S�����̃t���[�������w�肵�܂�

�E�R���{�{�b�N�X
�t���܂��͏������郍�S��I�����܂�

�E�I�v�V���� �{�^��
�I�v�V�����_�C�A���O��\�����܂�

�EAviSynth �{�^��
���݂̃p�����[�^����AviSynth�X�N���v�g�𐶐����܂�


���I�v�V�����_�C�A���O

Expand Down Expand Up @@ -107,6 +110,7 @@

�y�X�V�����z

2004/02/18 ver 0.08 �EAviSynth�X�N���v�g�𐶐�����@�\��lj�
2003/10/26 ver 0.07b �E�ʒu������-200�����ɂ���Ɨ�����o�O�C���B
2003/10/21 ver 0.07a �E���O��RGB->YCbCr����悤�ɂ����B(SSE2�ł̕s��΍�)
�E�ʒuX/Y�̍ő奍ŏ��l���g�������B
Expand Down
10 changes: 10 additions & 0 deletions resource.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
// resorce.h

//////////////////////////////////////////////////////////////////////
// オプションダイアログ
#define IDC_STATIC 4100
#define IDC_LIST 4102
#define IDC_ADD 4103
Expand All @@ -19,5 +22,12 @@
#define IDC_SPING 4116
#define IDC_SPINB 4117

//////////////////////////////////////////////////////////////////////
// 編集ダイアログ
#define ID_EDIT_NAME 4201
#define ID_EDIT_NAMETXT 4202

//////////////////////////////////////////////////////////////////////
// 文字列表示ダイアログ
#define ID_SHOW_STRING 4301
#define ID_COPY_STRING 4302
69 changes: 69 additions & 0 deletions strdlg.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/*====================================================================
* 編集ダイアログ editdlg.c
*===================================================================*/
#include <windows.h>
#include "resource.h"
#include "strdlg.h"


//----------------------------
// 関数プロトタイプ
//----------------------------
static BOOL CopyTextToClipboard(HWND hwnd,const char* text);


/*====================================================================
* StrDlgProc() コールバックプロシージャ
*===================================================================*/
BOOL CALLBACK StrDlgProc(HWND hdlg,UINT msg,WPARAM wParam,LPARAM lParam)
{
static char str[STRDLG_MAXSTR];

switch(msg){
case WM_INITDIALOG:
SetDlgItemText(hdlg,ID_SHOW_STRING,(const char*)lParam);
lstrcpy(str,(const char*)lParam);
return TRUE;

case WM_COMMAND:
switch(LOWORD(wParam)){
case IDOK:
case IDCANCEL:
EndDialog(hdlg,LOWORD(wParam));
return TRUE;

case ID_COPY_STRING:
CopyTextToClipboard(hdlg,str);
}
break;
}

return FALSE;
}

/*--------------------------------------------------------------------
* CopyTextToClipboard() クリップボードにコピー
*-------------------------------------------------------------------*/
static BOOL CopyTextToClipboard(HWND hwnd,const char* text)
{
HGLOBAL hglbCopy;
char* ptrCopy;

if(!OpenClipboard(hwnd)) return FALSE;

hglbCopy = GlobalAlloc(GMEM_MOVEABLE,lstrlen(text)+1);
if(hglbCopy==NULL){
CloseClipboard();
return FALSE;
}

ptrCopy = (char*)GlobalLock(hglbCopy);
lstrcpy(ptrCopy,text);
GlobalUnlock(hglbCopy);

EmptyClipboard();
SetClipboardData(CF_TEXT,hglbCopy);
CloseClipboard();

return TRUE;
}
22 changes: 22 additions & 0 deletions strdlg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*====================================================================
* 文字列表示ダイアログ strdlg.h
*===================================================================*/
#ifndef ___STRDLG_H
#define ___STRDLG_H

#include <windows.h>

#define STRDLG_MAXSTR MAX_PATH+256

#ifdef __cplusplus
extern "C" {
#endif

// ダイアログプロシージャ
extern BOOL CALLBACK StrDlgProc(HWND hdlg,UINT msg,WPARAM wParam,LPARAM lParam);

#ifdef __cplusplus
} // End of extern "C"
#endif

#endif

0 comments on commit 8ea5ac6

Please sign in to comment.