2017-10-24 06:42:39 +00:00
|
|
|
HAVE_LIBRETRO= # Libretro library used
|
|
|
|
HAVE_ASSETS_DIR= # Assets install directory
|
2022-12-23 00:28:57 +00:00
|
|
|
HAVE_FILTERS_DIR= # Audio/video filters directory
|
2022-12-23 13:40:48 +00:00
|
|
|
HAVE_CORE_INFO_DIR= # Core info directory
|
2021-10-14 13:57:28 +00:00
|
|
|
HAVE_CORE_INFO_CACHE=yes # Core info cache support
|
2021-11-21 19:44:08 +00:00
|
|
|
HAVE_BLUETOOTH=no # Bluetooth support
|
2020-06-30 13:54:31 +00:00
|
|
|
HAVE_NVDA=yes # NVDA support
|
|
|
|
HAVE_PATCH=yes # Softpatching support (BPS/IPS/UPS)
|
2023-12-06 13:07:22 +00:00
|
|
|
HAVE_XDELTA=auto # Xdelta softpatching support (requires softpatching)
|
2020-04-16 18:57:39 +00:00
|
|
|
HAVE_SAPI=no # SAPI support
|
2020-07-02 04:28:14 +00:00
|
|
|
HAVE_VIDEO_FILTER=yes # Video filter support
|
2020-07-02 04:43:36 +00:00
|
|
|
HAVE_WINRAWINPUT=yes # Windows Raw Input support (XP and higher)
|
2020-07-02 00:13:04 +00:00
|
|
|
HAVE_DSP_FILTER=yes # DSP filter support
|
2020-01-25 16:17:53 +00:00
|
|
|
HAVE_BLISSBOX=auto # Blissbox support
|
2019-12-07 07:16:00 +00:00
|
|
|
HAVE_ANGLE=no # ANGLE support (OpenGL wrapper)
|
2020-02-02 20:27:38 +00:00
|
|
|
HAVE_CONFIGFILE=yes # Config file support
|
2019-07-11 11:18:38 +00:00
|
|
|
HAVE_GDI=yes # GDI support (Win32-only)
|
2017-10-24 06:42:39 +00:00
|
|
|
HAVE_OPENGLES_LIBS= # Link flags for custom GLES library
|
|
|
|
HAVE_OPENGLES_CFLAGS= # C-flags for custom GLES library
|
2022-09-06 15:40:36 +00:00
|
|
|
HAVE_CACA=no # Libcaca support
|
2019-06-13 15:56:19 +00:00
|
|
|
HAVE_SIXEL=auto # Libsixel support
|
2019-01-22 17:02:48 +00:00
|
|
|
HAVE_DEBUG=no # Enable a debug build
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_LIBRETRODB=yes # Libretrodb support
|
2019-01-07 05:18:36 +00:00
|
|
|
HAVE_MENU=yes # Enable menu drivers
|
2020-02-17 20:28:42 +00:00
|
|
|
HAVE_GFX_WIDGETS=yes # Enable graphics widgets
|
2019-01-06 22:30:50 +00:00
|
|
|
HAVE_RGUI=auto # RGUI menu
|
2016-10-18 00:21:51 +00:00
|
|
|
HAVE_MATERIALUI=auto # MaterialUI menu
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_XMB=auto # XMB menu
|
2018-11-15 17:46:38 +00:00
|
|
|
HAVE_OZONE=auto # Ozone menu
|
2018-03-29 13:38:22 +00:00
|
|
|
HAVE_RUNAHEAD=yes # Runahead support
|
2019-07-19 15:18:51 +00:00
|
|
|
HAVE_DSOUND=auto # DirectSound support
|
2019-07-19 22:12:55 +00:00
|
|
|
HAVE_XAUDIO=auto # XAudio support
|
2019-07-19 15:31:08 +00:00
|
|
|
HAVE_WASAPI=auto # WASAPI support
|
2019-07-19 15:53:19 +00:00
|
|
|
HAVE_WINMM=auto # WinMM support
|
2020-06-30 19:45:05 +00:00
|
|
|
HAVE_NEAREST_RESAMPLER=yes # Nearest resampler
|
2019-07-19 17:03:48 +00:00
|
|
|
HAVE_CC_RESAMPLER=yes # CC Resampler
|
2020-09-20 14:43:05 +00:00
|
|
|
HAVE_SSL=auto # SSL support
|
2018-12-14 21:56:58 +00:00
|
|
|
C89_SSL=no
|
2020-09-20 14:43:05 +00:00
|
|
|
HAVE_SYSTEMMBEDTLS=auto # Use system mbedTLS
|
|
|
|
C89_SYSTEMMBEDTLS=no
|
|
|
|
HAVE_BUILTINMBEDTLS=auto # Use builtin mbedTLS
|
2018-12-20 00:05:40 +00:00
|
|
|
C89_BUILTINMBEDTLS=no
|
2020-09-20 14:43:05 +00:00
|
|
|
HAVE_BUILTINBEARSSL=auto # Use builtin BearSSL
|
|
|
|
C89_BUILTINBEARSSL=no
|
2020-09-20 16:27:06 +00:00
|
|
|
CXX_BUILTINBEARSSL=no
|
2018-01-05 15:10:34 +00:00
|
|
|
HAVE_OVERLAY=yes # Overlay support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_DYNAMIC=yes # Dynamic loading of libretro library
|
2016-03-01 20:50:23 +00:00
|
|
|
HAVE_SDL=auto # SDL support
|
2016-04-18 01:23:47 +00:00
|
|
|
C89_SDL=no
|
2016-03-01 20:50:23 +00:00
|
|
|
HAVE_SDL2=auto # SDL2 support (disables SDL 1.x)
|
2015-09-22 14:39:50 +00:00
|
|
|
C89_SDL2=no
|
2016-03-01 20:50:23 +00:00
|
|
|
HAVE_LIBUSB=auto # Libusb HID support
|
2015-09-22 14:47:00 +00:00
|
|
|
C89_LIBUSB=no
|
2017-12-16 13:16:27 +00:00
|
|
|
HAVE_DBUS=no # dbus support
|
2017-11-27 21:25:20 +00:00
|
|
|
HAVE_SYSTEMD=auto # Systemd support
|
2016-03-01 20:50:23 +00:00
|
|
|
HAVE_UDEV=auto # Udev/Evdev gamepad support
|
|
|
|
HAVE_THREADS=auto # Threading support
|
2016-10-18 00:21:51 +00:00
|
|
|
HAVE_THREAD_STORAGE=auto # Thread Local Storage support
|
2018-06-20 02:29:31 +00:00
|
|
|
HAVE_FFMPEG=auto # FFmpeg support
|
2015-09-22 14:47:00 +00:00
|
|
|
C89_FFMPEG=no
|
2018-12-31 04:00:29 +00:00
|
|
|
HAVE_MPV=no # MPV support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_SSA=auto # SSA/ASS for FFmpeg subtitle support
|
|
|
|
HAVE_DYLIB=auto # Dynamic loading support
|
|
|
|
HAVE_NETWORKING=auto # Networking features (recommended)
|
2022-08-01 05:51:02 +00:00
|
|
|
HAVE_IFINFO=yes
|
2016-06-07 13:23:07 +00:00
|
|
|
HAVE_NETWORKGAMEPAD=auto # Networked game pad (plus baked-in core)
|
|
|
|
C89_NETWORKGAMEPAD=no
|
2018-10-12 16:29:52 +00:00
|
|
|
HAVE_NETPLAYDISCOVERY=yes # Add netplay discovery (room creation, etc.)
|
2021-04-05 17:55:59 +00:00
|
|
|
HAVE_COMMAND=no # Network command interface, to remote control RA
|
2018-01-25 14:02:23 +00:00
|
|
|
HAVE_D3D8=no # Direct3D 8 support
|
2019-05-14 03:11:52 +00:00
|
|
|
HAVE_D3D9=auto # Direct3D 9 support
|
2018-02-04 22:25:12 +00:00
|
|
|
C89_D3D9=no
|
2018-04-21 03:14:50 +00:00
|
|
|
HAVE_D3D10=yes # Direct3D 10 support
|
2018-02-04 22:25:12 +00:00
|
|
|
C89_D3D10=no
|
2018-01-30 15:04:45 +00:00
|
|
|
HAVE_D3D11=yes # Direct3D 11 support
|
2018-02-04 22:25:12 +00:00
|
|
|
C89_D3D11=no
|
2018-01-30 15:04:45 +00:00
|
|
|
HAVE_D3D12=yes # Direct3D 12 support
|
2018-02-04 22:25:12 +00:00
|
|
|
C89_D3D12=no
|
2019-05-14 03:11:52 +00:00
|
|
|
HAVE_D3DX=auto # Direct3DX support
|
2019-07-21 05:33:14 +00:00
|
|
|
HAVE_DINPUT=auto # Dinput support
|
2019-02-08 21:04:23 +00:00
|
|
|
HAVE_OPENGL=auto # OpenGL 2.0 support
|
2019-03-02 10:53:14 +00:00
|
|
|
HAVE_OPENGL_CORE=yes # Modern OpenGL driver support (GLES3+/GL3.2 core+), requires OpenGL.
|
2019-03-09 11:42:23 +00:00
|
|
|
C89_OPENGL_CORE=no
|
2019-03-11 14:10:42 +00:00
|
|
|
HAVE_OPENGL1=yes # OpenGL 1.1 support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_MALI_FBDEV=no # Mali fbdev context support
|
|
|
|
HAVE_VIVANTE_FBDEV=no # Vivante fbdev context support
|
|
|
|
HAVE_OPENDINGUX_FBDEV=no # Opendingux fbdev context support
|
2020-11-17 15:59:39 +00:00
|
|
|
HAVE_SDL_DINGUX=no # Opendingux SDL input/gfx driver support
|
2016-09-16 22:38:35 +00:00
|
|
|
HAVE_OPENGLES=no # Use GLESv2 instead of desktop GL
|
|
|
|
HAVE_OPENGLES3=no # OpenGLES3 support
|
2020-08-11 12:47:51 +00:00
|
|
|
HAVE_OPENGLES3_1=no # OpenGLES3.1 support
|
|
|
|
HAVE_OPENGLES3_2=no # OpenGLES3.2 support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_X11=auto # everything X11.
|
2018-11-27 10:28:24 +00:00
|
|
|
HAVE_XRANDR=auto # Xrandr support.
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_OMAP=no # OMAP video support
|
|
|
|
HAVE_XINERAMA=auto # Xinerama support.
|
|
|
|
HAVE_KMS=auto # KMS context support
|
2022-03-30 15:30:20 +00:00
|
|
|
C89_KMS=no
|
2016-07-11 13:57:52 +00:00
|
|
|
HAVE_PLAIN_DRM=no # Plain DRM video support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_EXYNOS=no # Exynos video support
|
|
|
|
HAVE_DISPMANX=no # Dispmanx video support
|
|
|
|
HAVE_SUNXI=no # Sunxi video support
|
|
|
|
HAVE_WAYLAND=auto # Wayland support
|
2021-12-24 13:20:45 +00:00
|
|
|
HAVE_LIBDECOR=auto # libdecor support
|
2015-09-22 14:50:12 +00:00
|
|
|
C89_WAYLAND=no
|
2019-04-24 16:32:01 +00:00
|
|
|
CXX_WAYLAND=no
|
2020-01-05 18:14:47 +00:00
|
|
|
HAVE_DYNAMIC_EGL=no # Dynamic library EGL support
|
2019-06-01 14:46:39 +00:00
|
|
|
HAVE_EGL=auto # EGL context support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_VG=auto # OpenVG support
|
|
|
|
HAVE_CG=auto # Cg shader support
|
2018-01-26 03:09:35 +00:00
|
|
|
HAVE_HLSL=no # HLSL9 shader support (for Direct3D9)
|
2019-06-08 23:16:25 +00:00
|
|
|
HAVE_BUILTINZLIB=auto # Bake in zlib
|
2019-06-01 14:27:04 +00:00
|
|
|
HAVE_ZLIB=auto # zlib support (ZIP extract, PNG decoding/encoding)
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_ALSA=auto # ALSA support
|
2015-11-19 11:52:23 +00:00
|
|
|
C89_ALSA=no
|
2019-05-14 03:11:52 +00:00
|
|
|
HAVE_RPILED=auto # RPI led support
|
2017-06-24 01:44:00 +00:00
|
|
|
HAVE_TINYALSA=auto # TinyALSA support
|
2018-12-21 14:15:30 +00:00
|
|
|
HAVE_AUDIOIO=auto # AudioIO support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_OSS=auto # OSS support
|
|
|
|
HAVE_RSOUND=auto # RSound support
|
|
|
|
HAVE_ROAR=auto # RoarAudio support
|
2022-09-06 15:40:36 +00:00
|
|
|
HAVE_AL=no # OpenAL support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_JACK=auto # JACK support
|
|
|
|
HAVE_COREAUDIO=auto # CoreAudio support
|
2021-02-17 04:20:51 +00:00
|
|
|
HAVE_COREAUDIO3=no # CoreAudio3 support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_PULSE=auto # PulseAudio support
|
2015-09-22 14:39:50 +00:00
|
|
|
C89_PULSE=no
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_FREETYPE=auto # FreeType support
|
|
|
|
HAVE_STB_FONT=yes # stb_truetype font support
|
2016-09-04 15:35:53 +00:00
|
|
|
HAVE_STB_IMAGE=yes # stb image loading support
|
2017-02-23 04:56:31 +00:00
|
|
|
HAVE_STB_VORBIS=yes # stb vorbis support
|
2017-08-04 13:05:29 +00:00
|
|
|
HAVE_IBXM=yes # IBXM support
|
2023-06-11 00:21:42 +00:00
|
|
|
HAVE_XVIDEO=no # XVideo support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_V4L2=auto # Video4linux2 support
|
|
|
|
HAVE_NEON=no # ARM NEON optimizations
|
|
|
|
HAVE_SSE=no # x86 SSE optimizations (SSE, SSE2)
|
2016-03-01 20:50:23 +00:00
|
|
|
HAVE_FLOATHARD=no # Force hard float ABI (for ARM)
|
|
|
|
HAVE_FLOATSOFTFP=no # Force soft float ABI (for ARM)
|
2018-04-22 18:19:07 +00:00
|
|
|
HAVE_CHD=yes # Compile in chd support
|
2019-02-07 22:34:37 +00:00
|
|
|
CXX_CHD=no
|
2016-03-01 20:50:23 +00:00
|
|
|
HAVE_7ZIP=yes # Compile in 7z support
|
2017-12-26 06:50:32 +00:00
|
|
|
HAVE_FLAC=auto # Compile in flac support
|
2019-07-20 14:42:46 +00:00
|
|
|
HAVE_DR_MP3=yes # Compile in Dr. MP3 support
|
2019-06-08 23:16:25 +00:00
|
|
|
HAVE_BUILTINFLAC=auto # Bake in flac support
|
2019-11-10 23:22:03 +00:00
|
|
|
HAVE_ONLINE_UPDATER=yes # Disable the online updater
|
2022-12-23 00:28:57 +00:00
|
|
|
HAVE_UPDATE_CORES=yes # Disable downloading cores with online updater
|
|
|
|
HAVE_UPDATE_CORE_INFO=yes # Disable downloading cores info with online updater
|
2016-08-27 06:38:44 +00:00
|
|
|
HAVE_UPDATE_ASSETS=yes # Disable downloading assets with online updater
|
2016-03-01 20:50:23 +00:00
|
|
|
HAVE_PRESERVE_DYLIB=no # Enable dlclose() for Valgrind support
|
|
|
|
HAVE_PARPORT=auto # Parallel port joypad support
|
|
|
|
HAVE_IMAGEVIEWER=yes # Built-in image viewer support.
|
|
|
|
HAVE_MMAP=auto # MMAP support
|
2018-05-01 05:11:55 +00:00
|
|
|
HAVE_QT=auto # Qt companion support
|
2018-04-30 19:03:47 +00:00
|
|
|
C89_QT=no
|
2023-06-07 19:02:54 +00:00
|
|
|
HAVE_XSHM=no # XShm video driver support
|
2016-03-20 22:51:07 +00:00
|
|
|
HAVE_CHEEVOS=yes # Retro Achievements
|
2018-12-28 18:32:00 +00:00
|
|
|
HAVE_LUA=no # Lua support (for Retro Achievements)
|
2019-01-30 00:17:06 +00:00
|
|
|
HAVE_DISCORD=yes # Discord Integration
|
2019-05-28 14:27:21 +00:00
|
|
|
C89_DISCORD=no
|
2020-06-30 17:35:41 +00:00
|
|
|
HAVE_CHEATS=yes # Cheat support
|
2020-07-01 19:04:05 +00:00
|
|
|
HAVE_REWIND=yes # Rewind support
|
2020-06-30 16:08:49 +00:00
|
|
|
HAVE_BSV_MOVIE=yes # BSV movie support
|
2020-01-12 20:33:00 +00:00
|
|
|
HAVE_ACCESSIBILITY=yes # Accessibility Integration
|
2019-08-21 18:57:08 +00:00
|
|
|
HAVE_TRANSLATE=yes # OCR and Translation Server Integration
|
2016-06-06 22:00:28 +00:00
|
|
|
HAVE_SHADERPIPELINE=yes # Additional shader-based pipelines
|
2016-06-06 22:03:07 +00:00
|
|
|
C89_SHADERPIPELINE=no
|
2016-05-16 05:57:10 +00:00
|
|
|
HAVE_VULKAN=auto # Vulkan support
|
2016-08-27 23:48:13 +00:00
|
|
|
HAVE_VULKAN_DISPLAY=yes # Vulkan KHR display backend support
|
2016-02-22 11:25:41 +00:00
|
|
|
C89_VULKAN=no
|
2016-05-11 19:22:45 +00:00
|
|
|
HAVE_RPNG=yes # RPNG support
|
2016-05-18 11:34:04 +00:00
|
|
|
HAVE_RBMP=yes # RBMP support
|
2016-05-11 19:27:17 +00:00
|
|
|
HAVE_RJPEG=yes # RJPEG support
|
2016-05-11 19:57:41 +00:00
|
|
|
HAVE_RTGA=yes # RTGA support
|
2020-06-30 15:36:03 +00:00
|
|
|
HAVE_RWAV=yes # WAV support
|
2022-09-04 00:28:22 +00:00
|
|
|
HAVE_HID=no # Low-level HID (Human Interface Device) support
|
2019-07-11 09:51:06 +00:00
|
|
|
HAVE_AUDIOMIXER=yes # Audio Mixer
|
2016-06-07 04:05:41 +00:00
|
|
|
HAVE_LANGEXTRA=yes # Multi-language support
|
2020-07-01 15:47:13 +00:00
|
|
|
HAVE_SCREENSHOTS=yes # Screenshot support
|
2016-07-30 14:37:22 +00:00
|
|
|
HAVE_OSMESA=no # Off-screen Mesa rendering
|
2017-02-02 21:05:05 +00:00
|
|
|
HAVE_VIDEOPROCESSOR=auto # Enable video processor core
|
2017-08-19 15:03:01 +00:00
|
|
|
HAVE_VIDEOCORE=auto # Broadcom Videocore 4 support
|
2018-12-11 01:03:03 +00:00
|
|
|
HAVE_DRMINGW=no # DrMingw exception handler
|
2019-07-12 16:25:16 +00:00
|
|
|
HAVE_CDROM=auto # CD-ROM support
|
2019-07-21 07:36:13 +00:00
|
|
|
HAVE_GLSL=yes # GLSL shaders support
|
2019-07-21 22:06:20 +00:00
|
|
|
HAVE_SLANG=auto # slang support
|
2019-07-20 13:17:04 +00:00
|
|
|
C89_SLANG=no
|
2019-07-21 22:06:20 +00:00
|
|
|
HAVE_GLSLANG=auto # glslang support (requires C++11)
|
2019-07-20 11:52:18 +00:00
|
|
|
C89_GLSLANG=no
|
2020-02-01 23:12:25 +00:00
|
|
|
HAVE_BUILTINGLSLANG=auto # Bake in glslang support
|
|
|
|
C89_BUILTINGLSLANG=no
|
2019-07-21 22:06:20 +00:00
|
|
|
HAVE_SPIRV_CROSS=auto # SPIRV-Cross support (requires C++11)
|
2019-07-20 11:52:18 +00:00
|
|
|
C89_SPIRV_CROSS=no
|
2019-07-20 14:34:49 +00:00
|
|
|
HAVE_METAL=no # Metal support (macOS-only)
|
|
|
|
C89_METAL=no
|
2019-08-23 13:22:22 +00:00
|
|
|
HAVE_NETWORK_VIDEO=no
|
2019-11-18 07:04:29 +00:00
|
|
|
HAVE_STEAM=no # Enable Steam build
|
2022-03-09 14:05:07 +00:00
|
|
|
HAVE_MIST=no # Enable Steam build w/ mist
|
2020-02-24 18:44:00 +00:00
|
|
|
HAVE_ODROIDGO2=no # ODROID-GO Advance rotation support (requires librga)
|
2020-11-17 15:59:39 +00:00
|
|
|
HAVE_LIBSHAKE=no # libShake haptic feedback support
|
2021-05-31 02:20:34 +00:00
|
|
|
HAVE_CHECK=no # check support for unit tests
|
|
|
|
HAVE_WIFI=no # wifi driver support
|
2022-01-24 15:22:07 +00:00
|
|
|
HAVE_CRTSWITCHRES=auto # CRT mode switching support (requires C++11)
|
2022-02-18 18:59:41 +00:00
|
|
|
HAVE_MEMFD_CREATE=auto # libc supports memfd_create
|
2021-05-11 09:08:15 +00:00
|
|
|
C89_CRTSWITCHRES=no
|
Add microphone support via a new driver (#14731)
* Some slight fixes
* Update libretro.h
* Log calls to RETRO_ENVIRONMENT_GET_MICROPHONE_INTERFACE
* Finish proof-of-concept for mic support
- It works, but doesn't support floating-point audio yet
- It may need to be resampled, too
* Add macros that aren't available in SDL 2
* Comment out a variable definition for now
- For C89 compliance
* Add some comments for clarity
* Let ALSA tolerate a null new_rate
* Partial ALSA microphone support
- Not yet tested
- Mic is created and destroyed
- Mic can also be paused or unpaused
- Mic is paused or unpaused with the rest of the driver
- Microphone is not yet read
* Install error logging in the ALSA driver
- It defers to RARCH_ERR
* Free the ALSA microphone in alsa_free
* Fix an indent
* First draft of alsa_read_microphone
* Deinitialize SDL Audio in sdl_audio_free
* Save and restore the ALSA error logger
- You should always practice safe global state
* Add newlines to some RARCH_ERRs
* Add some logging
* Check for the mic being active via settings instead of via flags
* Adjusted a log entry to be less misleading
- A frequency of 0Hz looks weird to the uninformed
- In reality, it means the driver used the requested frequency
* Fix an incorrect format string
* Tidy up logging in alsa.c
* Rename audio_enable_microphone to audio_enable_input
* Rename microphone_device to audio_input_device
* Add audio_input_latency and audio_input_block_frames settings
* Add all mic-related settings to the options menu
* Adjust logging for alsa.c
- Log the ALSA library version
- Add errno details
* Refer to the microphone in logs by name
* Use %u instead of %d for some log items
* Add input_samples_buf
* Remove an inaccurate comment
* Change type of input_samples_buf
* Clean up audio_driver_flush_microphone_input
* Comment convert_float_to_s16
- It helped me understand what it's doing
- Turns out it'll work just fine on mono audio
* Don't use the resampler for mic input
* Fix crash in the ALSA driver when reading from a mic
* Update some logging messages
* ALSA support now works for mics
* Reuse some common functions in alsa.c
* Add alsa_thread_microphone_t
* Refactor alsa.c
- Introduce alsa_init_pcm to init any PCM that we're using
- Vastly simplifies the implementation of alsa_init and alsa_init_microphone
- Will be used for the read-based versions next
* Make ALSA logging a little more consistent
* Clean up the mic with alsa_free_microphone if alsa_init_microphone fails
* Remove an unused function
* Move some cleanup in alsa.c to a common function
* First crack at mic support for alsathread
- Refactor some duplicate code into functions
- Use functions introduced in alsa.c
- Create and destroy the mic
* Slight cleanups for clarity
* Implement alsa_thread_set/get_microphone_state
* More work on alsathread
- No more crashing, but the mic just returns silence
* Slight cleanups for clarity
* Add alsa_set_mic_enabled_internal
- For setting the state of a microphone while considering its current state
* Use alsa_set_mic_enabled_internal
* Log a little more info
* Log when the audio driver is started/stopped
* Move base microphone driver code into a new directory
- Add microphone_driver.c to Makefile.common
- Rename functions as needed
* Initialize and deinitialize the microphone driver
* Implement sdl_microphone.c
* Un-const an argument
- In case the driver context needs to do any locking
* Revise comments for microphone_driver.h
* Remove an unimplemented function
* Remove some functions from the mic driver
* Remove mic functions from audio_thread_wrapper
* Remove mic functions from sdl_audio
* Fix microphone_null
* Split the mic code for the alsa audio drivers into microphone drivers
* Fix an extra struct member
* Add a setting for the mic driver
* Add a command to reinitialize the microphone driver
* Rename mic-related settings
* Add DRIVER_MICROPHONE_MASK to DRIVERS_CMD_ALL
* Rename audio_enable_input to microphone_enable
* Remove some labels from qt_options
* Search for microphone_driver within find_driver_nonempty
* Clean up some mic driver code
* Pending mics now return silence
* Adjust some logging and comments
* Some cleanup in the microphone driver
* Invert a flag check
- Oops
* Fix a log message
* Fix the wrong flags being checked
* Slight refactor of wasapi_init_device
- Add a data_flow parameter
- Declare it in a header
- In preparation for WASAPI mic support
* Add some WASAPI macros for _IAudioCaptureClient
* Move some common WASAPI functions to audio/common/wasapi.c
- They'll be used by the mic and the audio drivers
* Add wasapi_log_hr
* Generalize mmdevice_list_new to look for capture devices, too
* Fix a function declaration
* Move driver-specific device_list_new functions into their respective files
* Clean up some declarations
* First draft of wasapi microphone driver
* Add wasapi_microphone_device_list_free
* Change function parameter names to be consistent with microphone_driver
* Partially implement wasapi_microphone_read
- Mostly copied from the audio driver so far
- It doesn't compile yet
- But it'll be beautiful when I'm done with it
* Refactor the mic driver's functions
- Rename get_mic_active to mic_alive
- Split set_mic_active into start_mic and stop_mic
- Refactor the SDL mic driver accordingly
* Edit some WASAPI functions for logging and clarity
* Implement more of the WASAPI mic driver
* Rename write_event to read_event
* Pass the WASAPI driver context to the various read functions
* Mostly implement the read function for the WASAPI mic driver
* Fix a crash in microphone_driver
- Forgot to move the position of the name of null_driver
* Reduce some logging in wasapi common functions
- Only log the chosen audio client format, not all attempted ones
* Add some macro wrappers for IAudioClient methods
* Update mic driver configuration
- Make the mic driver configurable in the menu
- Add config items for WASAPI-related options similar to the audio driver
* Fix a menu entry scrolling through audio devices instead of mic devices
* Add some utility functions
* Expose the new utility functions in wasapi.h
* Add extra logging in the WASAPI common functions
* Add sharemode_name
* Use _IAudioClient_Initialize macro in some places
* Pass channels to wasapi_init_client
- Remember, mics are in mono
* Use _IAudioClient_Initialize macro some more
* Forgot to pass channels in some places
* Add some utility functions
* Forgot an #include
* Add wasapi_select_device_format
* Simplify the format selection logic in wasapi_init_client_sh
* Unset the microphone in wasapi_microphone_close_mic
- Ought to prevent a potential segfault
* Simplify some logging
* Fix incorrect value being passed to _IAudioCaptureClient_ReleaseBuffer
* Remove some unneeded logging
* Add some values to hresult_name
* Polish up wasapi_select_device_format
- Test for formats manually when Windows can't
- Add some debug logging
- Check for channels
* Compute the fields of WAVEFORMATEXTENSIBLE correctly
- As per the doc's stated requirements
* Simplify logic for WASAPI client creation
* Fix a potential hang in wasapi_microphone_read_shared_buffered
* Stop the microphone if the driver is stopped
* Don't name the microphone event
* Ensure that wasapi_init_client reports the correct format and rate
* Implement exclusive microphone read access for WASAPI
* Add _IAudioCaptureClient_GetNextPacketSize macro
* Organize cases in hresult_name
* Clear some extra fields if wasapi_set_format is setting a Pcm format
* Adjust some logs
* Adjust some logs
* Remove unneeded local vars
* Add a log
* Update wasapi.c
* Update wasapi.c
* Fix shared-mode mic support in WASAPI producing broken input
- Turns out it had nothing to do with shared mode
* Reuse a common function
- Remove wasapi_microphone_read_shared_buffered
- Rename wasapi_microphone_read_exclusive to wasapi_microphone_read_buffered
* Remove some code I was using for test purposes
* Clarify some language
* Double the default shared-mode mic buffer length
* Split getting a device's name into a separate function, then use it
* Fix the ALSA mic drivers
- To comply with changes I previously made to the mic driver interface
* Remove unused synchronization primitives from the SDL microphone driver
* Add sdl_microphone_mic_use_float
* Document audio_driver_state_flags
- I needed to understand these to see if similar flags were required for the mic driver
* Remove an unused function in wasapi.c
* Add and document flags in microphone_driver.h
* Remove driver-specific mic start/stop functions
- The mic driver itself doesn't do much processing
- That honor goes to individual mics
* Remove some unused fields in microphone_driver.h
* Add CMD_EVENT_MICROPHONE_STOP/START
* Remove unused functions from microphone_null
* Change how the mic driver state is referenced in some places
* Simplify the SDL microphone driver
- The driver backend no longer keeps a reference to the mic (the frontend does that)
- Remove functions that are no longer needed
- Don't track paused state, just query the mic itself
* Simplify the WASAPI microphone driver
- Don't track the driver running state or the microphone handle, the frontend does that now
- Remove support for unbuffered input (hunterk suggested that it wasn't necessary)
* Make microphone_wasapi_sh_buffer_length a uint, not an int
- It won't be negative anymore
- 0 now represents the default value
* Make the microphone frontend more robust
- Improve documentation for how various functions should be implemented
- Closes all microphones before freeing the driver (so backends don't have to)
- Tracks the enabled state of each microphone, so backends don't have to (but they still can)
* Stop the mic driver in core_unload_game
* Ensure mic support is compatible with the revised menu code
* Move alsa.h into audio/common
* Remove RETRO_ENVIRONMENT_GET_MICROPHONE_ENABLED
- It was never really needed
* Refactor the ALSA microphone driver
- Move common ALSA functions to audio/common/alsa.c
- Replace alsa_set_mic_enabled_internal with alsa_start/stop_pcm
- Don't track the microphone handle in the ALSA driver context
- Remove unneeded fields
* Move some common alsathread code into audio/common/alsathread.c
* Change return type of mic_driver_open_mic_internal to bool
* First crack at resampling mic input
* Remove an extraneous check
- I think something distracted me when I was writing this line
* Add stereo/mono conversion functions
* Make alsa_start_pcm and alsa_stop_pcm more robust
- They now return success if the stream is already running and stopped, respectively
* Revise some mic-related comments in libretro.h
* First crack at resampling mic input
* Simplify an expression
* Simplify an expression
* Fix a log tag
* Allow mic resampler to be configured separately from audio resampler
* Add some comments
* Set the source ratio to something sensible
* Stop deadlock in `alsathread` mic driver
* Allow mics to be initialized even when core is loaded from CLI
- When loading content from CLI, the drivers are initialized a little differently
- That threw off the mic initialization code
* Rename the functions in retro_microphone_interface
* Revise some mic-related comments in libretro.h
* Update retro_microphone_interface
- Add get_mic_rate
- Add a parameter to open_mic
- The modifications don't do anything yet
* Use parameter objects in the microphone handle
* Replace get_mic_rate with get_params
* Add a microphone interface version
* Remove part of a comment
* Set the effective params in mic_driver_microphone_handle_init
* Drop a stray newline
* Change where the mic interface is zeroed
- I was accidentally throwing out the version that the core was asking for
* Reduce logspam for wasapi_set_nonblock_state
- Now it only logs when the sync mode is changed
* Change DEFAULT_WASAPI_SH_BUFFER_LENGTH to 0
- -16 is no longer a valid value
* Set the new_rate in wasapi_init
* Change description of microphone sample rate in the settings
* First attempt at resampling configured mic input
* Forgot a section
* Fix some input samples being skipped
* Rename a variable for clarity
* Add microphone.outgoing_samples
* Update the mic driver
- Processed samples are now buffered
- The resampler is skipped if the ratio is (very close to) 1
* Remove part of a comment
* Update some comments in audio_resampler.h
* Slightly refactor the SDL microphone driver
- Move SDL_AudioSpec to a field of sdl_microphone_handle_t
- Allow SDL to change the requested format and sample rate
- Request floating-point input
- Implement sdl_microphone_mic_use_float
* Fix a non-C89-compliant declaration
* Add new files to griffin.c
* Remove a C++-style comment
* Add two more files to griffin.c
* Remove some unneeded declarations in microphone_driver.h
* Remove a stray comma in configuration.c
- For C89 compliance
* Fix compilation on some platforms
* Change some function signatures
* Make the ALSA drivers always set the audio rate
* Fix the alsathread mic driver
* Make state_manager_frame_is_reversed return false if HAVE_REWIND isn't defined
* Mute the microphone if the core is running in fast-forward, slow-mo, or rewind
* Clarify a comment
* Clarify a comment
* Add a comment
* Don't allocate memory for slowmo samples in the mic driver
- We're not supporting slowmo for mics, so it's not needed
* Fix a {
* Add my name to AUTHORS.h
* Add driver_lifetime_flags
- For drivers that have special setup/teardown needs
* Ensure that resetting the mic driver maintains active mic handles
- Prevents fullscreen toggle from stopping all mic input
* Update CHANGES.md
* Move some default microphone settings to a new part of the config file
* Ensure that RetroArch can use the audio format that Windows suggests
* Remove references to mic support in the SDL audio driver
* Remove unused WASAPI functions
* Return failure if RetroArch couldn't select a WASAPI format
* Ensure that Windows uses the WASAPI mic driver by default
* Treat disabled mic support as a warning, not an error
* Clarify some WASAPI-related microphone settings
* Remove some unused variables
* Add or revise microphone-related comments
* Rearrange doc comments for microphone types in libretro.h
* Remove a space
* Remove some unused flags
* Remove ALSA error logger
- It was never used anyway
* Remove unneeded microphone-related arguments
* Document a parameter
* Remove a logging call
* Add a constant for the microphone's shared buffer length for WASAPI
* Fix stylistic inconsistencies
* Make mic_driver_get_sample_size a macro instead of a function
* Move the microphone implementation to the audio directory
* Make microphone support optional (but enabled by default)
* Fix the griffin build
2023-06-06 19:55:06 +00:00
|
|
|
HAVE_MICROPHONE=yes # Microphone support
|
2024-03-18 19:07:36 +00:00
|
|
|
HAVE_TEST_DRIVERS=yes # Test input driver
|