James McCartney | 21 Jan 2004 01:19
Picon

Re: [approve?] spring


For the interpreter, if it is just a few primitives, then a new file is 
sufficient.
Perhaps something large like an OpenGL set of primitives should be a 
separate library.

On Jan 20, 2004, at 3:04 PM, Ronald J. Kuivila wrote:

> Hi Julian,
>
> Seems like it would be good to have a general SC annex for both 
> plug-ins
> and interpreter libraries.
>
> RJK
Ross Bencina | 21 Jan 2004 04:02
Picon

Re: is MsgFifo.h SMP safe?

> hmm. well lwsync is pretty expensive. Perhaps I need to change the
> implementation to use a compare and swap stack.

I don't know enough about the PowerPC ISA to know whether you can implement
CAS without calling lwsync. I guess the ideal solution would be to use the
current implementation on uniprocessor systems, and a more complex one on
SMP systems.

I have the same issue with AudioMulch on Windows, although I'm also
interested in multi-writer lock free queues. Lock-free queueing comes up
from time to time on the PortAudio list. For a while I've been thinking it
would be good to design a standard interface to some C lock-free queuing
primitives and develop a cross-platform lock free queue library. The closest
thing I've found so far is AppCore: http://AppCore.home.comcast.net (not
x-platform unfortunately).

Ross.
James McCartney | 21 Jan 2004 09:10
Picon

Re: is MsgFifo.h SMP safe?


On Jan 20, 2004, at 7:02 PM, Ross Bencina wrote:

>> hmm. well lwsync is pretty expensive. Perhaps I need to change the
>> implementation to use a compare and swap stack.
>
> I don't know enough about the PowerPC ISA to know whether you can 
> implement
> CAS without calling lwsync. I guess the ideal solution would be to use 
> the
> current implementation on uniprocessor systems, and a more complex one 
> on
> SMP systems.

CAS uses other instructions.
http://hpcf.nersc.gov/vendor_docs/ibm/asm/lwarx.htm

>
> I have the same issue with AudioMulch on Windows, although I'm also
> interested in multi-writer lock free queues. Lock-free queueing comes 
> up
> from time to time on the PortAudio list. For a while I've been 
> thinking it
> would be good to design a standard interface to some C lock-free 
> queuing
> primitives and develop a cross-platform lock free queue library. The 
> closest
> thing I've found so far is AppCore: http://AppCore.home.comcast.net 
> (not
> x-platform unfortunately).
(Continue reading)

James McCartney | 21 Jan 2004 10:54
Picon

codeDump ??

Julian, what is this 'codeDump' for?

	interpretPrintCmdLine {
		var res;
		res = this.compile(cmdLine).value;
          //if (cmdLine.last != $\n , { "\n".post; });
		"\n".post;
		codeDump.value(cmdLine, res);
		^res.postln;

	}
_______________________________________________
sc-dev mailing list
sc-dev@...
http://www.create.ucsb.edu/mailman/listinfo/sc-dev
James McCartney | 21 Jan 2004 11:56
Picon

Re: codeDump ??


Oh this must be a hook so you can log what you do..

On Jan 21, 2004, at 1:54 AM, James McCartney wrote:

> Julian, what is this 'codeDump' for?
>
> 	interpretPrintCmdLine {
> 		var res;
> 		res = this.compile(cmdLine).value;
>          //if (cmdLine.last != $\n , { "\n".post; });
> 		"\n".post;
> 		codeDump.value(cmdLine, res);
> 		^res.postln;
>
> 	}
> _______________________________________________
> sc-dev mailing list
> sc-dev@...
> http://www.create.ucsb.edu/mailman/listinfo/sc-dev
_______________________________________________
sc-dev mailing list
sc-dev@...
http://www.create.ucsb.edu/mailman/listinfo/sc-dev
nikolai collinsky | 21 Jan 2004 12:41
Picon
Favicon

[APPROVE] FFT_UGens.h

I've tested out extracting an FFT_UGens.h and it seems
to be OK. I also set up another target FFT2_UGens to
place Convolution etc. 

(haven't committed anything yet)

one q- I wanted originally to share the cosTable and
fftWindow data but this doesn't work between targets,
so I have to duplicate. Or is there a way I'm
neglecting? 

Thanks
N

Ps This may be redundant soon if a big FFT Altivec
shakeup is planned- or can I go ahead for the moment?

/*
	SuperCollider real time audio synthesis system
    Copyright (c) 2002 James McCartney. All rights
reserved.
	http://www.audiosynth.com

    This program is free software; you can
redistribute it and/or modify
    it under the terms of the GNU General Public
License as published by
    the Free Software Foundation; either version 2 of
the License, or
    (at your option) any later version.
(Continue reading)

Julian Rohrhuber | 21 Jan 2004 13:00
Picon
Favicon

Re: codeDump ??

Oh this must be a hook so you can log what you do..

yes -
actually I didn't mean to commit it - it must have sneaked in when I 
fixed a bug in Class.

do you think it's ok?

On Jan 21, 2004, at 1:54 AM, James McCartney wrote:

Julian, what is this 'codeDump' for?

	interpretPrintCmdLine {
		var res;
		res = this.compile(cmdLine).value;
          //if (cmdLine.last != $\n , { "\n".post; });
		"\n".post;
		codeDump.value(cmdLine, res);
		^res.postln;

	}
_______________________________________________
sc-dev mailing list
sc-dev@...
http://www.create.ucsb.edu/mailman/listinfo/sc-dev

_______________________________________________
sc-dev mailing list
sc-dev@...
http://www.create.ucsb.edu/mailman/listinfo/sc-dev
(Continue reading)

nikolai collinsky | 21 Jan 2004 13:08
Picon
Favicon

Re: raw fft mag

almost, watch out though-

PV_GET_BUF macro includes a return if bufnum= -1 

So to keep outputting in a stream, you need to replace
the macro code with a variant that removes that
return.  

For overlap of 2, there are exactly as many mag values
per sec as samples? Or ignore overlap frame and output
interleaved mag and phase values or mag repeated over
two samples or something.

Or you could possibly put the mag data into a buffer
whenever a new frame is available as per your
PV_RecordBuf suggestion. 

Hope that helps (and is accurate)
N

untested fast draft: (will output a stream of mag
values for successive frames ie every overlap)

void PV_RawMag_next(PV_Raw *unit, int inNumSamples)
{
		float fbufnum = ZIN0(0); 
	//if (fbufnum < 0.f) { ZOUT0(0) = -1.f; return; } 
	ZOUT0(0) = fbufnum; 
	uint32 ibufnum = (uint32)fbufnum; 
	World *world = unit->mWorld; 
(Continue reading)

Jan T.v.F. | 21 Jan 2004 13:28
Picon

SynthDescLib.browse

James,
would it be ok if the drag of synthDescListView in SynthDescLib.browse 
would return a Symbol and not an Integer ?

synthDescListView.beginDragAction_({arg v;
			v.items[v.value].asSymbol;
		});

thanks
-jan
rd | 21 Jan 2004 14:29
Picon

is MsgFifo.h SMP safe?


> from time to time on the PortAudio list. For a while I've been thinking it
> would be good to design a standard interface to some C lock-free 
queuing
> primitives and develop a cross-platform lock free queue library. The 
closest

WRT PortAudio, JACK now ships with a lock-free queue [ringbuffer] 
implementation. I think it has had quite a lot of testing on SMP 
systems, though not by me. There is talk of getting some form of 
<atomic.h> file in as well.  It might be possible to reuse at least
part of that...

Rohan

<http://jackit.sf.net>

Gmane