OSDN Git Service

d6c56e4202ab7d823a3e1a560b2bfcb5782f2ed3
[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  * \8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ\82É\8aÖ\82·\82é\90Ý\92è.
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 \95Ï\8a·\8f\88\97\9d\82ð\8ds\82¤\82Ì\82Å\82 \82ê\82Îtrue.
27      * @param cutIdName \8fo\97Í\96¼\82É\93®\89æID\82ð\82Â\82¯\82È\82¢\82Ì\82Å\82 \82ê\82Îtrue. autoNaming\82ªtrue\82Ì\8fê\8d\87\82É\97p\82¢\82ç\82ê\82é.
28      * @param addComment \95Ï\8a·\8f\88\97\9d\8e\9e\83R\83\81\83\93\83g\82ð\95t\89Á\82·\82é\82Ì\82Å\82 \82ê\82Îtrue.
29      * @param addTcomment \95Ï\8a·\8f\88\97\9d\8e\9e\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\95t\89Á\82·\82é\82Ì\82Å\82 \82ê\82Î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 }