From: MRSa Date: Sun, 7 Mar 2021 09:33:56 +0000 (+0900) Subject: preferenceにプレビュー形式を設定できるようにする。その2。 X-Git-Url: http://git.osdn.net/view?p=gokigen%2FThetaView.git;a=commitdiff_plain;h=e5769fa991c7f192c95ce63d4039abe05f614a84 preferenceにプレビュー形式を設定できるようにする。その2。 --- diff --git a/app/src/main/java/jp/osdn/gokigen/thetaview/camera/theta/connection/ThetaCameraConnection.kt b/app/src/main/java/jp/osdn/gokigen/thetaview/camera/theta/connection/ThetaCameraConnection.kt index f08f816..56fd6e6 100644 --- a/app/src/main/java/jp/osdn/gokigen/thetaview/camera/theta/connection/ThetaCameraConnection.kt +++ b/app/src/main/java/jp/osdn/gokigen/thetaview/camera/theta/connection/ThetaCameraConnection.kt @@ -237,6 +237,14 @@ class ThetaCameraConnection(private val context: AppCompatActivity, private val { try { +/* + val optionGet = ThetaOptionGetControl(sessionIdProvider) + optionGet.getOptions("[\"previewFormat\", \"previewFormatSupport\"]", (sessionIdProvider.sessionId.isBlank()), + object : IOperationCallback { override fun operationExecuted(result: Int, resultStr: String?) + { + Log.v(TAG, " >>>>> optionGet.getOptions : $resultStr ") + }}) +*/ val optionSet = ThetaOptionSetControl(sessionIdProvider) optionSet.setOptions("\"captureMode\" : \"image\"", (sessionIdProvider.sessionId.isBlank()), object : IOperationCallback { override fun operationExecuted(result: Int, resultStr: String?) @@ -247,7 +255,7 @@ class ThetaCameraConnection(private val context: AppCompatActivity, private val optionSet.setOptions("\"previewFormat\" : $previewFormat", (sessionIdProvider.sessionId.isBlank()), object : IOperationCallback { override fun operationExecuted(result: Int, resultStr: String?) { - Log.v(TAG, " optionSet.setOptions(live view) : $resultStr ") + Log.v(TAG, " optionSet.setOptions(live view) : $resultStr ($previewFormat)") liveViewControl.startLiveView() }}) }}) diff --git a/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt b/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt index 7ac97e3..b1fcfa0 100644 --- a/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt +++ b/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt @@ -3,8 +3,10 @@ package jp.osdn.gokigen.thetaview.liveview.glrenderer import android.content.Context import android.opengl.GLUtils import android.util.Log +import androidx.preference.PreferenceManager import jp.osdn.gokigen.thetaview.R import jp.osdn.gokigen.thetaview.liveview.image.IImageProvider +import jp.osdn.gokigen.thetaview.preference.IPreferencePropertyAccessor import java.nio.ByteBuffer import java.nio.ByteOrder import java.nio.FloatBuffer @@ -13,7 +15,7 @@ import javax.microedition.khronos.opengles.GL10 import kotlin.math.cos import kotlin.math.sin -class EquirectangularDrawer(context: Context) : IGraphicsDrawer +class EquirectangularDrawer(private val context: Context) : IGraphicsDrawer { private lateinit var imageProvider : IImageProvider @@ -64,8 +66,35 @@ class EquirectangularDrawer(context: Context) : IGraphicsDrawer override fun prepareDrawer(gl: GL10?) { - Log.v(TAG, "prepareDrawer()") - mDroidTextureID = mGlUtils.prepareTexture(gl, R.drawable.sample) + try + { + val previewFormat = PreferenceManager.getDefaultSharedPreferences(context).getString(IPreferencePropertyAccessor.LIVEVIEW_RESOLUTION, IPreferencePropertyAccessor.LIVEVIEW_RESOLUTION_DEFAULT_VALUE) + if (previewFormat != null) + { + mDroidTextureID = when { + previewFormat.contains("width:1920") -> { + mGlUtils.prepareTexture(gl, R.drawable.sample2) + } + previewFormat.contains("width:1024") -> { + mGlUtils.prepareTexture(gl, R.drawable.sample1) + } + else -> { + mGlUtils.prepareTexture(gl, R.drawable.sample) + } + } + } + else + { + // 取得できなかった場合は、640x320 にする + mDroidTextureID = mGlUtils.prepareTexture(gl, R.drawable.sample) + } + Log.v(TAG, "prepareDrawer() : $mDroidTextureID : $previewFormat") + } + catch (e : Exception) + { + e.printStackTrace() + mDroidTextureID = mGlUtils.prepareTexture(gl, R.drawable.sample) + } } override fun preprocessDraw(gl: GL10?) diff --git a/app/src/main/res/drawable/sample1.jpg b/app/src/main/res/drawable/sample1.jpg new file mode 100644 index 0000000..112ebf4 Binary files /dev/null and b/app/src/main/res/drawable/sample1.jpg differ diff --git a/app/src/main/res/drawable/sample2.jpg b/app/src/main/res/drawable/sample2.jpg new file mode 100644 index 0000000..738fe93 Binary files /dev/null and b/app/src/main/res/drawable/sample2.jpg differ diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml new file mode 100644 index 0000000..6b38742 --- /dev/null +++ b/app/src/main/res/values-ja/strings.xml @@ -0,0 +1,78 @@ + + Theta Thought ShutterS + + AirA01a + 再描画 + 再描画完了 + + アプリの権限が許されていません。 + + OK + Cancel + + 撮影完了: + + デバッグログの共有 + デバッグログを共有します。 + + アプリ終了 + アプリケーションを終了します。 + + アプリ制御 + アプリ終了 + + WIFI設定 + + + アプリ設定 + ローカル領域に保存 + + カメラ設定 + ライブ画像を同時保存 + 撮影時にライブビュー画像を同時保存します + + EEG設定 + + GOKIGEN + 操作説明 + プライバシーポリシー + デバッグ情報 + LogCat情報 + + カメラプレビューの使用(要再起動) + + ライブビュー形式(要再起動) + + + 機器状態を画面に表示 + 機器の状態を画面表示します + + Mindwave Mobile(EEGヘッドセット)を使用する + EEGヘッドセットを使用する場合に設定してください + + 脳波シャッタータイプ + + + 脳波信号も画面表示 + 「状態を画面に表示」のチェック時、脳波信号も画面表示します + + 脳波信号をCSVファイルに出力 + 脳波信号をCSVファイルとしてDownloadフォルダに記録します + + 撮影しました! + + 開始 + WIFI確認中 + 接続 + 接続中… + 接続完了 + モード変更 + カメラ設定調整 + + Not Found… + カメラに接続できませんでした。 + + 接続失敗(THETA) + 再試行 + WiFi設定 + diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 36796b2..773d422 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -11,11 +11,11 @@ - {"width": 640, "height": 320, "framerate": 30} - {"width": 640, "height": 320, "framerate": 8} - {“width”: 1024, “height”: 512, “framerate”: 30} - {“width”: 1024, “height”: 512, “framerate”: 8} - {“width”: 1920, “height”: 960, “framerate”: 8} + {"framerate":30,"height":320,"width":640} + {"framerate":8,"height":320,"width":640} + {"framerate":30,"height":512,"width":1024} + {"framerate":8,"height":512,"width":1024} + {"framerate":8,"height":960,"width":1920} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7a3b761..c47aa05 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,7 +41,7 @@ Use Camera preview(need restart) - Liveview Format + Liveview Format(need restart) Show camera statuses @@ -57,7 +57,7 @@ Records EEG signals in a CSV file - + The file location is the Download folder. Captured! diff --git a/app/src/main/res/xml/preference_main.xml b/app/src/main/res/xml/preference_main.xml index 349c0a0..6744818 100644 --- a/app/src/main/res/xml/preference_main.xml +++ b/app/src/main/res/xml/preference_main.xml @@ -16,10 +16,9 @@ android:summary="@string/pref_summary_wifi_settings" /> - + + + + @@ -40,17 +48,6 @@ android:title="@string/pref_liveview_resolution" android:summary="@string/pref_summary_liveview_resolution" /> - - - - -