[Sc-devel] SendFloatArray from Server to Lang
James Harkins
jamshark70 at gmail.com
Sun Nov 4 16:26:00 PST 2007
It did go through, hours ago.
If you aren't receiving messages from the list promptly, nabble is a
good place to check whether it was delivered to other addresses.
http://www.nabble.com/SendFloatArray-from-Server-to-Lang-tf4746920.html
(generally) - http://www.nabble.com/SuperCollider-f2891.html
Just thought I'd mention since you've seen this problem several times
lately.
hjh
On Nov 4, 2007, at 3:53 PM, Click Nilson wrote:
> [this may not have got through earlier; resending]
>
> Dear all,
>
> I'm not suggesting the below for any 3.1.1 this week, but I am
> starting discussion re: 3.2. This is something that has come up in
> exploring potential machine listening capabilities.
>
> I've been looking into how difficult it is to add the capability to
> the server to send back an array of floats. This would be really
> useful for UGens that extract features which can then play a role
> in compositional decisions language side; ie, find the top N peaks
> in the spectrum, find N timbral features, polyphonic pitch
> detection, extract first N MFCCs etc. I'd really like to be able to
> send an arbitrary number of floats (well, up to packet size
> allowance) from a plugin as an OSC message.
>
> I draft a solution below; I think I know how to implement this. The
> possible gotcha is that dynamically loaded plugins can't pass an
> array of floats via a pointer to the server, because the address
> space is not shared. But I'm hoping that's not actually an issue?
>
> Any comments? Can I go ahead once 3.1.1 is settled?
>
> Nick
>
>
> Draft of additions required:
>
> SC_Node.cpp
> void Node_SendFloatArray(Node* inNode, int arrayID, int size,
> float* values)
>
> SC_World.cpp
> void FloatArrayMsg::Perform()
>
> ft->fSendFloatArray = &Node_SendFloatArray;
>
> SC_Prototypes.h
> void Node_SendFloatArray(Node* inNode, int arrayID, int size,
> float* values);
>
> SC_HiddenWorld.h
> struct FloatArrayMsg {
> World *mWorld;
> int32 mNodeID;
> int32 mArrayID;
> float* mValues;
> int32 size;
>
> void Perform();
> };
>
> typedef MsgFifoNoFree<FloatArrayMsg, 1024> FloatArrayFifo;
>
> And an addition of one more step to:
> SC_CoreAudio.cpp
> SC_AudioDriver::RunThread()
> Shouldn't impact performance in any substantial way.
>
>
>
>
> _______________________________________________
> Sc-devel mailing list
> Sc-devel at create.ucsb.edu
> http://www.create.ucsb.edu/mailman/listinfo/sc-devel
: H. James Harkins
: jamshark70 at dewdrop-world.net
: http://www.dewdrop-world.net
.::!:.:.......:.::........:..!.::.::...:..:...:.:.:.:..:
"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal." -- Whitman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.create.ucsb.edu/pipermail/sc-devel/attachments/20071104/61ac3943/attachment.htm
More information about the Sc-devel
mailing list