Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
KODI::RETRO Namespace Reference

Classes

struct  AudioStreamPacket
 
struct  AudioStreamProperties
 
class  CAudioTranslator
 
class  CBaseRenderBuffer
 
class  CBaseRenderBufferPool
 
class  CBasicMemoryStream
 
class  CCheevos
 
class  CDeltaPairMemoryStream
 Implementation of a linear memory stream using XOR deltas. More...
 
class  CGameLoop
 
class  CGameWindowFullScreen
 
class  CGameWindowFullScreenText
 
class  CGUIGameControl
 
class  CGUIGameMessenger
 Class to send messages to the GUI, if a GUI is present. More...
 
class  CGUIGameRenderManager
 Class to safely route commands between the GUI and RetroPlayer. More...
 
class  CGUIGameSettings
 
class  CGUIGameSettingsHandle
 
class  CGUIGameVideoHandle
 
class  CGUIPlaybackControl
 Class to control playback by monitoring OSD status. More...
 
class  CGUIRenderControl
 
class  CGUIRenderControlHandle
 
class  CGUIRenderFullScreen
 
class  CGUIRenderFullScreenHandle
 
class  CGUIRenderHandle
 
class  CGUIRenderSettings
 
class  CGUIRenderTarget
 A target of rendering commands. More...
 
class  CGUIRenderTargetFactory
 
class  CLinearMemoryStream
 
class  CRealtimePlayback
 
class  CRenderBufferDMA
 Special IRenderBuffer implementation for use with CBufferObject. This buffer type uses Direct Memory Access (DMA) sharing via file descriptors (fds). The file descriptor is then used to create an EGL image. More...
 
class  CRenderBufferGuiTexture
 
class  CRenderBufferManager
 
class  CRenderBufferOpenGL
 
class  CRenderBufferOpenGLES
 
class  CRenderBufferPoolDMA
 Special IRenderBufferPool implementation that converts AVPixelFormat to DRM_FORMAT_* for use with CRenderBufferDMA. More...
 
class  CRenderBufferPoolGuiTexture
 
class  CRenderBufferPoolOpenGL
 
class  CRenderBufferPoolOpenGLES
 
class  CRenderBufferSysMem
 
class  CRenderContext
 
class  CRendererFactoryDMA
 
class  CRendererFactoryGuiTexture
 
class  CRendererFactoryOpenGL
 
class  CRendererFactoryOpenGLES
 
class  CRenderSettings
 
class  CRenderTranslator
 
class  CRenderUtils
 
class  CRenderVideoSettings
 Video settings provided by the rendering system. More...
 
class  CRetroPlayer
 
class  CRetroPlayerAudio
 
class  CRetroPlayerAutoSave
 
class  CRetroPlayerInput
 
class  CRetroPlayerUtils
 
class  CRetroPlayerVideo
 Renders video frames provided by the game loop. More...
 
class  CReversiblePlayback
 
class  CRPBaseRenderer
 
class  CRPProcessInfo
 Player process info. More...
 
class  CRPProcessInfoAndroid
 
class  CRPProcessInfoGbm
 
class  CRPProcessInfoIOS
 
class  CRPProcessInfoOSX
 
class  CRPProcessInfoWayland
 
class  CRPProcessInfoWin
 
class  CRPProcessInfoX11
 
class  CRPRendererDMA
 Special CRPBaseRenderer implementation to handle Direct Memory Access (DMA) buffer types. For specific use with CRenderBufferPoolDMA and CRenderBufferDMA. A windowing system must register use of this renderer and register at least one CBufferObject types. More...
 
class  CRPRendererGuiTexture
 
class  CRPRendererOpenGL
 
class  CRPRendererOpenGLES
 
class  CRPRenderManager
 Renders video frames provided by the game loop. More...
 
class  CRPStreamManager
 
class  CRPWinOutputShader
 
class  CRPWinRenderer
 
class  CSavestateDatabase
 
class  CSavestateFlatBuffer
 
class  CWinRenderBuffer
 
class  CWinRenderBufferPool
 
class  CWinRendererFactory
 
struct  DeleteStream
 
class  IAutoSaveCallback
 
class  IGameCallback
 
class  IGameLoopCallback
 
class  IGUIRenderSettings
 Interface to pass render settings from the GUI to the renderer. More...
 
class  IMemoryStream
 Stream of serialized states from game clients. More...
 
class  IPlayback
 
class  IPlaybackCallback
 The playback client being controlled. More...
 
class  IPlaybackControl
 Class that can control playback and input. More...
 
class  IRenderBuffer
 
class  IRenderBufferPool
 
class  IRenderCallback
 
class  IRendererFactory
 Rendering factory. More...
 
class  IRenderManager
 Interface to expose rendering functions to GUI components. More...
 
class  IRetroPlayerStream
 
class  ISavestate
 
class  IStreamManager
 
struct  StreamBuffer
 
struct  StreamPacket
 
struct  StreamProperties
 
struct  VideoStreamBuffer
 
struct  VideoStreamPacket
 
struct  VideoStreamProperties
 

Typedefs

using CreateRPProcessControl = std::function<std::unique_ptr<CRPProcessInfo>()>
 Process info factory.
 
using RenderBufferPoolPtr = std::shared_ptr<IRenderBufferPool>
 
using RenderBufferPoolVector = std::vector<RenderBufferPoolPtr>
 
using StreamPtr = std::unique_ptr<IRetroPlayerStream, DeleteStream>
 
using AudioChannelMap = std::array<AudioChannel, static_cast<unsigned int>(AudioChannel::CH_COUNT)>
 

Enumerations

enum class  SCALINGMETHOD { AUTO = 0 , NEAREST = 1 , LINEAR = 2 , MAX = LINEAR }
 
enum class  STRETCHMODE {
  STRETCHMODE::Normal , STRETCHMODE::Stretch4x3 , STRETCHMODE::Fullscreen , STRETCHMODE::Original ,
  STRETCHMODE::Zoom
}
 Methods for stretching the game to the viewing area. More...
 
enum class  RENDERFEATURE { ROTATION , STRETCH , ZOOM , PIXEL_RATIO }
 
enum class  RConsoleID {
  RC_INVALID_ID = -1 , RC_CONSOLE_MEGA_DRIVE = 1 , RC_CONSOLE_NINTENDO_64 = 2 , RC_CONSOLE_SUPER_NINTENDO = 3 ,
  RC_CONSOLE_GAMEBOY = 4 , RC_CONSOLE_GAMEBOY_ADVANCE = 5 , RC_CONSOLE_GAMEBOY_COLOR = 6 , RC_CONSOLE_NINTENDO = 7 ,
  RC_CONSOLE_PC_ENGINE = 8 , RC_CONSOLE_SEGA_CD = 9 , RC_CONSOLE_SEGA_32X = 10 , RC_CONSOLE_MASTER_SYSTEM = 11 ,
  RC_CONSOLE_PLAYSTATION = 12 , RC_CONSOLE_ATARI_LYNX = 13 , RC_CONSOLE_NEOGEO_POCKET = 14 , RC_CONSOLE_GAME_GEAR = 15 ,
  RC_CONSOLE_GAMECUBE = 16 , RC_CONSOLE_ATARI_JAGUAR = 17 , RC_CONSOLE_NINTENDO_DS = 18 , RC_CONSOLE_WII = 19 ,
  RC_CONSOLE_WII_U = 20 , RC_CONSOLE_PLAYSTATION_2 = 21 , RC_CONSOLE_XBOX = 22 , RC_CONSOLE_MAGNAVOX_ODYSSEY = 23 ,
  RC_CONSOLE_POKEMON_MINI = 24 , RC_CONSOLE_ATARI_2600 = 25 , RC_CONSOLE_MS_DOS = 26 , RC_CONSOLE_ARCADE = 27 ,
  RC_CONSOLE_VIRTUAL_BOY = 28 , RC_CONSOLE_MSX = 29 , RC_CONSOLE_COMMODORE_64 = 30 , RC_CONSOLE_ZX81 = 31 ,
  RC_CONSOLE_ORIC = 32 , RC_CONSOLE_SG1000 = 33 , RC_CONSOLE_VIC20 = 34 , RC_CONSOLE_AMIGA = 35 ,
  RC_CONSOLE_AMIGA_ST = 36 , RC_CONSOLE_AMSTRAD_PC = 37 , RC_CONSOLE_APPLE_II = 38 , RC_CONSOLE_SATURN = 39 ,
  RC_CONSOLE_DREAMCAST = 40 , RC_CONSOLE_PSP = 41 , RC_CONSOLE_CDI = 42 , RC_CONSOLE_3DO = 43 ,
  RC_CONSOLE_COLECOVISION = 44 , RC_CONSOLE_INTELLIVISION = 45 , RC_CONSOLE_VECTREX = 46 , RC_CONSOLE_PC8800 = 47 ,
  RC_CONSOLE_PC9800 = 48 , RC_CONSOLE_PCFX = 49 , RC_CONSOLE_ATARI_5200 = 50 , RC_CONSOLE_ATARI_7800 = 51 ,
  RC_CONSOLE_X68K = 52 , RC_CONSOLE_WONDERSWAN = 53 , RC_CONSOLE_CASSETTEVISION = 54 , RC_CONSOLE_SUPER_CASSETTEVISION = 55 ,
  RC_CONSOLE_NEO_GEO_CD = 56 , RC_CONSOLE_FAIRCHILD_CHANNEL_F = 57 , RC_CONSOLE_FM_TOWNS = 58 , RC_CONSOLE_ZX_SPECTRUM = 59 ,
  RC_CONSOLE_GAME_AND_WATCH = 60 , RC_CONSOLE_NOKIA_NGAGE = 61 , RC_CONSOLE_NINTENDO_3DS = 62 , RC_CONSOLE_HUBS = 100 ,
  RC_CONSOLE_EVENTS = 101
}
 
enum class  RENDER_HANDLE { CONTROL , WINDOW }
 
enum class  DataAccess { READ_ONLY , WRITE_ONLY , READ_WRITE }
 
enum class  DataAlignment { DATA_UNALIGNED , DATA_ALIGNED }
 
enum class  SAVE_TYPE { UNKNOWN , AUTO , MANUAL }
 Type of save action, either: More...
 
enum class  StreamType { AUDIO , VIDEO , SW_BUFFER , HW_BUFFER }
 
enum class  PCMFormat { FMT_UNKNOWN , FMT_S16NE }
 
enum class  AudioChannel {
  CH_NULL , CH_FL , CH_FR , CH_FC ,
  CH_LFE , CH_BL , CH_BR , CH_FLOC ,
  CH_FROC , CH_BC , CH_SL , CH_SR ,
  CH_TFL , CH_TFR , CH_TFC , CH_TC ,
  CH_TBL , CH_TBR , CH_TBC , CH_BLOC ,
  CH_BROC , CH_COUNT
}
 
enum class  PixelFormat { FMT_UNKNOWN , FMT_0RGB8888 , FMT_RGB565 , FMT_0RGB1555 }
 
enum class  VideoRotation { ROTATION_0 , ROTATION_90_CCW , ROTATION_180_CCW , ROTATION_270_CCW }
 

Variables

constexpr const char * STRETCHMODE_NORMAL_ID = "normal"
 
constexpr const char * STRETCHMODE_STRETCH_4_3_ID = "4:3"
 
constexpr const char * STRETCHMODE_FULLSCREEN_ID = "fullscreen"
 
constexpr const char * STRETCHMODE_ORIGINAL_ID = "original"
 
constexpr const char * STRETCHMODE_ZOOM_ID = "zoom"
 
constexpr const char * NO_PIXEL_DATA = "-"
 

Typedef Documentation

◆ AudioChannelMap

using KODI::RETRO::AudioChannelMap = std::array<AudioChannel, static_cast<unsigned int>(AudioChannel::CH_COUNT)>

◆ CreateRPProcessControl

using KODI::RETRO::CreateRPProcessControl = std::function<std::unique_ptr<CRPProcessInfo>()>

Process info factory.

◆ RenderBufferPoolPtr

◆ RenderBufferPoolVector

◆ StreamPtr

Enumeration Type Documentation

◆ AudioChannel

enum class KODI::RETRO::AudioChannel
strong
Enumerator
CH_NULL 
CH_FL 
CH_FR 
CH_FC 
CH_LFE 
CH_BL 
CH_BR 
CH_FLOC 
CH_FROC 
CH_BC 
CH_SL 
CH_SR 
CH_TFL 
CH_TFR 
CH_TFC 
CH_TC 
CH_TBL 
CH_TBR 
CH_TBC 
CH_BLOC 
CH_BROC 
CH_COUNT 

◆ DataAccess

enum class KODI::RETRO::DataAccess
strong
Enumerator
READ_ONLY 
WRITE_ONLY 
READ_WRITE 

◆ DataAlignment

enum class KODI::RETRO::DataAlignment
strong
Enumerator
DATA_UNALIGNED 
DATA_ALIGNED 

◆ PCMFormat

enum class KODI::RETRO::PCMFormat
strong
Enumerator
FMT_UNKNOWN 
FMT_S16NE 

◆ PixelFormat

enum class KODI::RETRO::PixelFormat
strong
Enumerator
FMT_UNKNOWN 
FMT_0RGB8888 
FMT_RGB565 
FMT_0RGB1555 

◆ RConsoleID

enum class KODI::RETRO::RConsoleID
strong
Enumerator
RC_INVALID_ID 
RC_CONSOLE_MEGA_DRIVE 
RC_CONSOLE_NINTENDO_64 
RC_CONSOLE_SUPER_NINTENDO 
RC_CONSOLE_GAMEBOY 
RC_CONSOLE_GAMEBOY_ADVANCE 
RC_CONSOLE_GAMEBOY_COLOR 
RC_CONSOLE_NINTENDO 
RC_CONSOLE_PC_ENGINE 
RC_CONSOLE_SEGA_CD 
RC_CONSOLE_SEGA_32X 
RC_CONSOLE_MASTER_SYSTEM 
RC_CONSOLE_PLAYSTATION 
RC_CONSOLE_ATARI_LYNX 
RC_CONSOLE_NEOGEO_POCKET 
RC_CONSOLE_GAME_GEAR 
RC_CONSOLE_GAMECUBE 
RC_CONSOLE_ATARI_JAGUAR 
RC_CONSOLE_NINTENDO_DS 
RC_CONSOLE_WII 
RC_CONSOLE_WII_U 
RC_CONSOLE_PLAYSTATION_2 
RC_CONSOLE_XBOX 
RC_CONSOLE_MAGNAVOX_ODYSSEY 
RC_CONSOLE_POKEMON_MINI 
RC_CONSOLE_ATARI_2600 
RC_CONSOLE_MS_DOS 
RC_CONSOLE_ARCADE 
RC_CONSOLE_VIRTUAL_BOY 
RC_CONSOLE_MSX 
RC_CONSOLE_COMMODORE_64 
RC_CONSOLE_ZX81 
RC_CONSOLE_ORIC 
RC_CONSOLE_SG1000 
RC_CONSOLE_VIC20 
RC_CONSOLE_AMIGA 
RC_CONSOLE_AMIGA_ST 
RC_CONSOLE_AMSTRAD_PC 
RC_CONSOLE_APPLE_II 
RC_CONSOLE_SATURN 
RC_CONSOLE_DREAMCAST 
RC_CONSOLE_PSP 
RC_CONSOLE_CDI 
RC_CONSOLE_3DO 
RC_CONSOLE_COLECOVISION 
RC_CONSOLE_INTELLIVISION 
RC_CONSOLE_VECTREX 
RC_CONSOLE_PC8800 
RC_CONSOLE_PC9800 
RC_CONSOLE_PCFX 
RC_CONSOLE_ATARI_5200 
RC_CONSOLE_ATARI_7800 
RC_CONSOLE_X68K 
RC_CONSOLE_WONDERSWAN 
RC_CONSOLE_CASSETTEVISION 
RC_CONSOLE_SUPER_CASSETTEVISION 
RC_CONSOLE_NEO_GEO_CD 
RC_CONSOLE_FAIRCHILD_CHANNEL_F 
RC_CONSOLE_FM_TOWNS 
RC_CONSOLE_ZX_SPECTRUM 
RC_CONSOLE_GAME_AND_WATCH 
RC_CONSOLE_NOKIA_NGAGE 
RC_CONSOLE_NINTENDO_3DS 
RC_CONSOLE_HUBS 
RC_CONSOLE_EVENTS 

◆ RENDER_HANDLE

enum class KODI::RETRO::RENDER_HANDLE
strong
Enumerator
CONTROL 
WINDOW 

◆ RENDERFEATURE

enum class KODI::RETRO::RENDERFEATURE
strong
Enumerator
ROTATION 
STRETCH 
ZOOM 
PIXEL_RATIO 

◆ SAVE_TYPE

enum class KODI::RETRO::SAVE_TYPE
strong

Type of save action, either:

  • automatic (saving was not prompted by the user)
  • manual (user manually prompted the save)
Enumerator
UNKNOWN 
AUTO 
MANUAL 

◆ SCALINGMETHOD

enum class KODI::RETRO::SCALINGMETHOD
strong
Enumerator
AUTO 
NEAREST 
LINEAR 
MAX 

◆ StreamType

enum class KODI::RETRO::StreamType
strong
Enumerator
AUDIO 
VIDEO 
SW_BUFFER 
HW_BUFFER 

◆ VideoRotation

enum class KODI::RETRO::VideoRotation
strong
Enumerator
ROTATION_0 
ROTATION_90_CCW 
ROTATION_180_CCW 
ROTATION_270_CCW 

Variable Documentation

◆ NO_PIXEL_DATA

const char* KODI::RETRO::NO_PIXEL_DATA = "-"
constexpr

◆ STRETCHMODE_FULLSCREEN_ID

const char* KODI::RETRO::STRETCHMODE_FULLSCREEN_ID = "fullscreen"
constexpr

◆ STRETCHMODE_NORMAL_ID

const char* KODI::RETRO::STRETCHMODE_NORMAL_ID = "normal"
constexpr

◆ STRETCHMODE_ORIGINAL_ID

const char* KODI::RETRO::STRETCHMODE_ORIGINAL_ID = "original"
constexpr

◆ STRETCHMODE_STRETCH_4_3_ID

const char* KODI::RETRO::STRETCHMODE_STRETCH_4_3_ID = "4:3"
constexpr

◆ STRETCHMODE_ZOOM_ID

const char* KODI::RETRO::STRETCHMODE_ZOOM_ID = "zoom"
constexpr