diff options
author | Davide Morelli <morellid@users.sourceforge.net> | 2006-01-12 17:09:45 +0000 |
---|---|---|
committer | Davide Morelli <morellid@users.sourceforge.net> | 2006-01-12 17:09:45 +0000 |
commit | 7aa2fe31bf8baa6506e4c792229834b67ebd2207 (patch) | |
tree | 8d702888a06b3d1f89325aa55a2c9fb47c688078 /external/pd.cs | |
parent | 27ed64f0d1ee32e0ccff7c48d4965c21c9f8128b (diff) |
working on lists of atoms
svn path=/trunk/externals/clr/; revision=4392
Diffstat (limited to 'external/pd.cs')
-rwxr-xr-x | external/pd.cs | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/external/pd.cs b/external/pd.cs index 67befdf..33f7f1f 100755 --- a/external/pd.cs +++ b/external/pd.cs @@ -71,13 +71,35 @@ typedef struct atom_simple public enum AtomType {Null = 0, Float=1, Symbol=2};
[StructLayout (LayoutKind.Explicit)]
- public struct Atom
+// [StructLayout (LayoutKind.Sequential)]
+ public class Atom
{
//[FieldOffset (0)] AtomType type;
- [FieldOffset (0)] public int type;
+ //[FieldOffset (0)] public int type;
+ [FieldOffset (0)]
+ public int type;
/* union members */
- [FieldOffset (4)] public long string_value;
- [FieldOffset (4)] public float float_value;
+ [FieldOffset (4)]
+ public float float_value;
+
+// [FieldOffset (4)]
+ [FieldOffset (8)]
+ public string string_value;
+
+
+
+ public Atom(string string_value)
+ {
+ this.type = 2;
+ this.float_value = 0;
+ this.string_value = string_value;
+ }
+ public Atom(float float_value)
+ {
+ this.type = 1;
+ this.string_value = "";
+ this.float_value = float_value;
+ }
}
|