OSDN Git Service

インターバル撮影機能を動作するようにする。
authorMRSa <mrsa@myad.jp>
Thu, 20 Jul 2017 15:46:51 +0000 (00:46 +0900)
committerMRSa <mrsa@myad.jp>
Thu, 20 Jul 2017 15:46:51 +0000 (00:46 +0900)
wear/src/main/java/jp/sfjp/gokigen/a01c/liveview/button/PushedButton6.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

index 989beb7..a636b8d 100644 (file)
@@ -21,7 +21,7 @@ class PushedButton6 implements IPushedButton
     @Override
     public boolean pushedButton(boolean isLongClick)
     {
-        int defaultAction = ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+        int defaultAction;// = ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
         String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON6;
         if (isLongClick)
         {
@@ -32,22 +32,27 @@ class PushedButton6 implements IPushedButton
         {
             case "P":
                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
+                defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_EXPOSURE : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
                 break;
 
             case "A":
                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
+                defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_APERATURE : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
                 break;
 
             case "S":
                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
+                defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_SHUTTER : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
                 break;
 
             case "M":
                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
+                defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_WB : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
                 break;
 
             case "ART":
                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
+                defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_ART_FILTER : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
                 break;
 
             case "Movie":
@@ -58,6 +63,8 @@ class PushedButton6 implements IPushedButton
             case "iAuto":
             default:
                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
+                defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_INTERVAL_5SEC : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+
                 break;
         }
         return (dispatcher.dispatchAction(IShowInformation.BUTTON_6, preferences.getInt(preference_action_id, defaultAction)));
index 29895ed..18d1ad6 100644 (file)
@@ -190,10 +190,51 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
                 intervalOneShot(3);
                 break;
 
+            case FEATURE_SHOT_INTERVAL_5SEC:
+                // 5秒待ってから1枚撮影する
+                intervalOneShot(5);
+                break;
+
             case FEATURE_SHOT_INTERVAL_10SEC:
                 // 10秒待ってから1枚撮影する
                 intervalOneShot(10);
                 break;
+            case FEATURE_SHOT_BRACKET_EXPOSURE:
+                // ブラケット撮影を行う
+                bracketingShot(IBracketingShotStyle.BRACKET_EXPREV, 5);
+                break;
+
+            case FEATURE_SHOT_BRACKET_APERATURE:
+                // ブラケット撮影を行う
+                bracketingShot(IBracketingShotStyle.BRACKET_APERTURE, 5);
+                break;
+
+            case FEATURE_SHOT_BRACKET_SHUTTER:
+                // ブラケット撮影を行う
+                bracketingShot(IBracketingShotStyle.BRACKET_SHUTTER, 5);
+                break;
+
+            case FEATURE_SHOT_BRACKET_COLORTONE:
+                // ブラケット撮影を行う
+                bracketingShot(IBracketingShotStyle.BRACKET_COLOR_TONE, 11);
+                break;
+
+            case FEATURE_SHOT_BRACKET_WB:
+                // ブラケット撮影を行う
+                bracketingShot(IBracketingShotStyle.BRACKET_WB, 7);
+                break;
+
+            case FEATURE_SHOT_BRACKET_ART_FILTER:
+                // ブラケット撮影を行う
+                bracketingShot(IBracketingShotStyle.BRACKET_ART_FILTER, 5);
+                break;
+
+            case FEATURE_SHOT_BRACKET_ISO:
+                // ブラケット撮影を行う
+                bracketingShot(IBracketingShotStyle.BRACKET_ISO, 3);
+                break;
+
+
             default:
                 // 上記以外...なにもしない
                 duration =IShowInformation.VIBRATE_PATTERN_NONE;
@@ -672,6 +713,17 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
     }
 
     /**
+     *   ブラケット撮影を行う
+     *
+     * @param style  撮影スタイル
+     * @param count  撮影枚数
+     */
+    private void bracketingShot(int style, int count)
+    {
+        camera.bracketingShot(style, count, 0);
+    }
+
+    /**
      *   設定画面を開く
      *
      */
index 45f1986..1fa6518 100644 (file)
@@ -90,7 +90,15 @@ public interface ICameraFeatureDispatcher
     int FEATURE_CHANGE_AE = 32;
     int FEATURE_CHANGE_AE_REVERSE = 33;
     int FEATURE_SHOT_INTERVAL_3SEC = 34;
-    int FEATURE_SHOT_INTERVAL_10SEC = 35;
+    int FEATURE_SHOT_INTERVAL_5SEC = 35;
+    int FEATURE_SHOT_INTERVAL_10SEC = 36;
+    int FEATURE_SHOT_BRACKET_EXPOSURE = 37;
+    int FEATURE_SHOT_BRACKET_APERATURE = 38;
+    int FEATURE_SHOT_BRACKET_SHUTTER = 39;
+    int FEATURE_SHOT_BRACKET_COLORTONE = 40;
+    int FEATURE_SHOT_BRACKET_WB = 41;
+    int FEATURE_SHOT_BRACKET_ART_FILTER = 42;
+    int FEATURE_SHOT_BRACKET_ISO = 43;
 
     // エリアタッチ時の機能(featureNumber)
     int FEATURE_AREA_ACTION_NONE = 100;
index 5bf3e18..ad54751 100644 (file)
@@ -141,6 +141,12 @@ public class BracketingShotControl implements OLYCamera.TakePictureCallback
                 targetPropertyName = "";
                 break;
 
+            case IBracketingShotStyle.BRACKET_ART_FILTER:
+                // アートフィルターブラケット
+                targetPropertyName = IOlyCameraProperty.ART_FILTER;
+                bracketCount = -1;
+                break;
+
             default:
                 // 何もしない
                 return (false);
index 14753a0..9403b3e 100644 (file)
@@ -14,4 +14,5 @@ public interface IBracketingShotStyle
     int BRACKET_SHUTTER = 4;    // シャッター
     int BRACKET_WB = 5;          // ホワイトバランス
     int BRACKET_COLOR_TONE = 6; // カラートーン
+    int BRACKET_ART_FILTER = 7; // アートフィルター
 }