OSDN Git Service

測光モードや、ISO感度、ホワイトバランスの変更などの機能(だけ)を搭載。
authorMRSa <mrsa@myad.jp>
Sun, 16 Apr 2017 13:16:51 +0000 (22:16 +0900)
committerMRSa <mrsa@myad.jp>
Sun, 16 Apr 2017 13:16:51 +0000 (22:16 +0900)
wear/src/main/java/jp/sfjp/gokigen/a01c/liveview/FeatureDispatcher.java
wear/src/main/java/jp/sfjp/gokigen/a01c/liveview/ICameraFeatureDispatcher.java
wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/IOlyCameraCoordinator.java
wear/src/main/java/jp/sfjp/gokigen/a01c/olycamerawrapper/IOlyCameraProperty.java

index 623a6b6..dc5c0bf 100644 (file)
@@ -121,6 +121,62 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
                 // 動画の撮影・撮影終了
                 movieControl();
                 break;
+            case ICameraFeatureDispatcher.FEATURE_AE_DOWN:
+                // AE(測光方式)を選択
+                changeAEModeDown();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_AE_UP:
+                // AE(測光方式)を選択
+                changeAEModeUp();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_ISO_DOWN:
+                // ISO感度を選択
+                changeIsoSensitivityDown();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_ISO_UP:
+                // ISO感度を選択
+                changeIsoSensitivityUp();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_WB_DOWN:
+                // ホワイトバランスを選択
+                changeWhiteBalanceDown();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_WB_UP:
+                // ホワイトバランスを選択
+                changeWhiteBalanceUp();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_QUALITY_MOVIE_DOWN:
+                // 動画撮影クオリティを選択
+                changeMovieQualityModeDown();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_QUALITY_MOVIE_UP:
+                // 動画撮影クオリティを選択
+                changeMovieQualityModeUp();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_SHORT_MOVIE_RECORD_TIME_DOWN:
+                // ショートムービー時の撮影時間を選択
+                changeShortMovieRecordLengthDown();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_SHORT_MOVIE_RECORD_TIME_UP:
+                // ショートムービー時の撮影時間を選択
+                changeShortMovieRecordLengthUp();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_EXPOSE_MOVIE_SELECT_DOWN:
+                // 動画の撮影モードを選択
+                changeMovieTakeModeDown();
+                break;
+            case ICameraFeatureDispatcher.FEATURE_EXPOSE_MOVIE_SELECT_UP:
+                // 動画の撮影モードを選択
+                changeMovieTakeModeUp();
+                break;
+            case FEATURE_CHANGE_AF_MF:
+                // AF/MFの切り替えを行う
+                toggleAfMf();
+                break;
+            default:
+                // 上記以外...なにもしない
+                duration =IShowInformation.VIBRATE_PATTERN_NONE;
+                break;
         }
 
         // コマンド実行完了後、ぶるぶるさせる
@@ -163,7 +219,6 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
         return (ret);
     }
 
-
     /**
      *   撮影モードの取得
      *
@@ -175,7 +230,6 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
         return (propertyProxy.getCameraPropertyValueTitle(propertyProxy.getCameraPropertyValue(IOlyCameraProperty.TAKE_MODE)));
     }
 
-
     /**
      *   撮影モードの変更指示
      *   (P > A > S > M > ART > movie > iAuto > ...)
@@ -229,7 +283,6 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
         //camera.updateTakeMode();
     }
 
-
     /**
      *   撮影モードの変更指示
      *   (iAuto < P < A < S < M < ART < movie < iAuto < ...)
@@ -301,6 +354,14 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
     }
 
     /**
+     *   AF/MFの切り替えを行う
+     */
+    private void toggleAfMf()
+    {
+        camera.toggleManualFocus();
+    }
+
+    /**
      *   グリッド表示の ON/OFFを切り替える
      *
      */
@@ -445,6 +506,133 @@ public class FeatureDispatcher implements ICameraFeatureDispatcher
         propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.ART_FILTER);
     }
 
+
+    /**
+     *   測光方式を1段階さげる
+     *
+     */
+    private void changeAEModeDown()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.AE_MODE);
+    }
+
+    /**
+     *   測光方式を1段階あげる
+     *
+     */
+    private void changeAEModeUp()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.AE_MODE);
+    }
+
+
+    /**
+     *   ISO感度を1段階さげる
+     *
+     */
+    private void changeIsoSensitivityDown()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.ISO_SENSITIVITY);
+    }
+
+    /**
+     *   ISO感度を1段階あげる
+     *
+     */
+    private void changeIsoSensitivityUp()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.ISO_SENSITIVITY);
+    }
+
+
+    /**
+     *   ホワイトバランスを1段階さげる
+     *
+     */
+    private void changeWhiteBalanceDown()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.WB_MODE);
+    }
+
+    /**
+     *   ホワイトバランスを1段階あげる
+     *
+     */
+    private void changeWhiteBalanceUp()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.WB_MODE);
+    }
+
+
+
+    /**
+     *   動画撮影モードを1段階さげる
+     *
+     */
+    private void changeMovieQualityModeDown()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.QUALITY_MOVIE);
+    }
+
+    /**
+     *    動画撮影モードを1段階あげる
+     *
+     */
+    private void changeMovieQualityModeUp()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.QUALITY_MOVIE);
+    }
+
+
+    /**
+     *   動画撮影モードがショートムービーのときの撮影時間を1段階さげる
+     *
+     */
+    private void changeShortMovieRecordLengthDown()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.SHORT_MOVIE_RECORD_TIME);
+    }
+
+    /**
+     *    動画撮影モードがショートムービーのときの撮影時間を1段階あげる
+     *
+     */
+    private void changeShortMovieRecordLengthUp()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.SHORT_MOVIE_RECORD_TIME);
+    }
+
+
+    /**
+     *   動画撮影モードを1段階さげる
+     *
+     */
+    private void changeMovieTakeModeDown()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.TAKE_MODE_MOVIE);
+    }
+
+    /**
+     *    動画撮影モードを1段階あげる
+     *
+     */
+    private void changeMovieTakeModeUp()
+    {
+        IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+        propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.TAKE_MODE_MOVIE);
+    }
+
     /**
      *   設定画面を開く
      *
index 8628088..d422c8e 100644 (file)
@@ -73,6 +73,20 @@ interface ICameraFeatureDispatcher
     int FEATURE_TOGGLE_SHOW_LEVEL_GAUGE = 16;
     int FEATURE_CHANGE_TAKEMODE_REVERSE = 17;
     int FEATURE_CONTROL_MOVIE = 18;
+    int FEATURE_AE_DOWN = 19;
+    int FEATURE_AE_UP = 20;
+    int FEATURE_ISO_DOWN = 21;
+    int FEATURE_ISO_UP = 22;
+    int FEATURE_WB_DOWN = 23;
+    int FEATURE_WB_UP = 24;
+    int FEATURE_QUALITY_MOVIE_DOWN = 25;
+    int FEATURE_QUALITY_MOVIE_UP = 26;
+    int FEATURE_SHORT_MOVIE_RECORD_TIME_DOWN = 27;
+    int FEATURE_SHORT_MOVIE_RECORD_TIME_UP = 28;
+    int FEATURE_EXPOSE_MOVIE_SELECT_DOWN = 29;
+    int FEATURE_EXPOSE_MOVIE_SELECT_UP = 30;
+    int FEATURE_CHANGE_AF_MF = 31;
+
 
     // エリアタッチ時の機能(featureNumber)
     int FEATURE_AREA_ACTION_NONE = 100;
index 81bc6ac..caf3f88 100644 (file)
@@ -63,10 +63,6 @@ public interface IOlyCameraCoordinator
 
     IOlyCameraConnection getConnectionInterface();
 
-
-    /** デジタル水準器のチェック状態を更新する **/
-    //void updateLevelGaugeChecking();
-
     // デジタル水準器のホルダーを取得する
     ILevelGauge getLevelGauge();
 }
index 72b1e1e..b0c7977 100644 (file)
@@ -1,7 +1,7 @@
 package jp.sfjp.gokigen.a01c.olycamerawrapper;
 
 /**
- *   使用するカメラプロパティのキー一覧
+ *   使用する(かもしれない)カメラプロパティのキー一覧
  *
  *
  */
@@ -17,22 +17,44 @@ public interface IOlyCameraProperty
 
     String ISO_SENSITIVITY = "ISO";
 
+    String QUALITY_MOVIE = "QUALITY_MOVIE";
+    String SHORT_MOVIE_RECORD_TIME = "QUALITY_MOVIE_SHORT_MOVIE_RECORD_TIME";
+    String TAKE_MODE_MOVIE = "EXPOSE_MOVIE_SELECT";
 
+    String EXPOSURE_COMPENSATION = "EXPREV";
+    String SHUTTER_SPEED = "SHUTTER";
+    String APERTURE ="APERTURE";
 
-     String EXPOSURE_COMPENSATION = "EXPREV";
-     String SHUTTER_SPEED = "SHUTTER";
-     String APERTURE ="APERTURE";
+    String SOUND_VOLUME_LEVEL = "SOUND_VOLUME_LEVEL";
+    String RAW = "RAW";
+    String TAKE_DRIVE = "TAKE_DRIVE";
+    String CONTINUOUS_SHOOTING_VELOCITY = "CONTINUOUS_SHOOTING_VELOCITY";
 
-     String SOUND_VOLUME_LEVEL = "SOUND_VOLUME_LEVEL";
-     String RAW = "RAW";
+    String COLOR_PHASE = "COLOR_PHASE";
+    String COLOR_CREATOR_COLOR = "COLOR_CREATOR_COLOR";
+    String COLOR_CREATOR_VIVID = "COLOR_CREATOR_VIVID";
 
+    String TONE_CONTROL_LOW = "TONE_CONTROL_LOW";
+    String TONE_CONTROL_MIDDLE = "TONE_CONTROL_MIDDLE";
+    String TONE_CONTROL_HIGH = "TONE_CONTROL_HIGH";
 
-     String FOCUS_STILL = "FOCUS_STILL";
+    String MONOTONEFILTER_MONOCHROME = "MONOTONEFILTER_MONOCHROME";
+    String MONOTONEFILTER_ROUGH_MONOCHROME = "MONOTONEFILTER_ROUGH_MONOCHROME";
+    String MONOTONEFILTER_DRAMATIC_TONE = "MONOTONEFILTER_DRAMATIC_TONE";
 
-     String FOCUS_MF = "FOCUS_MF";
-     String FOCUS_SAF = "FOCUS_SAF";
+    String MONOTONECOLOR_MONOCHROME = "MONOTONECOLOR_MONOCHROME";
+    String MONOTONECOLOR_ROUGH_MONOCHROME = "MONOTONECOLOR_ROUGH_MONOCHROME";
+    String MONOTONECOLOR_DRAMATIC_TONE = "MONOTONECOLOR_DRAMATIC_TONE";
 
-     String REC_PREVIEW = "RECVIEW";
+    String FULL_TIME_AF = "FULL_TIME_AF";
+    String FOCUS_MOVIE = "FOCUS_MOVIE";
+
+    String FOCUS_STILL = "FOCUS_STILL";
+
+    String FOCUS_MF = "FOCUS_MF";
+    String FOCUS_SAF = "FOCUS_SAF";
+
+    String REC_PREVIEW = "RECVIEW";
 
     String COLOR_TONE = "COLORTONE";
     String ART_FILTER = "RECENTLY_ART_FILTER";