OSDN Git Service

変換中動画表示の有無とdll使用有無のコンフィグ設定
authoryukihane <yukihane.feather@gmail.com>
Tue, 6 Sep 2011 09:38:36 +0000 (18:38 +0900)
committeryukihane <yukihane.feather@gmail.com>
Fri, 9 Sep 2011 11:44:14 +0000 (20:44 +0900)
frontend/src/yukihane/inqubus/config/Config.java
frontend/src/yukihane/inqubus/config/ConfigConvertProfile.java
frontend/src/yukihane/inqubus/gui/ConfigDialog.java

index d98f4c7..7e654e8 100644 (file)
@@ -419,6 +419,24 @@ public enum Config {
     public void setFfmpegKeepAspect(boolean s) {
         config.setProperty(FFMPEG_PARAM_KEEP_ASPECT, s);
     }
+    private static final String DISPLAY_CONVERTING = "convert.display_converting";
+
+    public boolean getFfmpegDisplayConverting() {
+        return config.getBoolean(DISPLAY_CONVERTING, true);
+    }
+
+    public void setFfmpegDisplayConverting(boolean s) {
+        config.setProperty(DISPLAY_CONVERTING, s);
+    }
+    private static final String DLL_DISABLE = "convert.dll_disabled";
+
+    public boolean getFfmpegDllDisabled() {
+        return config.getBoolean(DLL_DISABLE, false);
+    }
+
+    public void setFfmpegDllDisabled(boolean s) {
+        config.setProperty(DLL_DISABLE, s);
+    }
     private static final String NG_WORD = "ng.word";
 
     @SuppressWarnings("unchecked")
index d90580d..b94ea9d 100644 (file)
@@ -37,8 +37,7 @@ public abstract class ConfigConvertProfile implements ConvertProfile {
         this.ffmpegProfile = new ConfigFfmpegProfile();
         this.convert = p.getOutputEnable();
         this.ffmpeg = new File(p.getFfmpegPath());
-        // TODO コンフィグに設定なし
-        this.vhookDisabled = false;
+        this.vhookDisabled = p.getFfmpegDllDisabled();
         this.commentOverlay = p.getOutputCommentOverlay();
         this.vhook = new File(p.getFfmpegDllPath());
         this.tempDir = new File(p.getSystemTempDir());
@@ -47,8 +46,7 @@ public abstract class ConfigConvertProfile implements ConvertProfile {
         this.commentOpaque = p.getCommentOpaque();
         this.disableFontSizeArrange = p.getFontSizeArrangeDisable();
         this.shadowIndex = p.getFontShadow();
-        // TODO コンフィグに設定なし
-        this.showConverting = true;
+        this.showConverting = p.getFfmpegDisplayConverting();
         this.maxNumOfComment = (p.getCommentDisplaySizeDefault()) ? -1 : Integer.parseInt(p.getCommentDisplaySizeManual());
         this.ngSetting = new ConfigHideCondition();
 
index 5dfe7fb..4d8da7c 100644 (file)
@@ -492,7 +492,6 @@ public class ConfigDialog extends JDialog {
         btnFfmpegDllPath.addActionListener(
                 new FileChooseAction(ConfigDialog.this, JFileChooser.FILES_ONLY, fldFfmpegDllPath));
 
-
         GroupLayout gl_jPanel10 = new GroupLayout(pnlFfmpegBinPath);
         pnlFfmpegBinPath.setLayout(gl_jPanel10);
         gl_jPanel10.setHorizontalGroup(
@@ -529,17 +528,36 @@ public class ConfigDialog extends JDialog {
 
         pnlFfmpegParam.setBorder(BorderFactory.createTitledBorder("ffmpegパラメータ"));
 
+        // ffmpeg - その他
+        final JPanel pnlFffmpegEtc = new JPanel();
+        pnlFffmpegEtc.setBorder(BorderFactory.createTitledBorder("その他"));
+        final GroupLayout glFfmpegEtc = new GroupLayout(pnlFffmpegEtc);
+        glFfmpegEtc.setAutoCreateContainerGaps(true);
+        glFfmpegEtc.setAutoCreateGaps(true);
+        pnlFffmpegEtc.setLayout(glFfmpegEtc);
+
+        glFfmpegEtc.setHorizontalGroup(glFfmpegEtc.createParallelGroup()
+            .addComponent(cbDisplayConverting)
+            .addComponent(cbDllDisabled)
+        );
+        glFfmpegEtc.setVerticalGroup(glFfmpegEtc.createSequentialGroup()
+            .addComponent(cbDisplayConverting)
+            .addComponent(cbDllDisabled)
+        );
+
         final GroupLayout glFfmpeg = new GroupLayout(pnlFfmpeg);
         glFfmpeg.setAutoCreateContainerGaps(true);
         pnlFfmpeg.setLayout(glFfmpeg);
         glFfmpeg.setHorizontalGroup(glFfmpeg.createParallelGroup(GroupLayout.Alignment.LEADING)
             .addComponent(pnlFfmpegBinPath)
             .addComponent(pnlFfmpegParam)
+            .addComponent(pnlFffmpegEtc)
         );
         glFfmpeg.setVerticalGroup(glFfmpeg.createSequentialGroup()
             .addComponent(pnlFfmpegBinPath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
             .addPreferredGap(ComponentPlacement.RELATED)
             .addComponent(pnlFfmpegParam)
+            .addComponent(pnlFffmpegEtc)
         );
 
         tabbedPane.addTab("ffmpeg", pnlFfmpeg);
@@ -806,6 +824,9 @@ public class ConfigDialog extends JDialog {
     private final JTextField fldFfmpegDllPath;
     // ffmpeg - ffmpegパラメータ
     private final FfmpegParamPanel pnlFfmpegParam = new FfmpegParamPanel();
+    // ffmpeg - その他
+    private final JCheckBox cbDisplayConverting = new JCheckBox("変換中動画表示");
+    private final JCheckBox cbDllDisabled = new JCheckBox("拡張DLL無効化(デバッグ用)");
     // NG設定
     // NG設定 - NGワード
     private final NgRegisterPanel pnlNgWord = new NgRegisterPanel();
@@ -902,6 +923,12 @@ public class ConfigDialog extends JDialog {
         pnlFfmpegParam.init(p);
 
         /*
+         * ffmpeg - その他
+         */
+        cbDisplayConverting.setSelected(p.getFfmpegDisplayConverting());
+        cbDllDisabled.setSelected(p.getFfmpegDllDisabled());
+
+        /*
          * NG 設定
          */
         final List<String> ngWords = p.getNgWords();
@@ -1012,6 +1039,12 @@ public class ConfigDialog extends JDialog {
         p.setFfmpegKeepAspect(pnlFfmpegParam.cbFfmpegOptionKeepAspect.isSelected());
 
         /*
+         * ffmpeg - その他
+         */
+        p.setFfmpegDisplayConverting(cbDisplayConverting.isSelected());
+        p.setFfmpegDllDisabled(cbDllDisabled.isSelected());
+
+        /*
          * NG 設定
          */
         p.setNgWords(pnlNgWord.getAllElements());