Dr. Spankenstein
Joined: Mar 03, 2007 Posts: 136 Location: Cambridge
Audio files: 1
|
Posted: Fri Feb 22, 2008 4:04 pm Post subject:
Is there a more efficient way of implementing OSC than...? |
 |
|
Setting up a separate shred for each and every variable that is to be received by ChucK?
For example can this code be written more concisely as one shred?
| Code: |
fun void OSCReceiveCutPosition()
{
OscRecv MaxMSPReceiveCutPosition;
6449 => MaxMSPReceiveCutPosition.port;
MaxMSPReceiveCutPosition.listen();
MaxMSPReceiveCutPosition.event("/CutPosition, f") @=> OscEvent MaxMSPCutPosition;
while(true)
{
MaxMSPCutPosition => now;
while ( MaxMSPCutPosition.nextMsg() != 0 )
{
MaxMSPCutPosition.getFloat() => OSCCutPosition;
OSCCutPositionUpdated.signal();
//<<<"Current Max/MSP value", OSCCutPosition>>>;
}
}
}
fun void OSCReceiveCutLength()
{
OscRecv MaxMSPReceiveCutLength;
6449 => MaxMSPReceiveCutLength.port;
MaxMSPReceiveCutLength.listen();
MaxMSPReceiveCutLength.event("/CutLength, f") @=> OscEvent MaxMSPCutLength;
while(true)
{
MaxMSPCutLength => now;
while ( MaxMSPCutLength.nextMsg() != 0 )
{
MaxMSPCutLength.getFloat() => OSCCutLength;
//OSCCutPositionUpdated.signal();
//<<<"Current Max/MSP value", OSCCutPosition>>>;
}
}
}
fun void OSCReceiveNumberOfStutters()
{
OscRecv MaxMSPReceiveNumberOfStutters;
6449 => MaxMSPReceiveNumberOfStutters.port;
MaxMSPReceiveNumberOfStutters.listen();
MaxMSPReceiveNumberOfStutters.event("/NumberOfStutters, f") @=> OscEvent MaxMSPNumberOfStutters;
while(true)
{
MaxMSPNumberOfStutters => now;
while ( MaxMSPNumberOfStutters.nextMsg() != 0 )
{
MaxMSPNumberOfStutters.getFloat() => OSCNumberOfStutters;
}
}
}
fun void OSCReceiveBufferFile()
{
OscRecv MaxMSPReceiveBufferFile;
6449 => MaxMSPReceiveBufferFile.port;
MaxMSPReceiveBufferFile.listen();
MaxMSPReceiveBufferFile.event("/BufferFile, s") @=> OscEvent MaxMSPBufferFile;
while(true)
{
MaxMSPBufferFile => now;
while ( MaxMSPBufferFile.nextMsg() != 0 )
{
MaxMSPBufferFile.getString() => OSCBuffer;
}
}
}
|
Thanks,
Rhys
P.S. Most of the variables mentioned above are part of a bigger programme, and as such this code wont work by itself. I just thought I'd copy n paste the OSC part as an example. |
|
Dr. Spankenstein
Joined: Mar 03, 2007 Posts: 136 Location: Cambridge
Audio files: 1
|
Posted: Sat Feb 23, 2008 1:42 pm Post subject:
|
 |
|
If I were to wait for each message to arrive what order would they arrive in, if they are all sent at once?
In other words, how do I sync what is going on in ChucK to OSC.
I have the data sent to ChucK via OSC and then run ChucK once the data has been updated. |
|