[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-dev] SynthDesc from SynthDef.asBytes. converting byte arrays to int16 and floats

Did you ever get this working? It would be very useful for something I'm working on now. Some of the methods below have been implemented, but there's still no Float-from32bits or -from64bits. I had a go at it, hacking together a few things, but eventually ran up against this.

Alternatively, is there an easy way to determine the number of output channels from a SynthDef without storing it?


On 20 Aug 2004, at 00:19, Ioannis Zannos wrote:

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?



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 };

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:

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

Below is the framework of the class I am writing that will make the


sc-dev mailing list

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


sc-dev mailing list