From 6306ff8e785adbff2923cb478ff269c4e98803f1 Mon Sep 17 00:00:00 2001 From: Antoine Rousseau <_antoine_@metalu.net> Date: Tue, 13 Oct 2026 16:59:10 +0200 Subject: [PATCH 1/4] allow disabling oboe auto-reopen after device disconnect --- .../main/java/org/puredata/android/io/PdAudio.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/PdCore/pd-core/src/main/java/org/puredata/android/io/PdAudio.java b/PdCore/pd-core/src/main/java/org/puredata/android/io/PdAudio.java index 5d235c22..8c136c11 100644 --- a/PdCore/pd-core/src/main/java/org/puredata/android/io/PdAudio.java +++ b/PdCore/pd-core/src/main/java/org/puredata/android/io/PdAudio.java @@ -31,6 +31,7 @@ public class PdAudio { private static int inputDeviceId = -1; private static int outputDeviceId = -1; private static int bufferSizeInFrames = -1; + private static boolean autoReopen = true; private static final Handler handler = new Handler(Looper.getMainLooper()); private static final Runnable pollRunner = new Runnable() { @Override @@ -65,6 +66,7 @@ public synchronized static void initAudio(int sampleRate, int inChannels, int ou options.put("inputDeviceId", String.valueOf(inputDeviceId)); options.put("outputDeviceId", String.valueOf(outputDeviceId)); options.put("bufferSizeInFrames", String.valueOf(bufferSizeInFrames)); + options.put("autoReopen", String.valueOf(autoReopen ? 1 : 0)); if (PdBase.openAudio(inChannels, outChannels, sampleRate, options) != 0) { throw new IOException("unable to open Pd audio: " + sampleRate + ", " + inChannels + ", " + outChannels); } @@ -106,6 +108,15 @@ public synchronized static void setBufferSizeInFrames(int frames) { bufferSizeInFrames = frames; } + /** + * Enable the audio wrapper to reopen the default device when the current device has been disconnected + * + * @param reopen enable auto-reopening (true by default) + */ + public synchronized static void setAutoReopen(boolean reopen) { + autoReopen = reopen; + } + /** * Starts the audio components. * From b8acae3dadc4a5a5569c679c7adfe70ac563047d Mon Sep 17 00:00:00 2001 From: Antoine Rousseau <_antoine_@metalu.net> Date: Sun, 18 Oct 2026 14:51:39 +0200 Subject: [PATCH 2/4] update libpd and pure-data (0.57-test1) --- PdCore/pd-core/src/main/jni/libpd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PdCore/pd-core/src/main/jni/libpd b/PdCore/pd-core/src/main/jni/libpd index 3fc60ea7..e3cd52fd 160000 --- a/PdCore/pd-core/src/main/jni/libpd +++ b/PdCore/pd-core/src/main/jni/libpd @@ -1 +1 @@ -Subproject commit 3fc60ea70f5d6f27d0de1c2fa2c8b3a2b5ca82e6 +Subproject commit e3cd52fd751758f60030eb1270671b06e5043fb0 From a0dbda25f04fd7418de3852fbb09aa9b579ebefb Mon Sep 17 00:00:00 2001 From: Antoine Rousseau <_antoine_@metalu.net> Date: Sun, 18 Oct 2026 17:58:41 +0200 Subject: [PATCH 3/4] display Pd version in the PdTest's 'About Pure Data' dialog --- PdTest/src/org/puredata/android/test/PdTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PdTest/src/org/puredata/android/test/PdTest.java b/PdTest/src/org/puredata/android/test/PdTest.java index 2d83ccc2..0fe92e80 100644 --- a/PdTest/src/org/puredata/android/test/PdTest.java +++ b/PdTest/src/org/puredata/android/test/PdTest.java @@ -235,7 +235,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.about_item) { AlertDialog.Builder ad = new AlertDialog.Builder(this); ad.setTitle(R.string.about_title); - ad.setMessage(R.string.about_msg); + ad.setMessage(getString(R.string.about_msg) + "\n\nPure Data version is " + PdBase.versionString()); ad.setNeutralButton(android.R.string.ok, null); ad.setCancelable(true); ad.show(); From 7cd9a11d01d11b7aee0656990dab3da234654028 Mon Sep 17 00:00:00 2001 From: Antoine Rousseau <_antoine_@metalu.net> Date: Sun, 18 Oct 2026 18:00:19 +0200 Subject: [PATCH 4/4] bump version 1.4.3-SNAPSHOT --- PdCore/build.gradle | 2 +- README.md | 2 +- build.gradle | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PdCore/build.gradle b/PdCore/build.gradle index 7f0c7784..b08d8552 100644 --- a/PdCore/build.gradle +++ b/PdCore/build.gradle @@ -23,7 +23,7 @@ allprojects { // These are specific to PdCore, but nexusPublishing needs them here: // https://github.com/gradle-nexus/publish-plugin/issues/84 group = 'io.github.libpd.android' -version = '1.4.2-SNAPSHOT' +version = '1.4.3-SNAPSHOT' // Create a Sonatype user token for these environment variables: // export ORG_GRADLE_PROJECT_sonatypeUsername="" diff --git a/README.md b/README.md index 3635c6c8..7258e744 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ allprojects { ```gradle dependencies { - implementation 'io.github.libpd.android:pd-core:1.4.2-SNAPSHOT' + implementation 'io.github.libpd.android:pd-core:1.4.3-SNAPSHOT' } ``` diff --git a/build.gradle b/build.gradle index e483fd3a..080474fb 100644 --- a/build.gradle +++ b/build.gradle @@ -20,5 +20,5 @@ ext { compileSdk = 34 androidxLegacySupportVersion = '1.0.0' ndkVersion = libs.versions.ndk.get() - pdCoreVersion = '1.4.2-SNAPSHOT' // Must match version in PdCore/build.gradle + pdCoreVersion = '1.4.3-SNAPSHOT' // Must match version in PdCore/build.gradle }