From f5f3fd0e6a917f1a6a171cd6e4c318855e53e66c Mon Sep 17 00:00:00 2001 From: Niall Moody <21282294+NiallMoody@users.noreply.github.com> Date: Fri, 3 Aug 2018 09:33:25 +0100 Subject: [PATCH] Moved call to libpd_add_to_search_path() to after libpd_init(). --- Assets/Scripts/LibPdInstance.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Assets/Scripts/LibPdInstance.cs b/Assets/Scripts/LibPdInstance.cs index b915a40..2dafca4 100644 --- a/Assets/Scripts/LibPdInstance.cs +++ b/Assets/Scripts/LibPdInstance.cs @@ -117,6 +117,12 @@ public class LibPdInstance : MonoBehaviour { [DllImport("libpd")] private static extern int libpd_init(); + [DllImport("libpd")] + private static extern void libpd_clear_search_path(); + + [DllImport("libpd")] + private static extern void libpd_add_to_search_path([In] [MarshalAs(UnmanagedType.LPStr)] string s); + [DllImport("libpd")] private static extern IntPtr libpd_new_instance(); @@ -537,6 +543,12 @@ public class LibPdInstance : MonoBehaviour { } pdInitialised = true; + // Try and add the patch directory to libpd's search path for + // loading externals (still can't seem to load externals when + // running in Unity though). + if(patchDir != String.Empty) + libpd_add_to_search_path(Application.dataPath + patchDir); + // Make sure our static pipePrintToConsole variable is set // correctly. pipePrintToConsoleStatic = pipePrintToConsole;