Skip to content

Commit 315cdba

Browse files
committed
2004-09-19
1 parent d9463aa commit 315cdba

9 files changed

+125
-46
lines changed

delogo.rc

+34-8
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,41 @@ FONT 9, "
5959
//////////////////////////////////////////////////////////////////////
6060
// �ҏW�_�C�A���O
6161
//
62-
EDIT_DLG DIALOG 0,0, 150,50
62+
EDIT_DLG DIALOG 0,0, 150,100
6363
STYLE WS_VISIBLE | WS_POPUP | WS_CAPTION | DS_MODALFRAME | WS_SYSMENU
6464
FONT 9, "�l�r �o�S�V�b�N"
6565
{
6666
LTEXT "���S��", IDC_STATIC, 5,8,25,14
6767
EDITTEXT ID_EDIT_NAME, 30,5,110,14, ES_LEFT|ES_AUTOHSCROLL
6868

69-
DEFPUSHBUTTON "OK", IDOK, 20,30,50,14, BS_CENTER|BS_VCENTER
70-
PUSHBUTTON "CANCEL", IDCANCEL, 80,30,50,14, BS_CENTER|BS_VCENTER
69+
GROUPBOX "", IDC_GROUP, 5,22,140,53,WS_VISIBLE
70+
71+
CTEXT "�J�n", IDC_STATIC, 6,37,30,8
72+
EDITTEXT ID_EDIT_START, 36,35,35,12, ES_RIGHT|ES_AUTOHSCROLL|ES_NUMBER|WS_TABSTOP
73+
CONTROL "Spin1",ID_EDIT_SPINST,"msctls_updown32",
74+
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_SETBUDDYINT | UDS_ARROWKEYS,
75+
0,0,0,0
76+
77+
CTEXT "�I��", IDC_STATIC, 75,37,30,8
78+
EDITTEXT ID_EDIT_END, 105,35,35,12, ES_RIGHT|ES_AUTOHSCROLL|ES_NUMBER|WS_TABSTOP
79+
CONTROL "Spin1",ID_EDIT_SPINED,"msctls_updown32",
80+
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_SETBUDDYINT | UDS_ARROWKEYS,
81+
0,0,0,0
82+
83+
CTEXT "FadeIn", IDC_STATIC, 6,57,30,8
84+
EDITTEXT ID_EDIT_FIN, 36,55,35,12, ES_RIGHT|ES_AUTOHSCROLL|ES_NUMBER|WS_TABSTOP
85+
CONTROL "Spin1",ID_EDIT_SPINFI,"msctls_updown32",
86+
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_SETBUDDYINT | UDS_ARROWKEYS,
87+
0,0,0,0
88+
89+
CTEXT "FadeOut", IDC_STATIC, 75,57,30,8
90+
EDITTEXT ID_EDIT_FOUT, 105,55,35,12, ES_RIGHT|ES_AUTOHSCROLL|ES_NUMBER|WS_TABSTOP
91+
CONTROL "Spin1",ID_EDIT_SPINFO,"msctls_updown32",
92+
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_SETBUDDYINT | UDS_ARROWKEYS,
93+
0,0,0,0
94+
95+
DEFPUSHBUTTON "OK", IDOK, 20,80,50,14, BS_CENTER|BS_VCENTER
96+
PUSHBUTTON "CANCEL", IDCANCEL, 80,80,50,14, BS_CENTER|BS_VCENTER
7197
}
7298

7399
//////////////////////////////////////////////////////////////////////
@@ -89,8 +115,8 @@ FONT 9, "
89115
// VERSION INFO
90116
//
91117
VS_VIRSION_INFO VERSIONINFO
92-
FILEVERSION 0,0,8,1
93-
PRODUCTVERSION 0,0,8
118+
FILEVERSION 0,0,9,0
119+
PRODUCTVERSION 0,0,9
94120
FILEFLAGSMASK 0x3FL
95121
FILEFLAGS 0x0L
96122
FILEOS VOS__WINDOWS32
@@ -102,13 +128,13 @@ VS_VIRSION_INFO VERSIONINFO
102128
BLOCK "041103A4"
103129
{
104130
// VALUE "Comments", "���S�T���v���񋟎ҕ�W��\0"
105-
VALUE "FileDescription", "���ߐ����S �t�B���^ Plugin for AviUtl 0.98\0"
106-
VALUE "FileVersion", "0.0.8.1\0"
131+
VALUE "FileDescription", "���ߐ����S �t�B���^ Plugin for AviUtl 0.98�ȍ~\0"
132+
VALUE "FileVersion", "0.0.9.0\0"
107133
VALUE "InternalName", "deLogo\0"
108134
VALUE "LegalCopyright", "(C) MakKi\0"
109135
VALUE "OriginalFilename", "delogo.aup\0"
110136
VALUE "ProductName", "���ߐ����S �t�B���^\0"
111-
VALUE "ProductVersion", "0.08a\0"
137+
VALUE "ProductVersion", "0.09\0"
112138
}
113139
}
114140
BLOCK "VarFileInfo"

editdlg.c

+27-8
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#include "editdlg.h"
88
#include "logo.h"
99
#include "optdlg.h"
10+
#include "logodef.h"
11+
1012

1113
extern char filter_name[]; // フィルタ名[filter.c]
1214

@@ -54,22 +56,35 @@ BOOL CALLBACK EditDlgProc(HWND hdlg,UINT msg,WPARAM wParam,LPARAM lParam)
5456
void on_wm_initdialog(HWND hdlg)
5557
{
5658
char title[LOGO_MAX_NAME+10];
59+
LOGO_HEADER* lp;
5760

58-
// ロゴ名取得
59-
SendDlgItemMessage(owner,IDC_LIST,LB_GETTEXT,list_n,(LPARAM)title);
61+
// ロゴデータ取得
62+
lp = (LOGO_HEADER *)SendDlgItemMessage(owner,IDC_LIST,LB_GETITEMDATA,list_n,0);
6063

61-
// ロゴ名エディットボックス
64+
// エディットボックス
6265
SendDlgItemMessage(hdlg,ID_EDIT_NAME,EM_SETLIMITTEXT,LOGO_MAX_NAME-1,0);
63-
SetDlgItemText(hdlg,ID_EDIT_NAME,title);
66+
SendDlgItemMessage(hdlg,ID_EDIT_START, EM_SETLIMITTEXT, 4,0);
67+
SendDlgItemMessage(hdlg,ID_EDIT_END, EM_SETLIMITTEXT, 4,0);
68+
SendDlgItemMessage(hdlg,ID_EDIT_FIN, EM_SETLIMITTEXT, 3,0);
69+
SendDlgItemMessage(hdlg,ID_EDIT_FOUT, EM_SETLIMITTEXT, 3,0);
70+
SendDlgItemMessage(hdlg,ID_EDIT_SPINST, UDM_SETRANGE, 0, LOGO_STED_MAX);
71+
SendDlgItemMessage(hdlg,ID_EDIT_SPINED, UDM_SETRANGE, 0, LOGO_STED_MAX);
72+
SendDlgItemMessage(hdlg,ID_EDIT_SPINFI, UDM_SETRANGE, 0, LOGO_FADE_MAX);
73+
SendDlgItemMessage(hdlg,ID_EDIT_SPINFO, UDM_SETRANGE, 0, LOGO_FADE_MAX);
74+
SetDlgItemText(hdlg,ID_EDIT_NAME,lp->name);
75+
SetDlgItemInt(hdlg,ID_EDIT_START,lp->st,FALSE);
76+
SetDlgItemInt(hdlg,ID_EDIT_END ,lp->ed,FALSE);
77+
SetDlgItemInt(hdlg,ID_EDIT_FIN ,lp->fi,FALSE);
78+
SetDlgItemInt(hdlg,ID_EDIT_FOUT ,lp->fo,FALSE);
6479

6580
// キャプション
66-
wsprintf(title,"%s - 編集",title);
81+
wsprintf(title,"%s - 編集",lp->name);
6782
SetWindowText(hdlg,title);
6883
}
6984

7085
/*--------------------------------------------------------------------
7186
* on_IDOK() OKボタン動作
72-
* ロゴ名の変更
87+
* ロゴデータの変更
7388
*-------------------------------------------------------------------*/
7489
BOOL on_IDOK(HWND hdlg)
7590
{
@@ -83,7 +98,7 @@ BOOL on_IDOK(HWND hdlg)
8398
GetDlgItemText(hdlg,ID_EDIT_NAME,newname,LOGO_MAX_NAME);
8499
// リストボックスを検索
85100
num = SendDlgItemMessage(owner,IDC_LIST,LB_FINDSTRING,-1,(WPARAM)newname);
86-
if(num!=CB_ERR){ // 同名が見つかった
101+
if(num!=CB_ERR && num!=list_n){ // 編集中のもの以外に同名が見つかった
87102
MessageBox(hdlg,"同名のロゴがあります\n別の名称を設定してください",filter_name,MB_OK|MB_ICONERROR);
88103
return FALSE;
89104
}
@@ -99,8 +114,12 @@ BOOL on_IDOK(HWND hdlg)
99114
// ロゴデータコピー
100115
memcpy(newdata,olddata,LOGO_DATASIZE(olddata));
101116

102-
// ロゴ名設定
117+
// ロゴデータ設定
103118
lstrcpy(newdata->name,newname);
119+
newdata->st = min(GetDlgItemInt(hdlg,ID_EDIT_START,NULL,FALSE),LOGO_STED_MAX);
120+
newdata->ed = min(GetDlgItemInt(hdlg,ID_EDIT_END, NULL,FALSE),LOGO_STED_MAX);
121+
newdata->fi = min(GetDlgItemInt(hdlg,ID_EDIT_FIN, NULL,FALSE),LOGO_FADE_MAX);
122+
newdata->fo = min(GetDlgItemInt(hdlg,ID_EDIT_FOUT, NULL,FALSE),LOGO_FADE_MAX);
104123

105124
// リストボックスを更新
106125
DeleteItem(owner,list_n);

filter.c

+28-16
Original file line numberDiff line numberDiff line change
@@ -60,21 +60,25 @@
6060
* 02/18: AviSynthスクリプトを吐くボタン追加。(0.08)
6161
* 04/17: ロゴデータファイル読み込み時にデータが一つも無い時エラーを出さないようにした。
6262
* 開始・終了の最大値を4096まで増やした。(0.08a)
63+
* 09/19: スタックを無駄遣いしていたのを修正。
64+
* 開始・フェードイン・アウト・終了の初期値をロゴデータに保存できるようにした。
6365
*
6466
*********************************************************************/
6567

6668
/* ToDo:
6769
* ・ロゴデータの作成・編集機能
70+
* ・ロゴデータに開始・終了・フェードの情報埋め込み
71+
* コンボボックスで変更された時だけそれらを反映させる(たくや氏よ、プロファイル使えば必要ないでしょうに
6872
*
6973
* MEMO:
7074
* ・ロゴの拡大縮小ルーチン自装しないとだめかなぁ。
7175
* →必要なさげ。当面は自装しない。
7276
* ・ロゴ作成・編集は別アプリにしてしまおうか…
73-
* 使用公開してるし、誰か作ってくれないかなぁ(他力本願)
77+
* 仕様公開してるし、誰か作ってくれないかなぁ(他力本願)
7478
* ・ロゴ除去モードとロゴ付加モードを切り替えられるようにしようかな
7579
* →付けてみた
7680
* ・解析プラグからデータを受け取るには…独自WndMsg登録してSendMessageで送ってもらう
77-
* →ちゃんと動いた。
81+
* →ちゃんと動いた。…登録しなくてもUSER定義でよかったかも
7882
* ・ロゴに1ピクセル未満のズレがある。1/4ピクセルくらいでの位置調整が必要そう。
7983
* →実装完了
8084
* ・ダイアログを表示したまま終了するとエラー吐く
@@ -103,6 +107,7 @@
103107
#include "resource.h"
104108
#include "send_lgd.h"
105109
#include "strdlg.h"
110+
#include "logodef.h"
106111

107112

108113
#define ID_BUTTON_OPTION 40001
@@ -113,10 +118,6 @@
113118
#define Clamp(n,l,h) ((n<l) ? l : (n>h) ? h : n)
114119

115120

116-
#define LOGO_FADE_MAX 256
117-
#define LOGO_XY_MAX 500
118-
#define LOGO_XY_MIN -500
119-
120121
#define LDP_KEY "logofile"
121122
#define LDP_DEFAULT "logodata.ldp"
122123
#define LDP_FILTER "ロゴデータパック (*.ldp)\0*.ldp\0"\
@@ -150,7 +151,7 @@ static void on_wm_filter_init(FILTER* fp);
150151
static void on_wm_filter_exit(FILTER* fp);
151152
static void init_dialog(HWND hwnd,HINSTANCE hinst);
152153
static void update_cb_logo(char *name);
153-
static void change_param(void);
154+
static void change_param(FILTER* fp);
154155
static void set_cb_logo(FILTER* fp);
155156
static int set_combo_item(void* data);
156157
static void del_combo_item(int num);
@@ -169,15 +170,15 @@ BOOL func_proc_add_logo(FILTER *fp,FILTER_PROC_INFO *fpip,LOGO_HEADER *lgh,int);
169170
// FILTER_DLL構造体
170171
//----------------------------
171172
char filter_name[] = LOGO_FILTER_NAME;
172-
char filter_info[] = LOGO_FILTER_NAME" ver 0.08a by MakKi";
173+
char filter_info[] = LOGO_FILTER_NAME" ver 0.09 by MakKi";
173174
#define track_N 10
174175
#if track_N
175176
TCHAR *track_name[] = { "位置 X", "位置 Y",
176177
"深度", "Y", "Cb", "Cr",
177178
"開始", "FadeIn", "FadeOut", "終了" }; // トラックバーの名前
178179
int track_default[] = { 0, 0, 128, 0, 0, 0, 0, 0, 0, 0 }; // トラックバーの初期値
179180
int track_s[] = { LOGO_XY_MIN, LOGO_XY_MIN, 0, -100, -100, -100, 0, 0, 0, 0 }; // トラックバーの下限値
180-
int track_e[] = { LOGO_XY_MAX, LOGO_XY_MAX, 256, 100, 100, 100, 4096, 256, 256, 4096 }; // トラックバーの上限値
181+
int track_e[] = { LOGO_XY_MAX, LOGO_XY_MAX, 256, 100, 100, 100, LOGO_STED_MAX, LOGO_FADE_MAX, LOGO_FADE_MAX, LOGO_STED_MAX }; // トラックバーの上限値
181182
#endif
182183
#define check_N 2
183184
#if check_N
@@ -322,8 +323,8 @@ BOOL func_exit( FILTER *fp )
322323
*===================================================================*/
323324
BOOL func_proc(FILTER *fp,FILTER_PROC_INFO *fpip)
324325
{
326+
static char adjdata[LOGO_MAXSIZE];
325327
int num;
326-
char adjdata[LOGO_MAXSIZE];
327328
int fade;
328329
int s,e;
329330

@@ -545,7 +546,7 @@ BOOL func_WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, void *
545546
case ID_COMBO_LOGO: // コンボボックス
546547
switch(HIWORD(wParam)){
547548
case CBN_SELCHANGE: // 選択変更
548-
change_param();
549+
change_param(fp);
549550
return TRUE;
550551
}
551552
break;
@@ -903,7 +904,7 @@ static void update_cb_logo(char *name)
903904
* change_param() パラメータの変更
904905
* 選択されたロゴデータを拡張データ領域にコピー
905906
*-------------------------------------------------------------------*/
906-
static void change_param(void)
907+
static void change_param(FILTER* fp)
907908
{
908909
LRESULT ret;
909910

@@ -913,6 +914,18 @@ static void change_param(void)
913914

914915
if(ret!=CB_ERR)
915916
memcpy(ex_data,(void *)ret,LOGO_MAX_NAME); // ロゴ名をコピー
917+
918+
// 開始・フェードイン・アウト・終了の初期値があるときはパラメタに反映
919+
ret = find_logo((char *)ret);
920+
if(ret<0) return;
921+
922+
if(logodata[ret]->fi || logodata[ret]->fo || logodata[ret]->st || logodata[ret]->ed){
923+
fp->track[LOGO_STRT] = logodata[ret]->st;
924+
fp->track[LOGO_FIN] = logodata[ret]->fi;
925+
fp->track[LOGO_FOUT] = logodata[ret]->fo;
926+
fp->track[LOGO_END] = logodata[ret]->ed;
927+
fp->exfunc->filter_window_update(fp);
928+
}
916929
}
917930

918931
/*--------------------------------------------------------------------
@@ -969,10 +982,9 @@ static void read_logo_pack(char *fname,FILTER *fp)
969982
DWORD readed = 0;
970983
ULONG ptr;
971984
void* data;
972-
// unsigned char num; // ファイルに含まれるデータの数
973985
int i;
974986
int same;
975-
char message[255];
987+
// char message[255];
976988

977989
// ファイルオープン
978990
hFile = CreateFile(fname,GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
@@ -1098,9 +1110,9 @@ static BOOL on_option_button(FILTER* fp)
10981110
*-------------------------------------------------------------------*/
10991111
static void set_sended_data(void* data,FILTER* fp)
11001112
{
1113+
static char message[256];
11011114
void *ptr;
11021115
UINT same;
1103-
char message[256];
11041116
LOGO_HEADER *lgh;
11051117

11061118
lgh = (LOGO_HEADER *)data;
@@ -1138,7 +1150,7 @@ static void set_sended_data(void* data,FILTER* fp)
11381150
*-------------------------------------------------------------------*/
11391151
static BOOL on_avisynth_button(FILTER* fp,void *editp)
11401152
{
1141-
char str[STRDLG_MAXSTR];
1153+
static char str[STRDLG_MAXSTR];
11421154
int s,e;
11431155

11441156
// スクリプト生成

logo.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,11 @@ typedef struct {
5656
* ロゴの基本的な情報を記録
5757
*-------------------------------------------------------------------*/
5858
typedef struct {
59-
char name[LOGO_MAX_NAME]; /* 名称 */
60-
short x, y; /* 基本位置 */
61-
short h, w; /* ロゴ高さ・幅 */
62-
int reserve[2]; /* 拡張用に予約 */
59+
char name[LOGO_MAX_NAME]; /* 名称 */
60+
short x, y; /* 基本位置 */
61+
short h, w; /* ロゴ高さ・幅 */
62+
short fi, fo; /* デフォルトのFadeIn/Out */
63+
short st, ed; /* デフォルトの開始・終了 */
6364
} LOGO_HEADER;
6465

6566
/*--------------------------------------------------------------------

logodef.h

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*====================================================================
2+
* logodef.h
3+
*===================================================================*/
4+
#ifndef ___LOGODEF_H
5+
#define ___LOGODEF_H
6+
7+
#define LOGO_FADE_MAX 256
8+
#define LOGO_XY_MAX 500
9+
#define LOGO_XY_MIN -500
10+
#define LOGO_STED_MAX 4096
11+
12+
#endif

makefile

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ $(EXE): $(OBJ) $(RES)
2323
$(LN) $(LFLAG) $(OBJ)
2424
$(RL) -fe$(EXE) $(RES)
2525

26-
filter.obj: filter.c filter.h logo.h optdlg.h
26+
filter.obj: filter.c filter.h logo.h optdlg.h resource.h send_lgd.h strdlg.h logodef.h
2727
$(CC) $(CFLAG) filter.c
2828

29-
optdlg.obj: optdlg.c optdlg.h filter.h logo.h resource.h
29+
optdlg.obj: optdlg.c optdlg.h filter.h logo.h resource.h editdlg.h
3030
$(CC) $(CFLAG) optdlg.c
3131

32-
editdlg.obj: editdlg.c editdlg.h resource.h
32+
editdlg.obj: editdlg.c editdlg.h resource.h logodef.h logo.h optdlg.h
3333
$(CC) $(CFLAG) editdlg.c
3434

3535
strdlg.obj: strdlg.c strdlg.h resource.h

optdlg.c

-1
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,6 @@ static void ExportLogoData(char *fname,void *data,HWND hdlg)
484484
HANDLE hFile;
485485
DWORD dw;
486486
DWORD size;
487-
char c =1;
488487
int s =0;
489488
LOGO_FILE_HEADER lfh;
490489

readme.txt

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
-----------------------------------------------------------------------
2-
���ߐ����S �t�B���^�v���O�C�� ver0.08a by MakKi
2+
���ߐ����S �t�B���^�v���O�C�� ver0.09 by MakKi
33
-----------------------------------------------------------------------
44

55
�y�@�\�z
@@ -46,6 +46,7 @@
4646

4747
�E�R���{�{�b�N�X
4848
�t���܂��͏������郍�S��I�����܂�
49+
�I����ύX�������A�J�n��I���FadeIn�FadeOut�̃f�t�H���g�l�����f����܂��B
4950

5051
�E�I�v�V���� �{�^��
5152
�I�v�V�����_�C�A���O��\�����܂�
@@ -70,7 +71,7 @@
7071
���X�g�őI������Ă��郍�S�����S�f�[�^�t�@�C��(*.lgd)�Ƃ��ď����o���܂�
7172

7273
�E�ҏW �{�^��
73-
���S�̖��̂�ҏW���܂�
74+
���S�̖��̂ƊJ�n��I���FadeIn�FadeOut�̃f�t�H���g�l��ҏW���܂�
7475

7576
�E��,�� �{�^��
7677
���X�g�̃��S�̏�����ύX���܂�
@@ -113,12 +114,14 @@
113114

114115
�y�X�V�����z
115116

117+
2004/09/19 ver 0.09 �E�X�^�b�N�������𖳑ʌ������Ă����̂��C��
118+
�E���S�f�[�^�ɊJ�n��I���FadeIn�FadeOut�̃f�t�H���g�l���L�^�ł���悤�ɂ���
116119
2004/04/18 ver 0.08a �E���S�f�[�^�t�@�C���ǂݍ��ݎ��Ƀf�[�^����‚��������G���[���o���Ȃ��悤�ɂ���
117120
�E�J�n��I���̍ő�l��4096�܂ő��₵��
118121
2004/02/18 ver 0.08 �EAviSynth�X�N���v�g�𐶐�����@�\��lj�
119-
2003/10/26 ver 0.07b �E�ʒu������-200�����ɂ���Ɨ�����o�O�C���B
120-
2003/10/21 ver 0.07a �E���O��RGB->YCbCr����悤�ɂ����B(SSE2�ł̕s��΍�)
121-
�E�ʒuX/Y�̍ő奍ŏ��l���g�������B
122+
2003/10/26 ver 0.07b �E�ʒu������-200�����ɂ���Ɨ�����o�O�C��
123+
2003/10/21 ver 0.07a �E���O��RGB->YCbCr����悤�ɂ���(SSE2�ł̕s��΍�)
124+
�E�ʒuX/Y�̍ő奍ŏ��l���g������
122125
2003/10/01 ver 0.07 �E�t�F�[�h�̕s�����x�v�Z���̌�����
123126
�E������ƍ������A�ׂ��ȏC��
124127
2003/07/03 ver 0.06a �E���S�f�[�^����M�ł��Ȃ��ꍇ���������̂��C��

0 commit comments

Comments
 (0)