From 20854f57a1617b4f662516445d20778ddbd6552d Mon Sep 17 00:00:00 2001 From: Davide Morelli Date: Thu, 12 Jan 2006 09:24:23 +0000 Subject: checking in the c sharp part svn path=/trunk/externals/clr/; revision=4388 --- external/External.cs | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100755 external/External.cs (limited to 'external/External.cs') diff --git a/external/External.cs b/external/External.cs new file mode 100755 index 0000000..3923f06 --- /dev/null +++ b/external/External.cs @@ -0,0 +1,104 @@ +using System; + + +namespace PureData +{ + + + + public class External + { + private IntPtr x; + + public External() + { + x = IntPtr.Zero; + } + + + + // this function MUST exist + public void SetUp(IntPtr pdClass) + { + // you must assign pdclass to x ! + x = pdClass; + + // now you can do what you like... + Console.WriteLine("pointer set!"); + Console.WriteLine("setting selectors.."); + pd.AddSelector(x, "sel1", "Sel1", ParametersType.None); + pd.AddSelector(x, "sel2", "Sel2", ParametersType.None); + pd.AddSelector(x, "selFloat", "SelFloat", ParametersType.Float); + pd.AddSelector(x, "selString", "SelString", ParametersType.Symbol); + pd.AddSelector(x, "selList", "SelList", ParametersType.List); + pd.AddSelector(x, "selStringList", "SelStringList", ParametersType.List); + pd.AddSelector(x, "selFloatList", "SelFloatList", ParametersType.List); + Console.WriteLine("selectors set"); + pd.AddOutlet(x, ParametersType.Float); + pd.AddInlet(x, "selFloat", ParametersType.Float); + } + + + + + public void Sel1() + { + pd.PostMessage("Sel1 invoked!"); + } + + public void Sel2() + { + pd.PostMessage("Sel2 invoked!"); + } + + public void SelFloat(float f) + { + pd.PostMessage("SelFloat received " + f); + } + + public void SelString(ref string s) + { + pd.PostMessage("SelString received " + s); + } + + public void SelList(int [] list) + { + pd.PostMessage("SelList received " + list.Length + " elements"); + for (int i = 0; i