Пример #1
0
void tts_initialize( void )
{
   // Load the configuraiton
   tts_load_config();

   // Set the comfiguration to the Server defined
   if ( !sgTtsVoiceId[0] || !strcmp( sgTtsVoiceId, TTS_CFG_VOICE_ID_NOT_DEFINED ) )
   {
      roadmap_config_set( &RMConfigTTSVoiceId, sgTtsDefaultVoiceId );
      sgTtsVoiceId = sgTtsDefaultVoiceId;
   }

   // Voices initialization
   tts_voices_initialize( _voice_updated );

   // Queue initialization
   tts_queue_init();

   // Cache initialization
   tts_cache_initialize();

   // Provider context pool initialization
   _provider_ctx_init();

   if ( !tts_feature_enabled() )
      return;

   // Find active provider
   if ( !( sgActiveProvider = _voice_service_provider( sgTtsVoiceId ) ) )
   {
      roadmap_log( ROADMAP_WARNING, TTS_LOG_STR( "Provider is not registered for current voice id: %s." ), sgTtsVoiceId );
      sgTtsVoiceId = sgTtsDefaultVoiceId;
      if ( !( sgActiveProvider = _voice_service_provider( sgTtsVoiceId ) ) )
      {
         roadmap_log( ROADMAP_ERROR, TTS_LOG_STR( "Critical TTS Engine error. Provider is not registered for default voice id: %s." ), sgTtsVoiceId );
         return;
      }
   }

   if ( sgActiveProvider->prepare_cb )
      sgActiveProvider->prepare_cb();

   sgActiveRequestsCount = 0;

   // Cache voice
   tts_cache_set_voice( sgTtsVoiceId, sgActiveProvider->storage_type );
}
Пример #2
0
void tts_set_voice( const char* voice_id )
{
   const TtsProvider* provider;

   if ( !tts_feature_enabled() )
      return;

   if ( !voice_id || ( sgActiveProvider && !strcmp( voice_id, sgTtsVoiceId ) ) )
      return;

   roadmap_log( ROADMAP_INFO, TTS_LOG_STR( "Voice change request: %s => %s" ), SAFE_STR( sgTtsVoiceId ), SAFE_STR( voice_id ) );

   // Find active provider
   if ( !( provider = _voice_service_provider( voice_id ) ) )
   {
      roadmap_log( ROADMAP_ERROR, TTS_LOG_STR( "Critical TTS Engine error. Provider is not registered for voice id: %s." ), sgTtsVoiceId );
      return;
   }

   if ( !TTS_VOICE_VALID( tts_voices_get( voice_id, NULL ) ) )
   {
      roadmap_log( ROADMAP_WARNING, TTS_LOG_STR( "Current voice %s is not valid. Server may not support the requests" ), voice_id );
   }

   sgActiveProvider = provider;
   sgActiveRequestsCount = 0;

   if ( sgActiveProvider->prepare_cb )
      sgActiveProvider->prepare_cb();

   sgTtsVoiceId = voice_id;

   tts_cache_set_voice( sgTtsVoiceId, sgActiveProvider->storage_type );

   roadmap_config_set( &RMConfigTTSVoiceId, sgTtsVoiceId );

   _voice_changed( sgTtsVoiceId, FALSE );

}
Пример #3
0
static void on_search(void)
{
   SsdWidget      list_cont;
   SsdWidget      edit;
   const char*    text;
   roadmap_result rc;
   const char*		dl_prefix = roadmap_lang_get ("map:");
   SsdWidget dlg = generic_search_dlg_get_search_dlg(search_address);

   edit = generic_search_dlg_get_search_edit_box(search_address);
   if ( !strcmp( DEBUG_LEVEL_SET_PATTERN, ssd_text_get_text( edit ) ) )
   {
      roadmap_start_reset_debug_mode();
      return;
   }

   if ( !strcmp( "##@coord", ssd_text_get_text( edit ) ) )
   {
      roadmap_gps_reset_show_coordinates();
      return;
   }

   if ( !strcmp( "##@il", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_il(NULL);
      return;
   }
   if ( !strcmp( "##@usa", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_usa(NULL);
      return;
   }
   if ( !strcmp( "##@other", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_other(NULL);
      return;
   }
   if ( !strcmp( "##@stg", ssd_text_get_text( edit ) ) )
   {
      roadmap_geo_config_stg(NULL);
      return;
   }


    if ( !strcmp( "##@heb", ssd_text_get_text( edit ) ) )
   {
      roadmap_lang_set_system_lang("heb", TRUE);
      roadmap_messagebox("", "Language changed to Hebrew, please restart waze");
      return;
   }

   if ( !strcmp( "##@eng", ssd_text_get_text( edit ) ) )
   {
      roadmap_lang_set_system_lang("eng", TRUE);
      roadmap_messagebox("","Language changed to English, please restart waze");
      return;
   }
   if ( !strcmp( "cc@tts", ssd_text_get_text( edit ) ) )
   {
      tts_clear_cache();
      roadmap_messagebox("","TTS cache has been cleared!");
      return;
   }
   if ( !strcmp( "##@tts", ssd_text_get_text( edit ) ) )
   {
      tts_set_feature_enabled( !tts_feature_enabled() );
      if ( tts_feature_enabled() )
      {
         roadmap_messagebox("","TTS Feature is enabled!\nPlease restart WAZE.");
      }
      else
      {
         roadmap_messagebox("","TTS Feature is disabled!");

      }
      navigate_main_override_nav_settings();
      return;
   }
   if ( !strcmp( "dbg@tts", ssd_text_get_text( edit ) ) )
   {
      if ( !strcmp( tts_was_provider_voices_set(), TTS_WAS_VOICES_SET_PRODUCTION ) )
      {
         tts_was_provider_apply_voices_set( TTS_WAS_VOICES_SET_DEBUG );
         roadmap_messagebox("","TTS Feature is running in debug mode!\nPlease restart WAZE.");
      }
      else
      {
         tts_was_provider_apply_voices_set( TTS_WAS_VOICES_SET_PRODUCTION );
         roadmap_messagebox("","TTS Feature is running in production mode!\nPlease restart WAZE.");
      }
      return;
   }

   if ( !strncmp( dl_prefix, ssd_text_get_text( edit ), strlen( dl_prefix ) ) )
   {
   	roadmap_map_download_region( ssd_text_get_text( edit ) + strlen( dl_prefix ),
   										  roadmap_locator_static_county() );
      ssd_dialog_hide_all( dec_close);

      if (!roadmap_screen_refresh ())
           roadmap_screen_redraw();
   	return;
   }

   s_searching = TRUE;

   roadmap_main_set_periodic( 100, search_progress_message_delayed );

   text     = ssd_text_get_text( edit );
   list_cont=  dlg->context;

   rc = address_search_resolve_address( list_cont, on_address_resolved, text );
   if( succeeded == rc)
   {
      roadmap_main_set_cursor( ROADMAP_CURSOR_WAIT);
      roadmap_log(ROADMAP_DEBUG,
                  "address_search_dlg::on_search() - Started Web-Service transaction: Resolve address");
   }
   else
   {
      const char* err = roadmap_result_string( rc);
      s_searching = FALSE;
      roadmap_log(ROADMAP_ERROR,
                  "address_search_dlg::on_search() - Resolve process transaction failed to start");
      /* Close the progress message */
      ssd_progress_msg_dialog_hide();
      roadmap_messagebox_cb ( roadmap_lang_get( "Resolve Address"),
                           roadmap_lang_get( err ), on_search_error_message );
   }
}