From af0a9de91583557786cdfeca37c36b8e5656fb23 Mon Sep 17 00:00:00 2001 From: Davide Morelli Date: Sat, 14 Jan 2006 02:34:17 +0000 Subject: outlet ready, multi-instance, split assembly in 2 svn path=/trunk/externals/clr/; revision=4401 --- external/External.cs | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) (limited to 'external/External.cs') diff --git a/external/External.cs b/external/External.cs index 820c7ca..ace63a3 100755 --- a/external/External.cs +++ b/external/External.cs @@ -1,11 +1,8 @@ using System; - namespace PureData { - - public class External { private IntPtr x; @@ -15,8 +12,6 @@ namespace PureData x = IntPtr.Zero; } - - // this function MUST exist public void SetUp(IntPtr pdClass) { @@ -31,16 +26,36 @@ namespace PureData pd.AddSelector(x, "selFloat", "SelFloat", ParametersType.Float); pd.AddSelector(x, "selString", "SelString", ParametersType.Symbol); pd.AddSelector(x, "selGenericList", "SelGenericList", ParametersType.List); + + pd.AddSelector(x, "", "GetBang", ParametersType.Bang); + pd.AddSelector(x, "", "GetFloat", ParametersType.Float); + pd.AddSelector(x, "", "GetSymbol", ParametersType.Symbol); + Console.WriteLine("selectors set"); pd.AddOutlet(x, ParametersType.Float); pd.AddInlet(x, "selFloat", ParametersType.Float); } + public void GetBang() + { + pd.PostMessage("GetBang invoked!"); + } - + public void GetFloat(float f) + { + pd.PostMessage("GetFloat invoked with " + f); + } + + public void GetSymbol(ref string s) + { + pd.PostMessage("GetSymbol invoked with " + s); + } + public void Sel1() { pd.PostMessage("Sel1 invoked!"); + Atom [] a= new Atom[2]; + } public void Sel2() @@ -48,10 +63,12 @@ namespace PureData pd.PostMessage("Sel2 invoked!"); // testing outlets - Atom[] atoms = new Atom[2]; - atoms[0] = new Atom("ciao"); - atoms[1] = new Atom(1.5f); - pd.ToOutlet(x, 0, atoms.Length, atoms); + Atom[] atoms = new Atom[4]; + atoms[0] = new Atom(1.5f); + atoms[1] = new Atom("ciao"); + atoms[2] = new Atom(2.5f); + atoms[3] = new Atom("hello"); + pd.SendToOutlet(x, 0, atoms); } @@ -69,6 +86,7 @@ namespace PureData public void SelGenericList(Atom [] list) { + Atom [] ret = new Atom[list.Length]; for (int i = 0; i