OSDN Git Service

操作パネルのTheta用操作の追加。これでいちおう完成。
authorMRSa <mrsa@myad.jp>
Wed, 4 Aug 2021 13:18:36 +0000 (22:18 +0900)
committerMRSa <mrsa@myad.jp>
Wed, 4 Aug 2021 13:18:36 +0000 (22:18 +0900)
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/theta/status/ThetaCameraStatusListHolder.kt
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/theta/status/ThetaCameraStatusWatcher.kt

index 4974a2d..f673bbb 100644 (file)
@@ -1,13 +1,18 @@
 package jp.osdn.gokigen.gokigenassets.camera.theta.status
 
-import jp.osdn.gokigen.gokigenassets.camera.theta.operation.ThetaOptionGetControl
+import android.util.Log
 import jp.osdn.gokigen.gokigenassets.camera.theta.operation.ThetaOptionSetControl
 
 class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionIdProvider, executeUrl : String = "http://192.168.1.1")
 {
-    private val optionGet = ThetaOptionGetControl(sessionIdProvider, executeUrl)
+    //private val optionGet = ThetaOptionGetControl(sessionIdProvider, executeUrl)
     private val optionSet = ThetaOptionSetControl(sessionIdProvider, executeUrl)
 
+    companion object
+    {
+        private val TAG = ThetaCameraStatusListHolder::class.java.simpleName
+    }
+
     fun getAvailableTakeModeList(): List<String?>
     {
         return (listOf("Manual", "Normal", "Aperture", "Shutter", "ISO"))
@@ -80,12 +85,12 @@ class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionId
 
     fun getAvailableApertureList(): List<String?>
     {
-        return (ArrayList())
+        return (listOf("2.0", "0", "2.1", "3.5", "5.6"))
     }
 
     fun getAvailableExpRevList(): List<String?>
     {
-        return (ArrayList())
+        return (listOf("-2.0", "-1.7", "-1.3", "-1.0", "-0.7", "-0.3", "0.0", "0.3", "0.7", "1.0", "1.3", "1.7", "2.0"))
     }
 
     fun getAvailableCaptureModeStringList(): List<String?>
@@ -110,7 +115,7 @@ class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionId
 
     fun getAvailablePictureEffectList(): List<String?>
     {
-        return (ArrayList())
+        return (listOf("off", "DR Comp", "Noise Reduction", "hdr", "Hh hdr"))
     }
 
     fun setTakeMode(value: String)
@@ -212,12 +217,12 @@ class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionId
         }
     }
 
-
     fun setAperture(value: String)
     {
         try
         {
-
+            val useOSCv2 = sessionIdProvider.sessionId.isEmpty()
+            optionSet.setOptions(" \"aperture\": $value", useOSCv2)
         }
         catch (e: Exception)
         {
@@ -225,13 +230,12 @@ class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionId
         }
     }
 
-
-
     fun setExpRev(value: String)
     {
         try
         {
-
+            val useOSCv2 = sessionIdProvider.sessionId.isEmpty()
+            optionSet.setOptions(" \"exposureCompensation\": $value", useOSCv2)
         }
         catch (e: Exception)
         {
@@ -239,7 +243,6 @@ class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionId
         }
     }
 
-
     fun setCaptureMode(value: String)
     {
         try
@@ -285,7 +288,7 @@ class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionId
     {
         try
         {
-
+            Log.v(TAG, " setMeteringMode($value)")
         }
         catch (e: Exception)
         {
@@ -297,12 +300,12 @@ class ThetaCameraStatusListHolder(private val sessionIdProvider: IThetaSessionId
     {
         try
         {
-
+            val useOSCv2 = sessionIdProvider.sessionId.isEmpty()
+            optionSet.setOptions(" \"_filter\": \"$value\"", useOSCv2)
         }
         catch (e: Exception)
         {
             e.printStackTrace()
         }
     }
-
-}
\ No newline at end of file
+}
index f0bab5e..b3517c2 100644 (file)
@@ -434,24 +434,6 @@ class ThetaCameraStatusWatcher(private val sessionIdProvider: IThetaSessionIdPro
         whileFetching = false
     }
 
-    companion object
-    {
-        private val TAG = ThetaCameraStatusWatcher::class.java.simpleName
-        private const val timeoutMs = 3300
-        private const val loopWaitMs : Long = 400
-
-        private const val THETA_BATTERY_LEVEL = "batteryLevel"
-        private const val THETA_CAPTURE_STATUS = "_captureStatus"
-
-        private const val THETA_APERTURE = "aperture"
-        private const val THETA_CAPTURE_MODE = "captureMode"
-        private const val THETA_EXPOSURE_COMPENSATION = "exposureCompensation"
-        private const val THETA_EXPOSURE_PROGRAM = "exposureProgram"
-        private const val THETA_ISO_SENSITIVITY = "iso"
-        private const val THETA_SHUTTER_SPEED = "shutterSpeed"
-        private const val THETA_WHITE_BALANCE = "whiteBalance"
-        private const val THETA_FILTER = "_filter"
-    }
 
     override var captureMode: String
         get() = currentCaptureMode
@@ -649,4 +631,23 @@ class ThetaCameraStatusWatcher(private val sessionIdProvider: IThetaSessionIdPro
         }
         return (color)
     }
+
+    companion object
+    {
+        private val TAG = ThetaCameraStatusWatcher::class.java.simpleName
+        private const val timeoutMs = 3300
+        private const val loopWaitMs : Long = 400
+
+        private const val THETA_BATTERY_LEVEL = "batteryLevel"
+        private const val THETA_CAPTURE_STATUS = "_captureStatus"
+
+        private const val THETA_APERTURE = "aperture"
+        private const val THETA_CAPTURE_MODE = "captureMode"
+        private const val THETA_EXPOSURE_COMPENSATION = "exposureCompensation"
+        private const val THETA_EXPOSURE_PROGRAM = "exposureProgram"
+        private const val THETA_ISO_SENSITIVITY = "iso"
+        private const val THETA_SHUTTER_SPEED = "shutterSpeed"
+        private const val THETA_WHITE_BALANCE = "whiteBalance"
+        private const val THETA_FILTER = "_filter"
+    }
 }