Merge branch 'clients/inter_client_comms' into fix/windows_linux_builds

nix
Owen Green 5 years ago
commit bdcf5b0474

@ -112,17 +112,17 @@ public:
case Result::Status::kWarning: case Result::Status::kWarning:
{ {
if (!w || w->mVerbosity > 0) if (!w || w->mVerbosity > 0)
std::cout << "WARNING: " << r.message().c_str() << '\n'; std::cout << "WARNING: " << getName() << " - " << r.message().c_str() << '\n';
break; break;
} }
case Result::Status::kError: case Result::Status::kError:
{ {
std::cout << "ERROR: " << r.message().c_str() << '\n'; std::cout << "ERROR: " << getName() << " - " << r.message().c_str() << '\n';
break; break;
} }
case Result::Status::kCancelled: case Result::Status::kCancelled:
{ {
std::cout << "Task cancelled\n" << '\n'; std::cout << getName() << ": Task cancelled\n" << '\n';
break; break;
} }
default: default:

@ -182,7 +182,7 @@ public:
if (allocResult != kSCErr_None) if (allocResult != kSCErr_None)
{ {
r.set(Result::Status::kError); r.set(Result::Status::kError);
r.addMessage("Resize on buffer ", bufnum(), " failed."); r.addMessage("Resize on buffer ", bufnum(), " failed. (Requested ", frames, " frames, ", channels, "channels)");
} }
return r; return r;
} }

@ -340,6 +340,7 @@ namespace impl {
void* space = ft->fRTAlloc(world,sizeof(CommandAsyncComplete)); void* space = ft->fRTAlloc(world,sizeof(CommandAsyncComplete));
CommandAsyncComplete* cmd = new (space) CommandAsyncComplete(world, id,c->mReplyAddress); CommandAsyncComplete* cmd = new (space) CommandAsyncComplete(world, id,c->mReplyAddress);
runAsyncCommand(world, cmd, c->mReplyAddress, c->mCompletionMsgSize, c->mCompletionMessage); runAsyncCommand(world, cmd, c->mReplyAddress, c->mCompletionMsgSize, c->mCompletionMessage);
if(c->mCompletionMsgSize) ft->fRTFree(world,c->mCompletionMessage);
}; };
auto tidyup = [](FifoMsg* msg) auto tidyup = [](FifoMsg* msg)
@ -617,7 +618,10 @@ namespace impl {
{ {
if(!cmd->synchronous()) if(!cmd->synchronous())
{ {
cmd->addCompletionMessage(completionMsgSize,completionMsgData);
auto msgcopy = (char*)getInterfaceTable()->fRTAlloc(world,completionMsgSize);
memcpy(msgcopy, completionMsgData, completionMsgSize);
cmd->addCompletionMessage(completionMsgSize,msgcopy);
return runAsyncCommand<CommandProcess>(world, cmd, replyAddr, 0, nullptr); return runAsyncCommand<CommandProcess>(world, cmd, replyAddr, 0, nullptr);
} }
else return runAsyncCommand<CommandProcess>(world, cmd, replyAddr, completionMsgSize, completionMsgData); else return runAsyncCommand<CommandProcess>(world, cmd, replyAddr, completionMsgSize, completionMsgData);
@ -628,7 +632,9 @@ namespace impl {
{ {
if(!cmd->synchronous()) if(!cmd->synchronous())
{ {
cmd->addCompletionMessage(completionMsgSize,completionMsgData); auto msgcopy = (char*)getInterfaceTable()->fRTAlloc(world,completionMsgSize);
memcpy(msgcopy, completionMsgData, completionMsgSize);
cmd->addCompletionMessage(completionMsgSize,msgcopy);
return runAsyncCommand<CommandProcessNew>(world, cmd, replyAddr, 0, nullptr); return runAsyncCommand<CommandProcessNew>(world, cmd, replyAddr, 0, nullptr);
} }
else return runAsyncCommand<CommandProcessNew>(world, cmd, replyAddr, completionMsgSize, completionMsgData); else return runAsyncCommand<CommandProcessNew>(world, cmd, replyAddr, completionMsgSize, completionMsgData);

@ -109,7 +109,7 @@ c.query;
}.play; }.play;
) )
// with everything changed to make it much better, at the cost of computation time (only 10 seconds are processed here, again wait for the (longer) computation time to appear) // with everything changed to make it much better, at the cost of computation time (only 5 seconds are processed here, again wait for the (longer) computation time to appear)
( (
Routine{ Routine{
t = Main.elapsedTime; t = Main.elapsedTime;

@ -32,7 +32,7 @@ Varying the gain at audio rate.
CODE:: CODE::
{ FluidGain.ar(PinkNoise.ar(0.1), gain:LFTri.ar(1)) }.play { FluidGain.ar(PinkNoise.ar(0.1), gain:LFTri.ar(1)) }.play
:: ::
Varying the gain at comtrol rate, in beautiful stereo. Varying the gain at control rate, in beautiful stereo.
CODE:: CODE::
{ FluidGain.ar(SinOsc.ar([222,333],mul:0.1), gain:LFTri.kr([0.5,0.7])) }.play { FluidGain.ar(SinOsc.ar([222,333],mul:0.1), gain:LFTri.kr([0.5,0.7])) }.play
:: ::

Loading…
Cancel
Save