OSDN Git Service

変換動画デフォルト出力先をout/converted から out/_converted に変更
[coroid/inqubus.git] / frontend / src / saccubus / properties / OutputVideoSetting.java
1 /* $Id$ */
2 package saccubus.properties;
3
4 import java.io.File;
5 import java.util.Properties;
6
7 /**
8  * 出力コメント付き動画に関する設定.
9  * @author yuki
10  */
11 public class OutputVideoSetting extends ProcessFileSetting<Boolean> {
12
13     private static final String PROP_SAVE_CONVERTED = "SaveConvertedFile";
14     private static final String PROP_ADD_COMMENT = "AddComment";
15     private static final String PROP_ADD_TCOMMENT = "AddTcomment";
16     private static final String PROP_CONVERTED_FILE = "ConvertedFile";
17     private static final String PROP_NOT_ADD_VIDEOID_CONV = "NotAddVideoIDtoConverted";
18     private static final String PROP_CONV_FIX_FILE_NAME = "ConvFixFileName";
19     private static final String PROP_CONV_FIX_FILE_NAME_FOLDER = "ConvFixFileNameFolder";
20     private final boolean cutIdName;
21     private final boolean addComment;
22     private final boolean addTcomment;
23
24     /**
25      *
26      * @param processKind 変換処理を行うのであればtrue.
27      * @param cutIdName 出力名に動画IDをつけないのであればtrue. autoNamingがtrueの場合に用いられる.
28      * @param addComment 変換処理時, コメントを付加するのであればtrue.
29      * @param addTcomment 変換処理時, 投稿者コメントを付加するのであればtrue.
30      */
31     public OutputVideoSetting(boolean processKind, boolean autoNaming, File folder, File file, boolean cutIdName,
32             boolean addComment, boolean addTcomment) {
33         super(processKind, autoNaming, folder, file);
34         this.cutIdName = cutIdName;
35         this.addComment = addComment;
36         this.addTcomment = addTcomment;
37     }
38
39     @Override
40     public void save(Properties prop) {
41         prop.setProperty(PROP_SAVE_CONVERTED, Boolean.toString(getProcessKind()));
42         prop.setProperty(PROP_ADD_COMMENT, Boolean.toString(isAddComment()));
43         prop.setProperty(PROP_ADD_TCOMMENT, Boolean.toString(isAddTcomment()));
44         prop.setProperty(PROP_CONVERTED_FILE, getFile().getPath());
45         prop.setProperty(PROP_NOT_ADD_VIDEOID_CONV, Boolean.toString(isCutIdName()));
46         prop.setProperty(PROP_CONV_FIX_FILE_NAME, (new Boolean(isAutoNaming())).toString());
47         prop.setProperty(PROP_CONV_FIX_FILE_NAME_FOLDER, getFolder().getPath());
48
49
50     }
51
52     public static OutputVideoSetting load(Properties prop) {
53         boolean process = Boolean.parseBoolean(prop.getProperty(PROP_SAVE_CONVERTED, "true"));
54         boolean addComment = Boolean.valueOf(prop.getProperty(PROP_ADD_COMMENT, "true"));
55         boolean addTcomment = Boolean.valueOf(prop.getProperty(PROP_ADD_TCOMMENT, "true"));
56         String file = prop.getProperty(PROP_CONVERTED_FILE, "video.avi");
57         boolean cutId = Boolean.parseBoolean(prop.getProperty(PROP_NOT_ADD_VIDEOID_CONV, "false"));
58         boolean autoNaming = Boolean.parseBoolean(prop.getProperty(PROP_CONV_FIX_FILE_NAME, "true"));
59         String folder = prop.getProperty(PROP_CONV_FIX_FILE_NAME_FOLDER, "out/_converted");
60
61         return new OutputVideoSetting(process, autoNaming, new File(folder), new File(file), cutId, addComment,
62                 addTcomment);
63     }
64
65     public final boolean isCutIdName() {
66         return cutIdName;
67     }
68
69     public final boolean isAddComment() {
70         return addComment;
71     }
72
73     public final boolean isAddTcomment() {
74         return addTcomment;
75     }
76 }