OSDN Git Service

Panasonic機のドライブモードを解析するようにする。
authorMRSa <mrsa@myad.jp>
Sun, 10 Apr 2022 13:37:08 +0000 (22:37 +0900)
committerMRSa <mrsa@myad.jp>
Sun, 10 Apr 2022 13:37:08 +0000 (22:37 +0900)
app/build.gradle
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/panasonic/status/CameraStatusConvert.kt

index 2c430bc..1e6fcd4 100644 (file)
@@ -8,8 +8,8 @@ android {
         applicationId "jp.osdn.gokigen.mangle"
         minSdkVersion 21
         targetSdkVersion 32
-        versionCode 1006001
-        versionName "1.6.1"
+        versionCode 1006002
+        versionName "1.6.2"
         //testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
 
@@ -39,12 +39,12 @@ dependencies {
     implementation 'androidx.preference:preference-ktx:1.2.0'
     implementation 'com.google.android.material:material:1.5.0'
 
-    def camerax_version = "1.1.0-beta02"
+    def camerax_version = "1.1.0-beta03"
     implementation "androidx.camera:camera-core:$camerax_version"
     implementation "androidx.camera:camera-camera2:$camerax_version"
     implementation "androidx.camera:camera-lifecycle:$camerax_version"
 
-    def camerax_view_version = "1.1.0-beta02"
+    def camerax_view_version = "1.1.0-beta03"
     implementation "androidx.camera:camera-extensions:$camerax_view_version"
     implementation "androidx.camera:camera-view:$camerax_view_version"
 
index 8eec4bc..06ce1fd 100644 (file)
@@ -53,6 +53,7 @@ class CameraStatusConvert(private val statusHolder: CameraStatusHolder, remote:
             ICameraStatus.EFFECT -> getPictureEffect()
             ICameraStatus.BATTERY -> getRemainBattery()
             ICameraStatus.TORCH_MODE -> getTorchMode()
+            ICameraStatus.FOCUS_STATUS -> getDriveMode()
             else -> ""
         })
     }
@@ -672,6 +673,47 @@ class CameraStatusConvert(private val statusHolder: CameraStatusHolder, remote:
         return (bracketStatus)
     }
 
+    private fun getDriveMode() : String
+    {
+        // ドライブモード
+        var driveMode = ""
+        try
+        {
+            val index = 16 * 7 + 14
+            val value = (eventData?.get(index) ?: 0).toInt()
+            if (value != 0)
+            {
+                driveMode = when (value) {
+                    0x00 -> ""
+                    0x05 -> "SH"
+                    0x06 -> "H"
+                    0x07 -> "M"
+                    0x08 -> "S"
+                    0x0d -> "self Timer 10sec."
+                    0x0e -> "self Timer 10sec./3shot"
+                    0x0f -> "self Timer 2sec."
+                    0x1d -> "interval"
+                    0x29 -> "4K pre"
+                    0x2a -> "4K"
+                    0x2b -> "4K s/s"
+
+                    0x33 -> "6K"
+                    0x34 -> "6K s/s"
+                    0x44 -> "SH2"
+                    0x45 -> "SH1"
+                    0x46 -> "SH2 PRE"
+                    0x47 -> "SH1 PRE"
+                    else -> "($value)"
+                }
+            }
+        }
+        catch (e : Exception)
+        {
+            e.printStackTrace()
+        }
+        return (driveMode)
+    }
+
     private fun getRemainBattery() : String
     {
         try