aboutsummaryrefslogtreecommitdiff
path: root/pd/portaudio_v18/pa_asio/readme_asio_sdk_patch.txt
diff options
context:
space:
mode:
Diffstat (limited to 'pd/portaudio_v18/pa_asio/readme_asio_sdk_patch.txt')
-rw-r--r--pd/portaudio_v18/pa_asio/readme_asio_sdk_patch.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/pd/portaudio_v18/pa_asio/readme_asio_sdk_patch.txt b/pd/portaudio_v18/pa_asio/readme_asio_sdk_patch.txt
new file mode 100644
index 00000000..c0fdca7f
--- /dev/null
+++ b/pd/portaudio_v18/pa_asio/readme_asio_sdk_patch.txt
@@ -0,0 +1,25 @@
+There is a bug in the ASIO SDK that causes the Macintosh version to often fail during initialization. Here is a patch that you can apply.
+
+In codefragments.cpp replace getFrontProcessDirectory function with
+the following one (GetFrontProcess replaced by GetCurrentProcess)
+
+
+bool CodeFragments::getFrontProcessDirectory(void *specs)
+{
+ FSSpec *fss = (FSSpec *)specs;
+ ProcessInfoRec pif;
+ ProcessSerialNumber psn;
+
+ memset(&psn,0,(long)sizeof(ProcessSerialNumber));
+ // if(GetFrontProcess(&psn) == noErr) // wrong !!!
+ if(GetCurrentProcess(&psn) == noErr) // correct !!!
+ {
+ pif.processName = 0;
+ pif.processAppSpec = fss;
+ pif.processInfoLength = sizeof(ProcessInfoRec);
+ if(GetProcessInformation(&psn, &pif) == noErr)
+ return true;
+ }
+ return false;
+}
+