bool SNM_GetSetObjectState(void* _obj, WDL_FastString* _state, bool _setnewvalue, bool _minstate) { bool ok = false; if (_state && g_script_strs.Find(_state)>=0 && (ValidatePtr(_obj, "MediaTrack*") || ValidatePtr(_obj, "MediaItem*") || ValidatePtr(_obj, "TrackEnvelope*"))) { int fxstate = SNM_PreObjectState(_setnewvalue ? _state : NULL, _minstate); char* p = GetSetObjectState(_obj, _setnewvalue ? _state->Get() : NULL); if (_setnewvalue) { ok = (p==NULL); } else if (p) { _state->Set(p); FreeHeapPtr((void*)p); ok = true; } SNM_PostObjectState(fxstate); } return ok; }
bool SNM_GetSetObjectState(void* _obj, WDL_FastString* _state, bool _setnewvalue, bool _minstate) { bool ok = false; if (_obj && _state) { int fxstate = SNM_PreObjectState(_setnewvalue ? _state : NULL, _minstate); char* p = GetSetObjectState(_obj, _setnewvalue ? _state->Get() : NULL); if (_setnewvalue) { ok = (p==NULL); } else if (p) { _state->Set(p); FreeHeapPtr((void*)p); ok = true; } SNM_PostObjectState(fxstate); } return ok; }