407 #ifdef USE_SOUNDSERVER
408 int socketr = me->socketr;
409 while (!me->killthread) {
410 printf(
"Reading from socket %d\n", socketr );
412 printf(
"Got data from socket %c\n", data );
418 while (!me->killthread) {
420 WaitForSingleObject( me->musicinfo_mutex, INFINITE );
422 checkerr( pthread_mutex_lock( &me->musicinfo_mutex ) );
424 if (me->killthread)
break;
425 me->music_loading =
true;
426 me->music_loaded =
false;
427 me->music_load_info->success =
false;
428 size_t len = me->music_load_info->hashname.length();
429 char *songname = (
char*) malloc( len+1 );
430 songname[len] =
'\0';
431 memcpy( songname, me->music_load_info->hashname.data(), len );
432 std::map< std::string, AUDSoundProperties >::iterator wherecache =
cachedSongs.find( songname );
434 static std::string cachable_songs =
vs_config->
getVariable(
"audio",
"cache_songs",
"../music/land.ogg" );
435 bool docacheme = cachable_songs.find( songname ) != std::string::npos;
436 if (foundcache ==
false && docacheme) {
437 me->music_load_info->wave = NULL;
442 ReleaseMutex( me->musicinfo_mutex );
444 checkerr( pthread_mutex_unlock( &me->musicinfo_mutex ) );
449 *me->music_load_info = wherecache->second;
456 if (me->freeWav && docacheme) {
458 wherecache->second = *me->music_load_info;
461 me->music_loaded =
true;
462 while (me->music_loaded)