CRI ADX  Last Updated: 2024-07-17 10:47 p
Debug Logging Function
Sound playback log in the game can be retrieved.
Reproducing the log on the tool facilitates finding problems and adjusting parameters.
To use this feature, the AtomExMonitor library needs to be linked to an application.



How to Get Log Data
The following two ways to get log data are available:

  1. Get log data by the callback function
    By specifying a callback function in the same way as the error callback function, an application can get log data.
    When registering a callback function, various information, for example, character strings that describe the log command contents, can be passed to the callback function.
  2. Get log data on the host PC in cooperation with CRI Atom Craft (not implemented yet)
    After establishing a connection to CRI Atom Craft, log data can be retrieved by the operations on the CRI Atom Craft.

The Content of Log Data
Currently, log data can be retrieved in the following processes:

  1. Calling to ADX library API
    • Initialization/Finalization API: xxx_Initialize(), xxx_Finalize()
      (platform specific functions are not supported, for now)
    • Creation/Destruction API: xxx_Create(), xxx_Destroy()
    • Playback control API: xxx_Start(), xxx_Stop(), xxx_Pause()
    • Parameter setting API (not implemented yet): xxx_SetVolume(), xxx_SetPitch()
    • Data loading API (Load/Release ACF and ACB)
  2. Error callback
    • Content of error callback
  3. Playback control within the library
    • Allocate/Release by CriAtomExPlaybackId (CriAtomExPlaybackInfo)
    • Playback control by CriAtomSoundPlayer
    • Allocate/Release by CriAtomSoundPlaybackId
    • Allocate/Release by CriAtomPlayerPoolPlayerInfo


The following items are added in all of the log records:
  • Identifier: #CRIATOM (#CRIATOMDEF for command description)
  • Time stamp info (AtomSoundTime): in units of microseconds
  • Thread ID info
  • Log command: to identify the log content
  • Command info: arguments, structure, handle, etc.

[Note]
Implementation level of this feature is beta version, and this feature is going to be improved continuously.