00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _AKMONITORERROR_H
00029 #define _AKMONITORERROR_H
00030
00031 #include <AK/SoundEngine/Common/AkSoundEngineExport.h>
00032 #include <AK/SoundEngine/Common/AkTypes.h>
00033
00034 namespace AK
00035 {
00036
00037
00038 namespace Monitor
00039 {
00040
00041 enum ErrorLevel
00042 {
00043 ErrorLevel_Message = (1<<0),
00044 ErrorLevel_Error = (1<<1),
00045
00046 ErrorLevel_All = ErrorLevel_Message | ErrorLevel_Error
00047 };
00048
00049 enum ErrorCode
00050 {
00051 ErrorCode_NoError = 0,
00052 ErrorCode_FileNotFound,
00053 ErrorCode_CannotOpenFile,
00054 ErrorCode_CannotStartStreamNoMemory,
00055 ErrorCode_IODevice,
00056 ErrorCode_IncompatibleIOSettings,
00057
00058 ErrorCode_PluginUnsupportedChannelConfiguration,
00059 ErrorCode_PluginMediaUnavailable,
00060 ErrorCode_PluginInitialisationFailed,
00061 ErrorCode_PluginProcessingFailed,
00062 ErrorCode_PluginExecutionInvalid,
00063 ErrorCode_PluginAllocationFailed,
00064
00065 ErrorCode_VorbisRequireSeekTable,
00066
00067 ErrorCode_VorbisDecodeError,
00068 ErrorCode_AACDecodeError,
00069
00070 ErrorCode_xWMACreateDecoderFailed,
00071
00072 ErrorCode_ATRAC9CreateDecoderFailed,
00073 ErrorCode_ATRAC9CreateDecoderFailedChShortage,
00074 ErrorCode_ATRAC9DecodeFailed,
00075 ErrorCode_ATRAC9ClearContextFailed,
00076 ErrorCode_ATRAC9LoopSectionTooSmall,
00077
00078 ErrorCode_InvalidAudioFileHeader,
00079 ErrorCode_AudioFileHeaderTooLarge,
00080 ErrorCode_FileTooSmall,
00081
00082 ErrorCode_TransitionNotAccurateChannel,
00083 ErrorCode_TransitionNotAccurateStarvation,
00084 ErrorCode_NothingToPlay,
00085 ErrorCode_PlayFailed,
00086
00087 ErrorCode_StingerCouldNotBeScheduled,
00088 ErrorCode_TooLongSegmentLookAhead,
00089 ErrorCode_CannotScheduleMusicSwitch,
00090 ErrorCode_TooManySimultaneousMusicSegments,
00091 ErrorCode_PlaylistStoppedForEditing,
00092 ErrorCode_MusicClipsRescheduledAfterTrackEdit,
00093
00094 ErrorCode_CannotPlaySource_Create,
00095 ErrorCode_CannotPlaySource_VirtualOff,
00096 ErrorCode_CannotPlaySource_TimeSkip,
00097 ErrorCode_CannotPlaySource_InconsistentState,
00098 ErrorCode_MediaNotLoaded,
00099 ErrorCode_VoiceStarving,
00100 ErrorCode_StreamingSourceStarving,
00101 ErrorCode_XMADecoderSourceStarving,
00102 ErrorCode_XMADecodingError,
00103 ErrorCode_InvalidXMAData,
00104
00105 ErrorCode_PluginNotRegistered,
00106 ErrorCode_CodecNotRegistered,
00107 ErrorCode_PluginVersionMismatch,
00108
00109 ErrorCode_EventIDNotFound,
00110
00111 ErrorCode_InvalidGroupID,
00112 ErrorCode_SelectedChildNotAvailable,
00113 ErrorCode_SelectedNodeNotAvailable,
00114 ErrorCode_SelectedMediaNotAvailable,
00115 ErrorCode_NoValidSwitch,
00116
00117 ErrorCode_SelectedNodeNotAvailablePlay,
00118
00119 ErrorCode_FeedbackVoiceStarving,
00120
00121 ErrorCode_BankLoadFailed,
00122 ErrorCode_BankUnloadFailed,
00123 ErrorCode_ErrorWhileLoadingBank,
00124 ErrorCode_InsufficientSpaceToLoadBank,
00125
00126 ErrorCode_LowerEngineCommandListFull,
00127
00128 ErrorCode_SeekNoMarker,
00129 ErrorCode_CannotSeekContinuous,
00130 ErrorCode_SeekAfterEof,
00131
00132 ErrorCode_UnknownGameObject,
00133 ErrorCode_UnknownEmitter,
00134 ErrorCode_UnknownListener,
00135 ErrorCode_GameObjectIsNotListener,
00136 ErrorCode_GameObjectIsNotEmitter,
00137 ErrorCode_UnknownGameObjectEvent,
00138 ErrorCode_GameObjectIsNotEmitterEvent,
00139
00140 ErrorCode_ExternalSourceNotResolved,
00141 ErrorCode_FileFormatMismatch,
00142
00143 ErrorCode_CommandQueueFull,
00144 ErrorCode_CommandTooLarge,
00145
00146 ErrorCode_XMACreateDecoderLimitReached,
00147 ErrorCode_XMAStreamBufferTooSmall,
00148
00149 ErrorCode_ModulatorScopeError_Inst,
00150 ErrorCode_ModulatorScopeError_Obj,
00151
00152 ErrorCode_SeekAfterEndOfPlaylist,
00153
00154 ErrorCode_OpusRequireSeekTable,
00155 ErrorCode_OpusDecodeError,
00156 ErrorCode_OpusCreateDecoderFailed,
00157
00158 ErrorCode_SourcePluginNotFound,
00159
00160 ErrorCode_VirtualVoiceLimit,
00161
00162 ErrorCode_AudioDeviceShareSetNotFound,
00163
00164 ErrorCode_NotEnoughMemoryToStart,
00165
00166 Num_ErrorCodes
00167 };
00168
00169
00170 AK_CALLBACK( void, LocalOutputFunc )(
00171 ErrorCode in_eErrorCode,
00172 const AkOSChar* in_pszError,
00173 ErrorLevel in_eErrorLevel,
00174 AkPlayingID in_playingID,
00175 AkGameObjectID in_gameObjID
00176 );
00177
00178 extern const AkOSChar* s_aszErrorCodes[ Num_ErrorCodes ];
00179
00180
00181
00182
00183
00184
00185
00186 AK_EXTERNAPIFUNC( AKRESULT, PostCode )(
00187 ErrorCode in_eError,
00188 ErrorLevel in_eErrorLevel,
00189 AkPlayingID in_playingID = AK_INVALID_PLAYING_ID,
00190 AkGameObjectID in_gameObjID = AK_INVALID_GAME_OBJECT,
00191 AkUniqueID in_audioNodeID = AK_INVALID_UNIQUE_ID,
00192 bool in_bIsBus = false
00193 );
00194 #ifdef AK_SUPPORT_WCHAR
00195
00196
00197
00198
00199
00200
00201 AK_EXTERNAPIFUNC( AKRESULT, PostString )(
00202 const wchar_t* in_pszError,
00203 ErrorLevel in_eErrorLevel,
00204 AkPlayingID in_playingID = AK_INVALID_PLAYING_ID,
00205 AkGameObjectID in_gameObjID = AK_INVALID_GAME_OBJECT,
00206 AkUniqueID in_audioNodeID = AK_INVALID_UNIQUE_ID,
00207 bool in_bIsBus = false
00208 );
00209 #endif // #ifdef AK_SUPPORT_WCHAR
00210
00211
00212
00213
00214
00215
00216 AK_EXTERNAPIFUNC( AKRESULT, PostString )(
00217 const char* in_pszError,
00218 ErrorLevel in_eErrorLevel,
00219 AkPlayingID in_playingID = AK_INVALID_PLAYING_ID,
00220 AkGameObjectID in_gameObjID = AK_INVALID_GAME_OBJECT,
00221 AkUniqueID in_audioNodeID = AK_INVALID_UNIQUE_ID,
00222 bool in_bIsBus = false
00223 );
00224
00225
00226
00227
00228
00229 AK_EXTERNAPIFUNC( AKRESULT, SetLocalOutput )(
00230 AkUInt32 in_uErrorLevel = ErrorLevel_All,
00231 LocalOutputFunc in_pMonitorFunc = 0
00232 );
00233
00234
00235
00236
00237 AK_EXTERNAPIFUNC( AkTimeMs, GetTimeStamp )();
00238 }
00239 }
00240
00241
00242 #ifndef AK_OPTIMIZED
00243 #define AK_MONITOR_ERROR( in_eErrorCode )\
00244 AK::Monitor::PostCode( in_eErrorCode, AK::Monitor::ErrorLevel_Error )
00245 #else
00246 #define AK_MONITOR_ERROR( in_eErrorCode )
00247 #endif
00248
00249 #ifdef AK_MONITOR_IMPLEMENT_ERRORCODES
00250 namespace AK
00251 {
00252 namespace Monitor
00253 {
00254 const AkOSChar* s_aszErrorCodes[ Num_ErrorCodes ] =
00255 {
00256 AKTEXT("No error"),
00257 AKTEXT("File not found"),
00258 AKTEXT("Cannot open file"),
00259 AKTEXT("Not enough memory to start stream"),
00260 AKTEXT("IO device error"),
00261 AKTEXT("IO settings incompatible with user requirements"),
00262
00263 AKTEXT("Plug-in unsupported channel configuration"),
00264 AKTEXT("Plug-in media unavailable"),
00265 AKTEXT("Plug-in initialization failure"),
00266 AKTEXT("Plug-in execution failure"),
00267 AKTEXT("Invalid plug-in execution mode"),
00268 AKTEXT("Could not allocate effect"),
00269
00270 AKTEXT("Seek table required to seek in Vorbis sources. Please update conversion settings."),
00271
00272 AKTEXT("Vorbis decoder failure"),
00273 AKTEXT("AAC decoder failure"),
00274
00275 AKTEXT("Failed creating xWMA decoder"),
00276
00277 AKTEXT("Failed creating ATRAC9 decoder"),
00278 AKTEXT("Failed creating ATRAC9 decoder: no more ATRAC9 decoding channels available"),
00279 AKTEXT("ATRAC9 decoding failed"),
00280 AKTEXT("ATRAC9 context clear failed"),
00281 AKTEXT("ATRAC9 loop section is too small"),
00282
00283 AKTEXT("Invalid file header"),
00284 AKTEXT("File header too large (due to markers or envelope)"),
00285 AKTEXT("File or loop region is too small to be played properly"),
00286
00287 AKTEXT("Transition not sample-accurate due to mixed channel configurations"),
00288 AKTEXT("Transition not sample-accurate due to source starvation"),
00289 AKTEXT("Nothing to play"),
00290 AKTEXT("Play Failed"),
00291
00292
00293 AKTEXT("Stinger could not be scheduled in this segment or was dropped"),
00294 AKTEXT("Segment look-ahead plus pre-entry duration is longer than previous segment in sequence"),
00295 AKTEXT("Cannot schedule music switch transition in upcoming segments: using Exit Cue"),
00296 AKTEXT("Cannot schedule music segments: Stopping music"),
00297 AKTEXT("Music system is stopped because a music playlist is modified"),
00298 AKTEXT("Rescheduling music clips because a track was modified"),
00299
00300 AKTEXT("Failed creating source"),
00301 AKTEXT("Virtual source failed becoming physical"),
00302 AKTEXT("Error while computing virtual source elapsed time"),
00303 AKTEXT("Inconsistent source status"),
00304 AKTEXT("Media was not loaded for this source"),
00305 AKTEXT("Voice Starvation"),
00306 AKTEXT("Source starvation"),
00307 AKTEXT("XMA decoder starvation"),
00308 AKTEXT("XMA decoding error"),
00309 AKTEXT("Invalid XMA data - Make sure data is allocated from APU memory and is aligned to 2K."),
00310
00311 AKTEXT("Plug-in not registered"),
00312 AKTEXT("Codec plug-in not registered"),
00313 AKTEXT("Plug-in version doesn't match sound engine version. Please ensure the plug-in is compatible with this version of Wwise"),
00314
00315 AKTEXT("Event ID not found"),
00316
00317 AKTEXT("Invalid State Group ID"),
00318 AKTEXT("Selected Child Not Available"),
00319 AKTEXT("Selected Node Not Available"),
00320 AKTEXT("Selected Media Not Available"),
00321 AKTEXT("No Valid Switch"),
00322
00323 AKTEXT("Selected node not available. Make sure the structure associated to the event is loaded or that the event has been prepared"),
00324
00325 AKTEXT("Motion voice starvation"),
00326
00327 AKTEXT("Bank Load Failed"),
00328 AKTEXT("Bank Unload Failed"),
00329 AKTEXT("Error while loading bank"),
00330 AKTEXT("Insufficient Space to Load Bank"),
00331
00332 AKTEXT("Lower engine command list is full"),
00333
00334 AKTEXT("No marker in file; seeking to specified location"),
00335 AKTEXT("Cannot seek in sound that is within a continuous container with special transitions"),
00336 AKTEXT("Seeking after end of file. Playback will stop"),
00337
00338 AKTEXT("Unknown game object ID. Make sure the game object is registered before using it and do not use it once it was unregistered."),
00339
00340 AKTEXT("Unknown emitter game object ID. Make sure the game object is registered before using it and do not use it once it was unregistered."),
00341 AKTEXT("Unknown listener game object ID. Make sure the game object is registered before using it and do not use it once it was unregistered."),
00342 AKTEXT("The requested game object is not a listener."),
00343 AKTEXT("The requested game object is not an emitter."),
00344
00345 AKTEXT("Unknown emitter game object ID on event. Make sure the game object is registered before using it and do not use it once it was unregistered."),
00346 AKTEXT("The requested game object for an event was not registered as an emitter. Make sure the game object is registered as an emitter before using it to post an event."),
00347
00348 AKTEXT("External source missing from PostEvent call"),
00349 AKTEXT("Source file is of different format than expected"),
00350 AKTEXT("Audio command queue is full, blocking caller. Reduce number of calls to sound engine or boost command queue memory."),
00351 AKTEXT("Audio command is too large to fit in the command queue. Break the command in smaller pieces."),
00352
00353 AKTEXT("Failed creating XMA decoder: no more XMA voices available"),
00354 AKTEXT("Failed seeking in XMA source: stream buffer is smaller than XMA block size"),
00355
00356 AKTEXT("Triggered a note-scoped or playing-instance-scoped modulator in a global context (such as a bus or bus effect). Modulator will have global scope."),
00357 AKTEXT("Triggered a game-object-scoped modulator in a global context (such as a bus or bus effect). Modulator will have global scope."),
00358
00359 AKTEXT("Ignoring seek after end of playlist"),
00360
00361 AKTEXT("Seek table required to seek in Opus sources. Please update conversion settings."),
00362 AKTEXT("Opus decoder failure"),
00363 AKTEXT("Failed creating Opus decoder"),
00364
00365 AKTEXT("Source plugin not found in currently loaded banks."),
00366
00367 AKTEXT("Number of Resume and/or Play-From-Beginning virtual voices has reached warning limit (see Project Settings > Log tab). There may be some infinite, leaked voices.") ,
00368
00369 AKTEXT("AK::SoundEngine::AddOutput() - Device ShareSet not found in Init bank."),
00370
00371 AKTEXT("Not enough memory to start sound."),
00372
00373 };
00374 }
00375 }
00376 #endif // AK_MONITOR_IMPLEMENT_ERRORCODES
00377
00378 #endif // _AKMONITORERROR_H