Added thefuntastic's iOS support.
This commit is contained in:
parent
43104a159b
commit
e81e2436e7
3 changed files with 173 additions and 57 deletions
BIN
Assets/Plugins/libpd-ios-multi.a
Normal file
BIN
Assets/Plugins/libpd-ios-multi.a
Normal file
Binary file not shown.
94
Assets/Plugins/libpd-ios-multi.a.meta
Normal file
94
Assets/Plugins/libpd-ios-multi.a.meta
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 79130faa00f784a74a1f1bac51a176eb
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 1
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
'': Any
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
Exclude Editor: 1
|
||||||
|
Exclude Linux64: 1
|
||||||
|
Exclude OSXUniversal: 1
|
||||||
|
Exclude Win: 1
|
||||||
|
Exclude Win64: 1
|
||||||
|
Exclude iOS: 0
|
||||||
|
Exclude tvOS: 1
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
OS: AnyOS
|
||||||
|
- first:
|
||||||
|
Facebook: Win
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
- first:
|
||||||
|
Facebook: Win64
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
- first:
|
||||||
|
Standalone: Linux64
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
- first:
|
||||||
|
Standalone: OSXUniversal
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
- first:
|
||||||
|
Standalone: Win
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
- first:
|
||||||
|
Standalone: Win64
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
- first:
|
||||||
|
iPhone: iOS
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings:
|
||||||
|
AddToEmbeddedBinaries: false
|
||||||
|
CPU: ARM64
|
||||||
|
CompileFlags:
|
||||||
|
FrameworkDependencies:
|
||||||
|
- first:
|
||||||
|
tvOS: tvOS
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
CPU: AnyCPU
|
||||||
|
CompileFlags:
|
||||||
|
FrameworkDependencies:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -28,6 +28,7 @@ using UnityEngine.Events;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
using AOT;
|
||||||
|
|
||||||
#region UnityEvent types
|
#region UnityEvent types
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
@ -113,153 +114,161 @@ public class LibPdInstance : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
|
||||||
#region libpd imports
|
#region libpd imports
|
||||||
|
|
||||||
|
#if UNITY_IOS
|
||||||
|
private const string DLL_NAME="__Internal";
|
||||||
|
#else
|
||||||
|
private const string DLL_NAME="libpd";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// libpd functions that we need to be able to call from C#.
|
/// libpd functions that we need to be able to call from C#.
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_queued_init();
|
private static extern int libpd_queued_init();
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_queued_release();
|
private static extern void libpd_queued_release();
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_queued_receive_pd_messages();
|
private static extern void libpd_queued_receive_pd_messages();
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_queued_receive_midi_messages();
|
private static extern void libpd_queued_receive_midi_messages();
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_clear_search_path();
|
private static extern void libpd_clear_search_path();
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_add_to_search_path([In] [MarshalAs(UnmanagedType.LPStr)] string s);
|
private static extern void libpd_add_to_search_path([In] [MarshalAs(UnmanagedType.LPStr)] string s);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern IntPtr libpd_new_instance();
|
private static extern IntPtr libpd_new_instance();
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_instance(IntPtr instance);
|
private static extern void libpd_set_instance(IntPtr instance);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_free_instance(IntPtr instance);
|
private static extern void libpd_free_instance(IntPtr instance);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_init_audio(int inChans, int outChans, int sampleRate);
|
private static extern int libpd_init_audio(int inChans, int outChans, int sampleRate);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern IntPtr libpd_openfile([In] [MarshalAs(UnmanagedType.LPStr)] string basename,
|
private static extern IntPtr libpd_openfile([In] [MarshalAs(UnmanagedType.LPStr)] string basename,
|
||||||
[In] [MarshalAs(UnmanagedType.LPStr)] string dirname);
|
[In] [MarshalAs(UnmanagedType.LPStr)] string dirname);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_closefile(IntPtr p);
|
private static extern void libpd_closefile(IntPtr p);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_getdollarzero(IntPtr p);
|
private static extern int libpd_getdollarzero(IntPtr p);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_process_float(int ticks,
|
private static extern int libpd_process_float(int ticks,
|
||||||
[In] float[] inBuffer,
|
[In] float[] inBuffer,
|
||||||
[Out] float[] outBuffer);
|
[Out] float[] outBuffer);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_blocksize();
|
private static extern int libpd_blocksize();
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_start_message(int max_length);
|
private static extern int libpd_start_message(int max_length);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_add_float(float x);
|
private static extern void libpd_add_float(float x);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_add_symbol([In] [MarshalAs(UnmanagedType.LPStr)] string sym);
|
private static extern void libpd_add_symbol([In] [MarshalAs(UnmanagedType.LPStr)] string sym);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_finish_list([In] [MarshalAs(UnmanagedType.LPStr)] string recv);
|
private static extern int libpd_finish_list([In] [MarshalAs(UnmanagedType.LPStr)] string recv);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_finish_message([In] [MarshalAs(UnmanagedType.LPStr)] string recv,
|
private static extern int libpd_finish_message([In] [MarshalAs(UnmanagedType.LPStr)] string recv,
|
||||||
[In] [MarshalAs(UnmanagedType.LPStr)] string msg);
|
[In] [MarshalAs(UnmanagedType.LPStr)] string msg);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_bang([In] [MarshalAs(UnmanagedType.LPStr)] string recv);
|
private static extern int libpd_bang([In] [MarshalAs(UnmanagedType.LPStr)] string recv);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_float([In] [MarshalAs(UnmanagedType.LPStr)] string recv,
|
private static extern int libpd_float([In] [MarshalAs(UnmanagedType.LPStr)] string recv,
|
||||||
float x);
|
float x);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_symbol([In] [MarshalAs(UnmanagedType.LPStr)] string recv,
|
private static extern int libpd_symbol([In] [MarshalAs(UnmanagedType.LPStr)] string recv,
|
||||||
[In] [MarshalAs(UnmanagedType.LPStr)] string sym);
|
[In] [MarshalAs(UnmanagedType.LPStr)] string sym);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_exists([In] [MarshalAs(UnmanagedType.LPStr)] string obj);
|
private static extern int libpd_exists([In] [MarshalAs(UnmanagedType.LPStr)] string obj);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern IntPtr libpd_bind([In] [MarshalAs(UnmanagedType.LPStr)] string symbol);
|
private static extern IntPtr libpd_bind([In] [MarshalAs(UnmanagedType.LPStr)] string symbol);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_unbind(IntPtr binding);
|
private static extern void libpd_unbind(IntPtr binding);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_verbose(int verbose);
|
private static extern void libpd_set_verbose(int verbose);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_is_float(IntPtr atom);
|
private static extern int libpd_is_float(IntPtr atom);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_is_symbol(IntPtr atom);
|
private static extern int libpd_is_symbol(IntPtr atom);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern float libpd_get_float(IntPtr atom);
|
private static extern float libpd_get_float(IntPtr atom);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern IntPtr libpd_get_symbol(IntPtr atom);
|
private static extern IntPtr libpd_get_symbol(IntPtr atom);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern IntPtr libpd_next_atom(IntPtr atom);
|
private static extern IntPtr libpd_next_atom(IntPtr atom);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_noteon(int channel,
|
private static extern int libpd_noteon(int channel,
|
||||||
int pitch,
|
int pitch,
|
||||||
int velocity);
|
int velocity);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_controlchange(int channel,
|
private static extern int libpd_controlchange(int channel,
|
||||||
int controller,
|
int controller,
|
||||||
int value);
|
int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_programchange(int channel, int program);
|
private static extern int libpd_programchange(int channel, int program);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_pitchbend(int channel, int value);
|
private static extern int libpd_pitchbend(int channel, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_aftertouch(int channel, int value);
|
private static extern int libpd_aftertouch(int channel, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_polyaftertouch(int channel,
|
private static extern int libpd_polyaftertouch(int channel,
|
||||||
int pitch,
|
int pitch,
|
||||||
int value);
|
int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_midibyte(int port, int value);
|
private static extern int libpd_midibyte(int port, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_sysex(int port, int value);
|
private static extern int libpd_sysex(int port, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_sysrealtime(int port, int value);
|
private static extern int libpd_sysrealtime(int port, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_arraysize([In] [MarshalAs(UnmanagedType.LPStr)] string name);
|
private static extern int libpd_arraysize([In] [MarshalAs(UnmanagedType.LPStr)] string name);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_read_array([Out] float[] dest,
|
private static extern int libpd_read_array([Out] float[] dest,
|
||||||
[In] [MarshalAs(UnmanagedType.LPStr)] string src,
|
[In] [MarshalAs(UnmanagedType.LPStr)] string src,
|
||||||
int offset,
|
int offset,
|
||||||
int n);
|
int n);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern int libpd_write_array([In] [MarshalAs(UnmanagedType.LPStr)] string dest,
|
private static extern int libpd_write_array([In] [MarshalAs(UnmanagedType.LPStr)] string dest,
|
||||||
int offset,
|
int offset,
|
||||||
[In] float[] src,
|
[In] float[] src,
|
||||||
|
|
@ -277,7 +286,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
public delegate void LibPdPrintHook([In] [MarshalAs(UnmanagedType.LPStr)] string message);
|
public delegate void LibPdPrintHook([In] [MarshalAs(UnmanagedType.LPStr)] string message);
|
||||||
|
|
||||||
/// libpd function for setting the hook.
|
/// libpd function for setting the hook.
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_printhook(LibPdPrintHook hook);
|
private static extern void libpd_set_queued_printhook(LibPdPrintHook hook);
|
||||||
|
|
||||||
/// Instance of the print hook, kept to ensure it doesn't get garbage
|
/// Instance of the print hook, kept to ensure it doesn't get garbage
|
||||||
|
|
@ -288,7 +297,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate void LibPdBangHook([In] [MarshalAs(UnmanagedType.LPStr)] string symbol);
|
public delegate void LibPdBangHook([In] [MarshalAs(UnmanagedType.LPStr)] string symbol);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_banghook(LibPdBangHook hook);
|
private static extern void libpd_set_queued_banghook(LibPdBangHook hook);
|
||||||
|
|
||||||
private LibPdBangHook bangHook;
|
private LibPdBangHook bangHook;
|
||||||
|
|
@ -298,7 +307,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
public delegate void LibPdFloatHook([In] [MarshalAs(UnmanagedType.LPStr)] string symbol,
|
public delegate void LibPdFloatHook([In] [MarshalAs(UnmanagedType.LPStr)] string symbol,
|
||||||
float val);
|
float val);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_floathook(LibPdFloatHook hook);
|
private static extern void libpd_set_queued_floathook(LibPdFloatHook hook);
|
||||||
|
|
||||||
private LibPdFloatHook floatHook;
|
private LibPdFloatHook floatHook;
|
||||||
|
|
@ -308,7 +317,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
public delegate void LibPdSymbolHook([In] [MarshalAs(UnmanagedType.LPStr)] string symbol,
|
public delegate void LibPdSymbolHook([In] [MarshalAs(UnmanagedType.LPStr)] string symbol,
|
||||||
[In] [MarshalAs(UnmanagedType.LPStr)] string val);
|
[In] [MarshalAs(UnmanagedType.LPStr)] string val);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_symbolhook(LibPdSymbolHook hook);
|
private static extern void libpd_set_queued_symbolhook(LibPdSymbolHook hook);
|
||||||
|
|
||||||
private LibPdSymbolHook symbolHook;
|
private LibPdSymbolHook symbolHook;
|
||||||
|
|
@ -319,7 +328,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
int argc,
|
int argc,
|
||||||
IntPtr argv);
|
IntPtr argv);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_listhook(LibPdListHook hook);
|
private static extern void libpd_set_queued_listhook(LibPdListHook hook);
|
||||||
|
|
||||||
private LibPdListHook listHook;
|
private LibPdListHook listHook;
|
||||||
|
|
@ -331,7 +340,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
int argc,
|
int argc,
|
||||||
IntPtr argv);
|
IntPtr argv);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_messagehook(LibPdMessageHook hook);
|
private static extern void libpd_set_queued_messagehook(LibPdMessageHook hook);
|
||||||
|
|
||||||
private LibPdMessageHook messageHook;
|
private LibPdMessageHook messageHook;
|
||||||
|
|
@ -342,7 +351,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
int pitch,
|
int pitch,
|
||||||
int velocity);
|
int velocity);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_noteonhook(LibPdMidiNoteOnHook hook);
|
private static extern void libpd_set_queued_noteonhook(LibPdMidiNoteOnHook hook);
|
||||||
|
|
||||||
private LibPdMidiNoteOnHook noteOnHook;
|
private LibPdMidiNoteOnHook noteOnHook;
|
||||||
|
|
@ -353,7 +362,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
int controller,
|
int controller,
|
||||||
int value);
|
int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_controlchangehook(LibPdMidiControlChangeHook hook);
|
private static extern void libpd_set_queued_controlchangehook(LibPdMidiControlChangeHook hook);
|
||||||
|
|
||||||
private LibPdMidiControlChangeHook controlChangeHook;
|
private LibPdMidiControlChangeHook controlChangeHook;
|
||||||
|
|
@ -362,7 +371,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate void LibPdMidiProgramChangeHook(int channel, int program);
|
public delegate void LibPdMidiProgramChangeHook(int channel, int program);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_programchangehook(LibPdMidiProgramChangeHook hook);
|
private static extern void libpd_set_queued_programchangehook(LibPdMidiProgramChangeHook hook);
|
||||||
|
|
||||||
private LibPdMidiProgramChangeHook programChangeHook;
|
private LibPdMidiProgramChangeHook programChangeHook;
|
||||||
|
|
@ -371,7 +380,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate void LibPdMidiPitchBendHook(int channel, int value);
|
public delegate void LibPdMidiPitchBendHook(int channel, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_pitchbendhook(LibPdMidiPitchBendHook hook);
|
private static extern void libpd_set_queued_pitchbendhook(LibPdMidiPitchBendHook hook);
|
||||||
|
|
||||||
private LibPdMidiPitchBendHook pitchBendHook;
|
private LibPdMidiPitchBendHook pitchBendHook;
|
||||||
|
|
@ -380,7 +389,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate void LibPdMidiAftertouchHook(int channel, int value);
|
public delegate void LibPdMidiAftertouchHook(int channel, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_aftertouchhook(LibPdMidiAftertouchHook hook);
|
private static extern void libpd_set_queued_aftertouchhook(LibPdMidiAftertouchHook hook);
|
||||||
|
|
||||||
private LibPdMidiAftertouchHook aftertouchHook;
|
private LibPdMidiAftertouchHook aftertouchHook;
|
||||||
|
|
@ -389,7 +398,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate void LibPdMidiPolyAftertouchHook(int channel, int pitch, int value);
|
public delegate void LibPdMidiPolyAftertouchHook(int channel, int pitch, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_polyaftertouchhook(LibPdMidiPolyAftertouchHook hook);
|
private static extern void libpd_set_queued_polyaftertouchhook(LibPdMidiPolyAftertouchHook hook);
|
||||||
|
|
||||||
private LibPdMidiPolyAftertouchHook polyAftertouchHook;
|
private LibPdMidiPolyAftertouchHook polyAftertouchHook;
|
||||||
|
|
@ -398,7 +407,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate void LibPdMidiByteHook(int channel, int value);
|
public delegate void LibPdMidiByteHook(int channel, int value);
|
||||||
|
|
||||||
[DllImport("libpd")]
|
[DllImport(DLL_NAME)]
|
||||||
private static extern void libpd_set_queued_midibytehook(LibPdMidiByteHook hook);
|
private static extern void libpd_set_queued_midibytehook(LibPdMidiByteHook hook);
|
||||||
|
|
||||||
private LibPdMidiByteHook midiByteHook;
|
private LibPdMidiByteHook midiByteHook;
|
||||||
|
|
@ -994,6 +1003,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
#region delegate definitions
|
#region delegate definitions
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive print messages.
|
/// Receive print messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdPrintHook))]
|
||||||
private static void PrintOutput(string message)
|
private static void PrintOutput(string message)
|
||||||
{
|
{
|
||||||
if(pipePrintToConsoleStatic)
|
if(pipePrintToConsoleStatic)
|
||||||
|
|
@ -1002,6 +1012,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive bang messages.
|
/// Receive bang messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdBangHook))]
|
||||||
private static void BangOutput(string symbol)
|
private static void BangOutput(string symbol)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1010,6 +1021,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive float messages.
|
/// Receive float messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdFloatHook))]
|
||||||
private static void FloatOutput(string symbol, float val)
|
private static void FloatOutput(string symbol, float val)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1018,6 +1030,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive symbol messages.
|
/// Receive symbol messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdSymbolHook))]
|
||||||
private static void SymbolOutput(string symbol, string val)
|
private static void SymbolOutput(string symbol, string val)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1026,6 +1039,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive lists.
|
/// Receive lists.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdListHook))]
|
||||||
private static void ListOutput(string source, int argc, IntPtr argv)
|
private static void ListOutput(string source, int argc, IntPtr argv)
|
||||||
{
|
{
|
||||||
var args = ConvertList(argc, argv);
|
var args = ConvertList(argc, argv);
|
||||||
|
|
@ -1036,6 +1050,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive messages.
|
/// Receive messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMessageHook))]
|
||||||
private static void MessageOutput(string source, string symbol, int argc, IntPtr argv)
|
private static void MessageOutput(string source, string symbol, int argc, IntPtr argv)
|
||||||
{
|
{
|
||||||
var args = ConvertList(argc, argv);
|
var args = ConvertList(argc, argv);
|
||||||
|
|
@ -1046,6 +1061,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive MIDI note on messages.
|
/// Receive MIDI note on messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMidiNoteOnHook))]
|
||||||
private static void MidiNoteOnOutput(int channel, int pitch, int velocity)
|
private static void MidiNoteOnOutput(int channel, int pitch, int velocity)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1054,6 +1070,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive MIDI control change messages.
|
/// Receive MIDI control change messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMidiControlChangeHook))]
|
||||||
private static void MidiControlChangeOutput(int channel, int controller, int value)
|
private static void MidiControlChangeOutput(int channel, int controller, int value)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1062,6 +1079,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive MIDI program change messages.
|
/// Receive MIDI program change messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMidiProgramChangeHook))]
|
||||||
private static void MidiProgramChangeOutput(int channel, int program)
|
private static void MidiProgramChangeOutput(int channel, int program)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1070,6 +1088,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive MIDI pitch bend messages.
|
/// Receive MIDI pitch bend messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMidiPitchBendHook))]
|
||||||
private static void MidiPitchBendOutput(int channel, int value)
|
private static void MidiPitchBendOutput(int channel, int value)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1078,6 +1097,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive MIDI aftertouch messages.
|
/// Receive MIDI aftertouch messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMidiAftertouchHook))]
|
||||||
private static void MidiAftertouchOutput(int channel, int value)
|
private static void MidiAftertouchOutput(int channel, int value)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1086,6 +1106,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive MIDI polyphonic aftertouch messages.
|
/// Receive MIDI polyphonic aftertouch messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMidiPolyAftertouchHook))]
|
||||||
private static void MidiPolyAftertouchOutput(int channel, int pitch, int value)
|
private static void MidiPolyAftertouchOutput(int channel, int pitch, int value)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
@ -1094,6 +1115,7 @@ public class LibPdInstance : MonoBehaviour
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/// Receive MIDI byte messages.
|
/// Receive MIDI byte messages.
|
||||||
|
[MonoPInvokeCallback(typeof(LibPdMidiByteHook))]
|
||||||
private static void MidiByteOutput(int channel, int value)
|
private static void MidiByteOutput(int channel, int value)
|
||||||
{
|
{
|
||||||
foreach(LibPdInstance instance in activeInstances)
|
foreach(LibPdInstance instance in activeInstances)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue