Thanks, that is actually what I was asking for.
Except for the getFloat. At this point, I'd need to
code this in SC (rather than in C++). What is the algorithm
for this?
IZ
-------------------
On Fri, 6 Aug 2004, James McCartney wrote:
This is not the best approach. You should implement the methods in
CollStream like this.
getChar { ^this.next; }
getInt8 { ^this.next & 255; }
getInt16 { ^this.getInt8 << 8 | this.getInt8; }
getInt32 { ^this.getInt16 << 16 | this.getInt16; }
getFloat { ^Float.from32bits(this.getInt32); }
getDouble { ^Float.from64bits(this.getInt32, this.getInt32); }
getPascalString {
var size, string;
size = this.getInt8;
string = String.newClear(size);
size.do {|i| string[i] = this.getChar };
^string
}
unfortunately there is nothing like Float.from32bits or
Float.from64bits. There should be primitives for that.
On Aug 6, 2004, at 3:47 PM, Ioannis Zannos wrote:
Hello,
I am trying to add a method SynthDesc-fromSynthDefBytes, so as to
be able to create a SynthDesc directly from SynthDef without having
to load it from its data on Unix file. This would be very
useful for creating synthdescs and accompanying GUIs for playing
functions on-the-fly. Could someone help me convert from the
byte-array format of compiled SynthDefs to SynthDesc by providing
a description of the Integer16 and Float formats used in SynthDef
files?
Below is the framework of the class I am writing that will make the
conversion.
Thanks.
_______________________________________________
sc-dev mailing list
sc-dev@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-dev
--
Iannis Zannos
Research Director
Center for Research in Electronic Art Technology
Music Department / MAT,
University of California, Santa Barbara,
Santa Barbara, California 93106
Tel: (805) 893-8352
Fax: (805) 893-7194
http://www.create.ucsb.edu/~iani/
_______________________________________________
sc-dev mailing list
sc-dev@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-dev