bool Updater::getLatestComponents()
{
    URL url = URL(UPDATER_URL_PREFIX).getChildURL("latest.php")
        .withParameter("channel", launcherApplication::getConfig()->getString("updater", "channel"))
        .withParameter("platform", launcherApplication::getConfig()->getString("updater", "platform"))
        .withParameter("components", "launcher,tremulous");

    ScopedPointer<InputStream> stream(url.createInputStream(false, nullptr, nullptr, String(), 5000));
    if (stream == nullptr) {
        return false;
    }

    var versionsVar = JSON::parse(*stream);
    if (versionsVar == var::null || !versionsVar.isObject()) {
        return false;
    }

    DynamicObject *versionsObject = versionsVar.getDynamicObject();
    NamedValueSet *versionsSet = &versionsObject->getProperties();

    components.clear();
    for (int i = 0; i < versionsSet->size(); i++) {
        String componentName(versionsSet->getName(i));
        Launcher::Component component(componentName);
        component.setRemoteVersion(versionsSet->getValueAt(i).toString());
        components.add(component);
    }

    return true;
}
예제 #2
0
void pluginParametersSetIndexed(AudioPluginInstance *instance, const NamedValueSet &indexedParameters) {
    int numParams = instance->getNumParameters();
    for (int j = 0, m = indexedParameters.size(); j < m; ++j) {
        Identifier name = indexedParameters.getName(j);
        int i = name.toString().getIntValue();
        var val = indexedParameters.getValueAt(j);
        if (!val.isVoid() && i >= 0 && i < numParams) {
            DBG << "Setting indexed parameter " << i << " - " << name.toString() << " to " << (float)val;
            instance->setParameter(i, (float)val);
            DBG << "... reported as " << instance->getParameter(i) << endl;
        }
    }
}
예제 #3
0
void IniFile::save()
{
    const GenericScopedLock<CriticalSection> scopedlock(lock);
    String config;
    for (int i = 0; i < data.size(); i++) {
        String section(data.getName(i).toString());
        DynamicObject *sectionObject = data[section].getDynamicObject();
        NamedValueSet *sectionSet = &sectionObject->getProperties();

        if (sectionSet->size() == 0) {
            continue;
        }
        
        if (section != "__empty") {
            config += '[';
            config += section;
           #ifdef JUCE_WINDOWS
            config += "]\r\n";
           #else
            config += "]\n";
           #endif
        }

        for (int j = 0; j < sectionSet->size(); j++) {
            config += sectionSet->getName(j).toString();
            config += '=';
            config += sectionSet->getValueAt(j).toString();
           #ifdef JUCE_WINDOWS
            config += "\r\n";
           #else
            config += '\n';
           #endif
        }

       #ifdef JUCE_WINDOWS
        config += "\r\n";
       #else
        config += '\n';
       #endif
    }

    file.replaceWithText(config);
}
예제 #4
-1
파일: load_save.cpp 프로젝트: hztirf/helm
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);
  }
}