OSDN Git Service

インターバル撮影機能を入れる。
authorMRSa <mrsa@myad.jp>
Wed, 19 Jul 2017 15:27:51 +0000 (00:27 +0900)
committerMRSa <mrsa@myad.jp>
Wed, 19 Jul 2017 15:27:51 +0000 (00:27 +0900)
wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/OlyCameraCoordinator.java
wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/dispatcher/FeatureDispatcher.java
wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/dispatcher/ICameraFeatureDispatcher.java
wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/takepicture/BracketingShotControl.java
wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/takepicture/IBracketingShotStyle.java [new file with mode: 0644]

index 805b2e6..8a3a785 100644 (file)
@@ -229,7 +229,7 @@ public class OlyCameraCoordinator implements IOlyCameraCoordinator, IIndicatorCo
     @Override
     public void bracketingShot(int bracketingStyle, int bracketingCount, int durationSeconds)
     {
-        bracketingShot.startShootBracketing(bracketingStyle, bracketingCount, durationSeconds);
+        bracketingShot.bracketingShot(bracketingStyle, bracketingCount, durationSeconds);
     }
 
     /**
index 9a64d6d..29895ed 100644 (file)
@@ -9,6 +9,8 @@ import jp.sfjp.gokigen.a01c.liveview.ILiveImageStatusNotify;
 import jp.sfjp.gokigen.a01c.olycamerawrapper.IOlyCameraCoordinator;
 import jp.sfjp.gokigen.a01c.olycamerawrapper.property.IOlyCameraProperty;
 import jp.sfjp.gokigen.a01c.olycamerawrapper.property.IOlyCameraPropertyProvider;
+import jp.sfjp.gokigen.a01c.olycamerawrapper.takepicture.BracketingShotControl;
+import jp.sfjp.gokigen.a01c.olycamerawrapper.takepicture.IBracketingShotStyle;
 
 
 /**
@@ -182,6 +184,16 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
                 // AE(測光方式)を選択
                 changeAEMode(-1);
                 break;
+
+            case FEATURE_SHOT_INTERVAL_3SEC:
+                // 3秒待ってから1枚撮影する
+                intervalOneShot(3);
+                break;
+
+            case FEATURE_SHOT_INTERVAL_10SEC:
+                // 10秒待ってから1枚撮影する
+                intervalOneShot(10);
+                break;
             default:
                 // 上記以外...なにもしない
                 duration =IShowInformation.VIBRATE_PATTERN_NONE;
@@ -650,6 +662,16 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
     }
 
     /**
+     *   インターバル撮影(1枚)を行う
+     *
+     * @param waitSeconds  撮影待ち時間(単位:秒)
+     */
+    private void intervalOneShot(int waitSeconds)
+    {
+        camera.bracketingShot(IBracketingShotStyle.BRACKET_NONE, 1, waitSeconds);
+    }
+
+    /**
      *   設定画面を開く
      *
      */
index 17dec4e..45f1986 100644 (file)
@@ -89,7 +89,8 @@ public interface ICameraFeatureDispatcher
     int FEATURE_CHANGE_AF_MF = 31;
     int FEATURE_CHANGE_AE = 32;
     int FEATURE_CHANGE_AE_REVERSE = 33;
-
+    int FEATURE_SHOT_INTERVAL_3SEC = 34;
+    int FEATURE_SHOT_INTERVAL_10SEC = 35;
 
     // エリアタッチ時の機能(featureNumber)
     int FEATURE_AREA_ACTION_NONE = 100;
index 08f313d..5bf3e18 100644 (file)
@@ -29,14 +29,6 @@ public class BracketingShotControl implements OLYCamera.TakePictureCallback
     private static final int BRACKETING_INTERVAL_MILLISECOND = 300; // 撮影待ち時間(ms)
     private static final int BRACKETING_PROPERTY_VALUE_SET_RETRY = 10;
 
-    private static final int BRACKET_NONE = 0;       // 通常のショット
-    private static final int BRACKET_EXPREV = 1;     // 露出補正
-    private static final int BRACKET_APERTURE = 2;   // 絞り
-    private static final int BRACKET_ISO = 3;         // ISO
-    private static final int BRACKET_SHUTTER = 4;    // シャッター
-    private static final int BRACKET_WB = 5;          // ホワイトバランス
-    private static final int BRACKET_COLOR_TONE = 6; // カラートーン
-
     private final OLYCamera camera;
     private final IAutoFocusFrameDisplay autoFocusFrame;
     private final IShowInformation statusDrawer;
@@ -112,39 +104,39 @@ public class BracketingShotControl implements OLYCamera.TakePictureCallback
     {
         switch (isBracketing)
         {
-            case BRACKET_EXPREV:
+            case IBracketingShotStyle.BRACKET_EXPREV:
                 // 露出ブラケット
                 targetPropertyName = IOlyCameraProperty.EXPOSURE_COMPENSATION;
                 break;
 
-            case BRACKET_APERTURE:
+            case IBracketingShotStyle.BRACKET_APERTURE:
                 // 絞り値設定
                 targetPropertyName = IOlyCameraProperty.APERTURE;
                 break;
 
-            case BRACKET_ISO:
+            case IBracketingShotStyle.BRACKET_ISO:
                 // ISO
                 targetPropertyName = IOlyCameraProperty.ISO_SENSITIVITY;
                 break;
 
-            case BRACKET_SHUTTER:
+            case IBracketingShotStyle.BRACKET_SHUTTER:
                 // シャッターブラケット
                 targetPropertyName = IOlyCameraProperty.SHUTTER_SPEED;
                 break;
 
-            case BRACKET_WB:
+            case IBracketingShotStyle.BRACKET_WB:
                 // ホワイトバランスブラケット
                 targetPropertyName = IOlyCameraProperty.WB_MODE;
                 bracketCount = -1;
                 break;
 
-            case BRACKET_COLOR_TONE:
+            case IBracketingShotStyle.BRACKET_COLOR_TONE:
                 // ピクチャーモードブラケット
                 targetPropertyName = IOlyCameraProperty.COLOR_TONE;
                 bracketCount = -1;
                 break;
 
-            case BRACKET_NONE:
+            case IBracketingShotStyle.BRACKET_NONE:
                 // パラメータは変更しないパターン...
                 targetPropertyName = "";
                 break;
@@ -164,7 +156,7 @@ public class BracketingShotControl implements OLYCamera.TakePictureCallback
      *    bracketingCount : 撮影枚数
      *    durationSeconds : 撮影間隔(単位:秒)
      */
-    public void startShootBracketing(int bracketingStyle, int bracketingCount, int durationSeconds)
+    public void bracketingShot(int bracketingStyle, int bracketingCount, int durationSeconds)
     {
         if ((camera.isTakingPicture())||(camera.isRecordingVideo())||(isBracketingAction))
         {
diff --git a/wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/takepicture/IBracketingShotStyle.java b/wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/takepicture/IBracketingShotStyle.java
new file mode 100644 (file)
index 0000000..14753a0
--- /dev/null
@@ -0,0 +1,17 @@
+package jp.sfjp.gokigen.a01c.olycamerawrapper.takepicture;
+
+/**
+ *   IBracketingShotStyle :  ブラケッティング撮影処理の種類
+ *
+ * Created by MRSa on 2017/07/20.
+ */
+public interface IBracketingShotStyle
+{
+    int BRACKET_NONE = 0;       // 通常のショット
+    int BRACKET_EXPREV = 1;     // 露出補正
+    int BRACKET_APERTURE = 2;   // 絞り
+    int BRACKET_ISO = 3;         // ISO
+    int BRACKET_SHUTTER = 4;    // シャッター
+    int BRACKET_WB = 5;          // ホワイトバランス
+    int BRACKET_COLOR_TONE = 6; // カラートーン
+}