Changeset 20855

Show
Ignore:
Timestamp:
09/25/07 10:51:44 (1 year ago)
Author:
patrick
Message:

Take some steps to centralize the creation of the string form of an OpenAL
error. This really isn't much better than what was already there, but I feel
that it is going in the right direction.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • juggler/branches/2.2/modules/sonix/plugins/OpenAL/OpenALSoundImplementation.cpp

    r20853 r20855  
    116116///////////////////////// 
    117117 
     118namespace 
     119{ 
     120 
     121std::string getAlErrorString(const ALenum errCode) 
     122{ 
     123   std::string msg; 
     124 
     125   switch ( errCode ) 
     126   { 
     127      case AL_NO_ERROR: 
     128         msg = "AL_NO_ERROR"; 
     129         break; 
     130      case AL_INVALID_NAME: 
     131         msg = "AL_INVALID_NAME"; 
     132         break; 
     133      case AL_INVALID_ENUM: 
     134         msg = "AL_INVALID_ENUM"; 
     135         break; 
     136      case AL_INVALID_VALUE: 
     137         msg = "AL_INVALID_VALUE"; 
     138         break; 
     139      case AL_INVALID_OPERATION: 
     140         msg = "AL_INVALID_OPERATION"; 
     141         break; 
     142      case AL_OUT_OF_MEMORY: 
     143         msg = "AL_OUT_OF_MEMORY"; 
     144         break; 
     145   } 
     146 
     147   return msg; 
     148} 
     149 
     150} 
     151 
    118152namespace snx 
    119153{ 
     
    697731         if (err != AL_NO_ERROR) 
    698732         { 
    699             vprDEBUG(snxDBG, vprDBG_CONFIG_LVL) 
     733            vprDEBUG(snxDBG, vprDBG_WARNING_LVL) 
    700734               << clrOutNORM(clrYELLOW, "ERROR:") 
    701735               << "Could not gen a buffer [err=" << err << "]\n" 
    702736               << vprDEBUG_FLUSH; 
    703             switch (err) 
    704             { 
    705                case AL_INVALID_VALUE: 
    706                   vprDEBUG(snxDBG, vprDBG_CONFIG_LVL) 
    707                      << clrOutNORM(clrYELLOW, "       invalid value < 0\n") 
    708                      << vprDEBUG_FLUSH; 
    709                   break; 
    710                case AL_OUT_OF_MEMORY: 
    711                   vprDEBUG(snxDBG, vprDBG_CONFIG_LVL) 
    712                      << clrOutNORM(clrYELLOW, "       out of memory\n") 
    713                      << vprDEBUG_FLUSH; 
    714                   break; 
    715                default: 
    716                   vprDEBUG(snxDBG, vprDBG_CONFIG_LVL) 
    717                      << clrOutNORM(clrYELLOW, "       unknown error\n") 
    718                      << vprDEBUG_FLUSH; 
    719                   break; 
    720             } 
     737            vprDEBUG_NEXT(snxDBG, vprDBG_WARNING_LVL) 
     738               << getAlErrorString(err) << std::endl << vprDEBUG_FLUSH; 
    721739         } 
    722740 
     
    853871   if (mBindLookup.count( alias ) > 0) 
    854872   { 
    855       int err = alGetError(); 
     873      ALenum err = alGetError(); 
    856874      alDeleteSources( 1, &mBindLookup[alias].source ); 
    857875      err = alGetError(); 
    858876      if (err != AL_NO_ERROR) 
    859877      { 
    860          vprDEBUG(snxDBG, vprDBG_CONFIG_LVL) 
    861             << "ERROR: unbind() deleting source\n" << vprDEBUG_FLUSH; 
     878         vprDEBUG(snxDBG, vprDBG_WARNING_LVL) 
     879            << "ERROR: unbind() failed to delete source:\n" 
     880            << vprDEBUG_FLUSH; 
     881         vprDEBUG_NEXT(snxDBG, vprDBG_WARNING_LVL) 
     882            << getAlErrorString(err) << std::endl << vprDEBUG_FLUSH; 
    862883      } 
    863884      alDeleteBuffers( 1, &mBindLookup[alias].buffer ); 
     
    865886      if (err != AL_NO_ERROR) 
    866887      { 
    867          vprDEBUG(snxDBG, vprDBG_CONFIG_LVL) 
    868             << "ERROR: unbind() deleting buffer\n" << vprDEBUG_FLUSH; 
     888         vprDEBUG(snxDBG, vprDBG_WARNING_LVL) 
     889            << "ERROR: unbind() failed to delete buffer buffer:\n" 
     890            << vprDEBUG_FLUSH; 
     891         vprDEBUG_NEXT(snxDBG, vprDBG_WARNING_LVL) 
     892            << getAlErrorString(err) << std::endl << vprDEBUG_FLUSH; 
    869893      } 
    870894      mBindLookup.erase( alias );