void DomainObject::setId(const Identifier& _id) { if (!_id.isValid() || m_id != _id) { m_id = _id; } }
void AvCaster::SetConfig(Identifier a_key , var a_value) { ValueTree storage_node = Store->getKeyNode(a_key) ; DEBUG_TRACE_SET_CONFIG if (a_key.isValid()) storage_node.setProperty(a_key , a_value , nullptr) ; }
DomainObject::DomainObject(Identifier _id) : m_id(_id), m_isChangesStored(_id.isValid() ? true : false) { }
void LoadSave::varToState(mopo::HelmEngine* synth, const CriticalSection& critical_section, var state) { if (!state.isObject()) return; mopo::control_map controls = synth->getControls(); DynamicObject* object_state = state.getDynamicObject(); ScopedLock lock(critical_section); NamedValueSet properties = object_state->getProperties(); int size = properties.size(); for (int i = 0; i < size; ++i) { Identifier id = properties.getName(i); if (id.isValid()) { std::string name = id.toString().toStdString(); if (controls.count(name)) { mopo::mopo_float value = properties.getValueAt(i); controls[name]->set(value); } } } synth->clearModulations(); Array<var>* modulations = object_state->getProperty("modulations").getArray(); var* modulation = modulations->begin(); for (; modulation != modulations->end(); ++modulation) { DynamicObject* mod = modulation->getDynamicObject(); std::string source = mod->getProperty("source").toString().toStdString(); std::string destination = mod->getProperty("destination").toString().toStdString(); mopo::ModulationConnection* connection = new mopo::ModulationConnection(source, destination); connection->amount.set(mod->getProperty("amount")); synth->connectModulation(connection); } }