TTOutputAudio::TTOutputAudio(const TTValue& arguments) : TTOutput(arguments) { TTValue args; mType = "audio"; // the only argument is the owner, which is used as a baton to hand to the callback if (arguments.size()) mReturnSignalCallback = TTCallbackPtr((TTObjectBasePtr)arguments[0]); if (arguments.size() > 1) mReturnLinkCallback = TTCallbackPtr((TTObjectBasePtr)arguments[1]); TTObjectBaseInstantiate(kTTSym_audiosignal, &mSignalIn, 1); TTObjectBaseInstantiate(kTTSym_audiosignal, &mSignalOut, 1); TTObjectBaseInstantiate(kTTSym_audiosignal, &mSignalTemp, 1); TTObjectBaseInstantiate(kTTSym_audiosignal, &mSignalZero, 1); TTObjectBaseInstantiate(TTSymbol("crossfade"), &mMixUnit, 1); if (mMixUnit) mMixUnit->setAttributeValue(TTSymbol("position"), 1.0); TTObjectBaseInstantiate(TTSymbol("gain"), &mGainUnit, 1); if (mGainUnit) mGainUnit->setAttributeValue(TTSymbol("linearGain"), 1.0); TTObjectBaseInstantiate(TTSymbol("ramp"), &mRampMixUnit, 1); TTObjectBaseInstantiate(TTSymbol("ramp"), &mRampGainUnit, 1); }
TTErr TTScoreTimeProcessEndCallbackRelease(TTTimeProcessPtr timeProcess, TTObjectBasePtr *endCallback) { TTValue v; TTMessagePtr aMessage; TTErr err; // unregister for ProcessEnd message observation err = timeProcess->findMessage(kTTSym_ProcessEnd, &aMessage); if (!err) { err = aMessage->unregisterObserverForNotifications(**endCallback); if (!err) { delete (TTValuePtr)TTCallbackPtr(*endCallback)->getBaton(); TTObjectBaseRelease(endCallback); } } return err; }
mAddress(kTTAdrsEmpty), mOutput(kTTSym_descendants), mUpdate(YES), mSort(kTTSym_alphabetic), mDepth(0), mDirectory(NULL), mAddressObserver(NULL), mApplicationObserver(NULL), mReturnValueCallback(NULL), mReturnSelectionCallback(NULL), mFilterList(NULL), mTempNode(NULL), mResult(NULL) { if(arguments.size() >= 1) mReturnValueCallback = TTCallbackPtr((TTObjectBasePtr)arguments[0]); // It is possible to pass a default filter bank if(arguments.size() >= 2) mFilterBank = TTHashPtr((TTPtr)arguments[1]); else mFilterBank = new TTHash(); if(arguments.size() >= 3) mReturnSelectionCallback = TTCallbackPtr((TTObjectBasePtr)arguments[2]); addAttributeWithSetter(Namespace, kTypeSymbol); addAttributeWithSetter(Address, kTypeSymbol); addAttributeWithSetter(Output, kTypeSymbol); addAttributeWithSetter(Update, kTypeBoolean);
*/ #include "TTOscReceive.h" #define thisTTClass TTOscReceive #define thisTTClassName "osc.receive" #define thisTTClassTags "network, receive" TT_OBJECT_CONSTRUCTOR, mPort(0), mSocket(NULL), mCallback(NULL) { if (arguments.size() == 1) mCallback = TTCallbackPtr((TTObjectBasePtr)arguments[0]); addAttributeWithSetter(Port, kTypeUInt16); // callback from mSocket addMessageWithArguments(oscSocketReceive); addMessageProperty(oscSocketReceive, hidden, YES); } TTOscReceive::~TTOscReceive() { delete mSocket; if (mCallback) { delete (TTValuePtr)mCallback->getBaton(); TTObjectBaseRelease(TTObjectBaseHandle(&mCallback));
mType(kTTSymEmpty), mOutputAddress(kTTAdrsEmpty), mMute(NO), mBypass(NO), mSignalIn(NULL), mSignalCache(NULL), mSignalOut(NULL), mSignalZero(NULL), mOutputObject(NULL), mReturnSignalCallback(NULL), mAddressObserver(NULL) { TT_ASSERT("Correct number of args to create TTInput", arguments.size() >= 2); mType = arguments[0]; mReturnSignalCallback = TTCallbackPtr((TTObjectBasePtr)arguments[1]); TT_ASSERT("Return Signal Callback passed to TTInput is not NULL", mReturnSignalCallback); if (arguments.size() > 2) { mSignalIn = arguments[2]; mSignalOut = arguments[3]; mSignalZero = arguments[4]; } addAttribute(Type, kTypeSymbol); addAttributeProperty(Type, readOnly, YES); addAttributeWithSetter(OutputAddress, kTypeSymbol); addAttribute(Mute, kTypeBoolean);