33using System.Runtime.InteropServices;
34#if UNITY_EDITOR || UNITY_STANDALONE
35using MYFLT = System.Double;
36#elif UNITY_ANDROID || UNITY_IOS
37using MYFLT = System.Single;
50#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
51 internal const string _dllVersion =
"csound64.dll";
52#elif UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX
53 internal const string _dllVersion =
"CsoundLib64.bundle";
55 internal const string _dllVersion =
"csoundandroid";
57 internal const string _dllVersion =
"__Internal";
60 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
61 internal delegate
void MessageCallbackProxy(IntPtr csound, Int32 attr,
string format, IntPtr valist);
82 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
83 internal static extern Int32 csoundInitialize([In]
int flags);
85 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
86 internal static extern IntPtr csoundCreate(IntPtr hostdata);
88 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
89 internal static extern Int32 csoundLoadPlugins([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)] String dir);
91 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
92 internal static extern void csoundDestroy([In] IntPtr csound);
94 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
95 internal static extern Int32 csoundGetVersion();
97 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
98 internal static extern Int32 csoundGetAPIVersion();
100 #endregion Instantiation
105 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
106 internal static extern IntPtr csoundParseOrc([In] IntPtr csound, [In] String str);
108 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
109 internal static extern Int32 csoundCompileTree([In] IntPtr csound, [In] IntPtr root);
113 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
114 internal static extern void csoundDeleteTree([In] IntPtr csound, [In] IntPtr root);
116 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
117 internal static extern Int32 csoundCompileOrc([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)] String orchStr);
121 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
122 internal static extern MYFLT csoundEvalCode([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)] String orchStr);
126 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
127 internal static extern Int32 csoundCompileArgs([In] IntPtr csound, [In] Int32 argc, [In]
string[] argv);
129 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
130 internal static extern Int32 csoundStart([In] IntPtr csound);
132 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
133 internal static extern Int32 csoundCompile([In] IntPtr csound, [In] Int32 argc, [In]
string[] argv);
135 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
136 internal static extern Int32 csoundCompileCsd([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)] String csdFilename);
138 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
139 internal static extern Int32 csoundCompileCsdText([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)] String csdText);
141 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
142 internal static extern int csoundPerform([In] IntPtr csound);
144 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
145 internal static extern Int32 csoundPerformKsmps([In] IntPtr csound);
147 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
148 internal static extern Int32 csoundPerformBuffer([In] IntPtr csound);
150 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
151 internal static extern void csoundStop([In] IntPtr csound);
153 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
154 internal static extern Int32 csoundCleanup([In] IntPtr csound);
156 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
157 internal static extern void csoundReset([In] IntPtr csound);
159 #endregion Performance
174 #endregion UDP server
179 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
180 internal static extern MYFLT csoundGetSr([In] IntPtr csound);
182 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
183 internal static extern MYFLT csoundGetKr([In] IntPtr csound);
185 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
186 internal static extern UInt32 csoundGetKsmps([In] IntPtr csound);
188 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
189 internal static extern UInt32 csoundGetNchnls([In] IntPtr csound);
191 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
192 internal static extern UInt32 csoundGetNchnlsInput([In] IntPtr csound);
194 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
195 internal static extern MYFLT csoundGet0dBFS([In] IntPtr csound);
199 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
200 internal static extern Int64 csoundGetCurrentTimeSamples([In] IntPtr csound);
202 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
203 internal static extern Int32 csoundGetSizeOfMYFLT();
205 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
206 internal static extern IntPtr csoundGetHostData([In] IntPtr csound);
208 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
209 internal static extern void csoundSetHostData([In] IntPtr csound, IntPtr hostData);
211 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
212 internal static extern Int32 csoundSetOption([In] IntPtr csound, [In]
string option);
214 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
217 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
220 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
221 internal static extern Int32 csoundGetDebug([In] IntPtr csound);
223 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
224 internal static extern void csoundSetDebug([In] IntPtr csound, [In] Int32 debug);
226 #endregion Attributes
229 #region General Input/Output
231 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
232 internal static extern IntPtr csoundGetOutputName([In] IntPtr csound);
236 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
237 internal static extern void csoundSetOutput([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string name, [In, MarshalAs(UnmanagedType.LPStr)]
string type, [In, MarshalAs(UnmanagedType.LPStr)]
string format);
241 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
242 internal static extern void csoundSetInput([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string name);
246 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
247 internal static extern void csoundSetMIDIFileInput([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string name);
251 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
252 internal static extern void csoundSetMIDIFileOutput([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string name);
260 #region Realtime Audio I/O
262 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
263 internal static extern void csoundSetRTAudioModule([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string module);
265 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
266 internal static extern int csoundGetModule([In] IntPtr csound,
int number, ref IntPtr name, ref IntPtr type);
268 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
269 internal static extern Int32 csoundGetInputBufferSize([In] IntPtr csound);
271 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
272 internal static extern Int32 csoundGetOutputBufferSize([In] IntPtr csound);
278 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
279 internal static extern IntPtr csoundGetSpin([In] IntPtr csound);
281 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
282 internal static extern void csoundClearSpin([In] IntPtr csound);
284 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
285 internal static extern IntPtr csoundAddSpinSample([In] IntPtr csound, [In] Int32 frame, [In] Int32 channel, [In] MYFLT sample);
287 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
288 internal static extern void csoundSetSpinSample([In] IntPtr csound, [In] Int32 frame, [In] Int32 channel, [In] MYFLT value);
290 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
291 internal static extern IntPtr csoundGetSpout([In] IntPtr csound);
293 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
294 internal static extern MYFLT csoundGetSpoutSample([In] IntPtr csound, [In] Int32 frame, [In] Int32 channel);
300 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
301 internal static extern void csoundSetHostImplementedAudioIO([In] IntPtr csound, [In]
int state, [In]
int buffSize);
303 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
304 internal static extern Int32 csoundGetAudioDevList([In] IntPtr csound, [Out] IntPtr list, [In] Int32 isOutput);
318 #endregion Realtime Audio I/O
321 #region Realtime Midi I/O
323 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
324 internal static extern void csoundSetMIDIModule([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string module);
328 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
329 internal static extern Int32 csoundGetMIDIDevList([In] IntPtr csound, [Out] IntPtr list, [In] Int32 isOutput);
347 #endregion Realtime Midi I/O
350 #region Score Handling
352 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
353 internal static extern Int32 csoundReadScore([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string score);
357 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
358 internal static extern MYFLT csoundGetScoreTime([In] IntPtr csound);
360 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
361 internal static extern int csoundIsScorePending([In] IntPtr csound);
363 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
364 internal static extern void csoundSetScorePending([In] IntPtr csound, [In] Int32 pending);
366 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
367 internal static extern MYFLT csoundGetScoreOffsetSeconds([In] IntPtr csound);
369 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
370 internal static extern void csoundSetScoreOffsetSeconds([In] IntPtr csound, [In] MYFLT time);
372 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
373 internal static extern void csoundRewindScore([In] IntPtr csound);
377 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
378 internal static extern int csoundScoreSort([In] IntPtr csound, [In] IntPtr inFile, [In] IntPtr outFile);
380 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
381 internal static extern int csoundScoreExtract(IntPtr csound, IntPtr inFile, IntPtr outFile, IntPtr extractFile);
383 #endregion Score Handling
386 #region Messages and Text
394 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
395 internal static extern void csoundSetDefaultMessageCallback(MessageCallbackProxy processMessage);
397 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
398 internal static extern void csoundSetMessageCallback([In] IntPtr csound, MessageCallbackProxy processMessage);
402 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
403 internal static extern Int32 csoundGetMessageLevel([In] IntPtr csound);
405 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
406 internal static extern void csoundSetMessageLevel([In] IntPtr csound, [In] Int32 messageLevel);
408 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
409 internal static extern void csoundCreateMessageBuffer([In] IntPtr csound, [In]
int toStdOut);
411 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
412 internal static extern IntPtr csoundGetFirstMessage([In] IntPtr csound);
416 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
417 internal static extern void csoundPopFirstMessage([In] IntPtr csound);
419 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
420 internal static extern int csoundGetMessageCnt([In] IntPtr csound);
422 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
423 internal static extern void csoundDestroyMessageBuffer([In] IntPtr csound);
425 #endregion Messages and Text
428 #region Channels, Control and Events
430 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
431 internal static extern int csoundGetChannelPtr([In] IntPtr csound, out IntPtr pChannel, [In, MarshalAs(UnmanagedType.LPStr)]
string name, [In] Int32 flags);
433 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
434 internal static extern Int32 csoundListChannels([In] IntPtr csound, [Out] out IntPtr ppChannels);
436 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
437 internal static extern void csoundDeleteChannelList([In] IntPtr csound, [In] IntPtr ppChannels);
445 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
446 internal static extern MYFLT csoundGetControlChannel([In] IntPtr csound, [In] String str, [In] IntPtr err);
448 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
449 internal static extern IntPtr csoundSetControlChannel([In] IntPtr csound, [In] String str, [In] MYFLT value);
451 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
452 internal static extern void csoundGetAudioChannel([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string name, IntPtr samples);
454 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
455 internal static extern void csoundSetAudioChannel([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)]
string name, IntPtr samples);
460 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
461 internal static extern IntPtr csoundSetStringChannel([In] IntPtr csound, [In] String str, [In] String value);
481 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
482 internal static extern IntPtr csoundInputMessage([In] IntPtr csound, [In] String str);
497 #endregion Channels, Control and Events
502 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
503 internal static extern Int32 csoundTableLength([In] IntPtr csound, [In] Int32 table);
505 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
506 internal static extern MYFLT csoundTableGet([In] IntPtr csound, [In] Int32 table, [In] Int32 index);
508 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
509 internal static extern void csoundTableSet([In] IntPtr csound, [In] Int32 table, [In] Int32 index, [In] MYFLT value);
511 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
512 internal static extern void csoundTableCopyOut([In] IntPtr csound, Int32 table, IntPtr dest);
514 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
515 internal static extern void csoundTableCopyOutAsync([In] IntPtr csound, Int32 table, IntPtr dest);
517 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
518 internal static extern void csoundTableCopyIn([In] IntPtr csound, [In] Int32 table, IntPtr source);
520 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
521 internal static extern void csoundTableCopyInAsync([In] IntPtr csound, [In] Int32 table, IntPtr source);
523 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
524 internal static extern Int32 csoundGetTable([In] IntPtr csound, out IntPtr tablePtr, [In] Int32 index);
526 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
527 internal static extern Int32 csoundGetTableArgs([In] IntPtr csound, out IntPtr argsPtr, [In] Int32 index);
529 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
530 internal static extern Int32 csoundIsNamedGEN([In] IntPtr csound, [In] Int32 num);
532 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
533 internal static extern void csoundGetNamedGEN([In] IntPtr csound, [In] Int32 num, out
string name, Int32 len);
538 #region Function table display
550 #endregion Function table display
555 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
556 internal static extern IntPtr csoundGetNamedGens([In] IntPtr csound);
558 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
559 internal static extern Int32 csoundNewOpcodeList([In] IntPtr csound, [Out] out IntPtr ppOpcodeList);
561 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
562 internal static extern void csoundDisposeOpcodeList([In] IntPtr csound, [In] IntPtr ppOpcodeList);
569 #region Threading and concurrency
612 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
613 internal static extern void csoundSleep(uint milleseconds);
623 #endregion Threading and concurrency
626 #region Miscellaneous functions
628 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
629 internal static extern long csoundRunCommand([In]
string[] argv, [In]
int nowait);
637 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl)]
638 internal static extern UInt32 csoundGetRandomSeedFromTime();
642 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
643 internal static extern IntPtr csoundGetEnv([In] IntPtr csound, [In, MarshalAs(UnmanagedType.LPStr)] String key);
645 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, BestFitMapping =
false, ThrowOnUnmappableChar =
true)]
646 internal static extern Int32 csoundSetGlobalEnv([In, MarshalAs(UnmanagedType.LPStr)]
string name, [In, MarshalAs(UnmanagedType.LPStr)]
string value);
658 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
659 internal static extern IntPtr csoundListUtilities([In] IntPtr csound);
661 [DllImport(_dllVersion, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
662 internal static extern void csoundDeleteUtilityList([In] IntPtr csound, IntPtr list);
690 #endregion Miscellaneous functions