/*以降オプション*/
//コメントを見せるか否か?
- setting->enable_user_comment = FALSE;
- setting->enable_owner_comment = FALSE;
- setting->data_user_path = NULL;
- setting->data_owner_path = NULL;
+ memset(setting->comment, 0x00, sizeof(setting->comment));
//一般的な設定
setting->font_path = NULL;
setting->font_index = 0;
setting->show_video = FALSE;
setting->fontsize_fix=FALSE;
setting->opaque_comment=FALSE;
+ setting->aspect_mode = 0;
int i;
char* arg;
- for(i=0;i<argc;i++){
- arg = argv[i];
- if(!setting->data_user_path && strncmp(FRAMEHOOK_OPT_DATA_USER,arg,FRAMEHOOK_OPT_DATA_USER_LEN) == 0){
- char* data_user = arg+FRAMEHOOK_OPT_DATA_USER_LEN;
- setting->data_user_path = data_user;
- setting->enable_user_comment = TRUE;
- fprintf(log,"[framehook/init]User Comment data path:%s\n",setting->data_user_path);
- fflush(log);
- }else if(!setting->data_owner_path && strncmp(FRAMEHOOK_OPT_DATA_OWNER,arg,FRAMEHOOK_OPT_DATA_OWNER_LEN) == 0){
- char* data_owner = arg+FRAMEHOOK_OPT_DATA_OWNER_LEN;
- setting->data_owner_path = data_owner;
- setting->enable_owner_comment = TRUE;
- fprintf(log,"[framehook/init]Owner Comment data path:%s\n",setting->data_owner_path);
- fflush(log);
- }else if(!setting->font_path && strncmp(FRAMEHOOK_OPT_FONT,arg,FRAMEHOOK_OPT_FONT_LEN) == 0){
+ for (i = 0; i < argc; i++) {
+ arg = argv[i];
+ int hit_comment = FALSE;
+ for (int j = 0; j < N_COMMENT_TYPE; j++) {
+ const char* const prefix = FRAMEHOOK_OPT_DATA[j];
+ const int prefix_len = strlen(prefix);
+ SETTING_COMMENT* const comset = &setting->comment[j];
+ if (!comset->path && strncmp(prefix, arg, prefix_len)) {
+ const char* data = arg + prefix_len;
+ comset->path = data;
+ comset->enable = TRUE;
+ fprintf(log, "[framehook/init]Comment data[%d] path:%s\n",
+ j, comset->path);
+ fflush(log);
+ hit_comment = TRUE;
+ break;
+ }
+ }
+ if (hit_comment) {
+ continue;
+ }
+
+ if(!setting->font_path && strncmp(FRAMEHOOK_OPT_FONT,arg,FRAMEHOOK_OPT_FONT_LEN) == 0){
char* font = arg+FRAMEHOOK_OPT_FONT_LEN;
setting->font_path = font;
fprintf(log,"[framehook/init]Font path:%s\n",setting->font_path);
fputs("[framehook/init]enable opaque comment.\n",log);
fflush(log);
setting->opaque_comment=TRUE;
- }
- }
- //引数を正しく入力したか否かのチェック
+ } else if (strncmp(FRAMEHOOK_OPT_ASPECT_MODE, arg, FRAMEHOOK_OPT_ASPECT_MODE_LEN) == 0) {
+ setting->aspect_mode = MAX(0, atoi(arg + FRAMEHOOK_OPT_ASPECT_MODE_LEN));
+ fprintf(log, "[framehook/init]aspect mode:%d\n", setting->aspect_mode);
+ fflush(log);
+ }
+ }
+ //引数を正しく入力したか否かのチェック
//ここでチェックしているの以外は、デフォルト設定で逃げる。
if(!setting->font_path){
fputs("[framehook/init]please set FONT PATH.\n",log);