/*以降オプション*/
//コメントを見せるか否か?
- 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->user_slot_max = 30;
- setting->owner_slot_max = 30;
setting->shadow_kind = 1;//デフォルトはニコニコ動画風
setting->show_video = FALSE;
setting->fontsize_fix=FALSE;
- setting->opaque_comment=FALSE;
+ setting->opaque_comment=OPAQUE_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);
setting->user_slot_max = MAX(0,atoi(arg+FRAMEHOOK_OPT_SHOW_USER_LEN));
fprintf(log,"[framehook/init]User Comments on screen:%d\n",setting->user_slot_max);
fflush(log);
- }else if(strncmp(FRAMEHOOK_OPT_SHOW_OWNER,arg,FRAMEHOOK_OPT_SHOW_OWNER_LEN) == 0){
- setting->owner_slot_max = MAX(0,atoi(arg+FRAMEHOOK_OPT_SHOW_OWNER_LEN));
- fprintf(log,"[framehook/init]Owner Comments on screen:%d\n",setting->owner_slot_max);
- fflush(log);
}else if(!setting->show_video && strcmp(arg,"--enable-show-video") == 0){
fputs("[framehook/init]show video while converting.\n",log);
fflush(log);
}else if(!setting->opaque_comment && strcmp(arg,"--enable-opaque-comment") == 0){
fputs("[framehook/init]enable opaque comment.\n",log);
fflush(log);
- setting->opaque_comment=TRUE;
+ setting->opaque_comment=OPAQUE_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);