Пример #1
0
bool ParameterManager::handleMessage(const message::SetParameter &param) {

    // sent by controller
    switch (param.getParameterType()) {
    case Parameter::Integer:
        setIntParameter(param.getName(), param.getInteger(), &param);
        break;
    case Parameter::Float:
        setFloatParameter(param.getName(), param.getFloat(), &param);
        break;
    case Parameter::Vector:
        setVectorParameter(param.getName(), param.getVector(), &param);
        break;
    case Parameter::IntVector:
        setIntVectorParameter(param.getName(), param.getIntVector(), &param);
        break;
    case Parameter::String:
        setStringParameter(param.getName(), param.getString(), &param);
        break;
    default:
        std::cerr << "Module::handleMessage: unknown parameter type " << param.getParameterType() << std::endl;
        vassert("unknown parameter type" == 0);
        break;
    }

    return true;
}
Пример #2
0
static int
spk_construct (volatile SpeechSynthesizer *spk, char **parameters) {
  swift_result_t result;

  spk->setVolume = spk_setVolume;
  spk->setRate = spk_setRate;

  if (setEnvironmentVariable("SWIFT_HOME", SWIFT_ROOT)) {
    swift_params *engineParameters;

    if ((engineParameters = swift_params_new(NULL))) {
      if ((swiftEngine = swift_engine_open(engineParameters))) {
        if ((swiftPort = swift_port_open(swiftEngine, NULL))) {
          {
            const char *name = parameters[PARM_NAME];
            if (name && *name) {
              swift_voice *voice;
              if (*name == '/') {
                logMessage(LOG_DEBUG, "setting swift voice directory: %s", name);
                voice = swift_port_set_voice_from_dir(swiftPort, name);
              } else {
                logMessage(LOG_DEBUG, "setting swift voice name: %s", name);
                voice = swift_port_set_voice_by_name(swiftPort, name);
              }

              if (!voice) {
                 logMessage(LOG_WARNING, "Swift voice set error: %s", name);
              }
            }
          }

          setStringParameter("tts/content-type", "text/plain");

          logMessage(LOG_INFO, "Swift Engine: %s for %s, version %s, %s",
                     swift_engine_name, swift_platform, swift_version, swift_date);
          return 1;
        } else {
          logMessage(LOG_ERR, "Swift port open error.");
        }

        if ((result = swift_engine_close(swiftEngine)) != SWIFT_SUCCESS) {
          speechError(result, "engine close");
        }
        swiftEngine = NULL;
      } else {
        logMessage(LOG_ERR, "Swift engine open error.");
      }
    } else {
      logMessage(LOG_ERR, "Swift engine parameters allocation error.");
    }
  }

  return 0;
}