summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
Commit message (Collapse)AuthorAgeFilesLines
* Windows: Do not drop into debugger when no MAME window has focus (#13902) npwoods2025-07-123-7/+20
| | | | | | | On Windows, the debugger has a special Windows-specific feature that drops the user into the debugger if the key sequence is pressed. This seems to be present so that the key sequence triggers dropping into the debugger not just from the main window, but also from debugger windows. This has also created an oddity where pressing the debugger key sequence from a MAME window will cause a "User-initiated break" but pressing it from a debugger window will cause "Internal breakpoint" to be displayed. However, while this logic has a check to not apply when to a MAME window, it seems to also activate even if MAME itself is not in focus. This change ensures that a stray debugger sequence in a completely unrelated application won't cause the user to be dropped in the debugger.
* debugger/qt/debuggerview.cpp: Used DCA_SELECTED color friendly for ↵ holub2025-07-041-1/+1
| | | | Light/Dark theme (#13909)
* sdl_sound.cpp: Fall back to 2 channels if 0 channels are detected on a ↵ Manuel Alfayate Corchete2025-07-041-0/+4
| | | | device. (#13908)
* pa_sound: can use unordered_map instead of map hap2025-07-031-1/+1
|
* pa_sound: re-add printf list of found devices with -verbose, and add a check ↵ hap2025-07-031-7/+25
| | | | for duplicate device names
* coreaudio_sound.cpp: __MAC_12_0 is 120000 (AvailabilityVersions.h) (#13890) ksherlock2025-07-011-1/+1
|
* Clean up various stuff. Vas Crabb2025-07-0112-70/+67
| | | | | | | | | | | | | | | | | | | | | | | | docs: Explicitly state that installing a read/write tap returns the pass-through handler. cpu/mb86235: Using lowercas integer literal suffixes hurts readability, especially when it's 1ll (compare to 1LL, especially in a Courier-like font). video/ppu2c0x_vt.cpp: Look for the patterns. mame.lst: Expunge comments that started creeping back in. taito/taitotz.cpp: Use versions as printed on Taito's hard disk labels in descriptions. debug/win: Requiring every debugger window class to care about the console window's views is bad design. That's a clear case of unnecessary coupling. posix/posixptty.cpp: Testing for glibc does not guarantee pty.h is available. It's possible to build glibc for targets where its PTY wrapper functions are not implemented.
* sound/js_sound.cpp: Hopefully fix Emscripten build; zx81_cass.xml: Fixed an ↵ Vas Crabb2025-06-281-1/+1
| | | | obvious typo.
* Fix copy/paste error breaking build, and some space indents. Vas Crabb2025-06-271-1/+1
|
* -sound/js_sound.cpp: Blind attempt at updating for base class changes. Vas Crabb2025-06-273-8/+88
| | | | -Metadata corrections, missed srccleanin.
* Various fixes: Vas Crabb2025-06-2511-208/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ui: The new menus were unusable with a touchscreen, and not conducive to localisation. It's still not possible to add sound routes with a touchscreen, but at least it's possible to configure routes that exist. emu/sound.cpp: Fixed localisation issues, less temporary objects. emu/audio_effects: Fixed some localisation issues. plugins/autofire, plugins/inputmacro: Allow deleting autofire buttons or input macros without needing to use the UI Clear input. ui/selmenu.cpp, ui/imgcntrl.cpp: Use terse messages for bad media. Making these messages longer hasn't reduced support burden. Adding the version will just perpetuate the myth that you need to redownload all your ROMs for every release. ui/ui.cpp: Allow info screens to be dismissed by mouse clicks or touches. ui/sliders.cpp: Hiding the menu should preserve state. This is a design choice. sound: Avoid anything that could possibly depend on static initialisation order across transaltion units. Allow speaker position names to be localised. sound/none.cpp: Don't pretend it can create output streams.
* pa_sound: remove enters from device string hap2025-06-231-4/+7
|
* osd audio interface: initialize channel positions in header file (prevents ↵ hap2025-06-223-83/+86
| | | | channel_position constructor initializing after initializing array of channel_position in sound backends)
* bgfx/chainmanager: correct a printf parse issue (compiler didn't care) hap2025-06-201-1/+1
|
* file/posixpty.cpp: Actually enable the XPG-8 path. Vas Crabb2025-06-211-1/+1
|
* osd/asio.h: Move some duplicated code into the common header. Vas Crabb2025-06-212-5/+13
|
* file/posixptty.cpp: Better handling of getting PTY path, etc. Vas Crabb2025-06-211-19/+77
| | | | | * Support Issue 8 TTY_NAME_MAX/ptsname_r and pre-standard ptsname_r. * Set termios flags directly rather than relying on BSD's cfmakeraw.
* -ui/info.cpp: Treat incorrect ROM content as a severe warning. Vas Crabb2025-06-181-1/+13
| | | | | | | | | | -file/winfile.cpp: Added note about file handle buffering. -taito/taitotz.cpp: Use algorithms rather than memcpy. New working clones ------------------ R-Shark (set 2) [twistedsymphony]
* mmdevice_helpers.cpp: More Windows compile fixes. [R. Belmont] arbee2025-06-161-2/+2
|
* coreaudio_sound: Fix Mac compile. [R. Belmont] arbee2025-06-161-1/+1
|
* sound: Olivier Galibert2025-06-1710-124/+237
| | | | | | | | move positions to osd interface add special-casing for LFE add reverb (currently too subtle, need to find out why) vgm_visualizer: stop going OOB on the bitmap
* osd/modules/file: define buffer size for openpty() (#13837) Pino Toscano2025-06-161-1/+16
| | | | | | | There is no defined size for the slave name returned by openpty(); OSes that have a PATH_MAX constant usually use that as limit. Create a custom OPENPTY_PATH_MAX constant specifically for openpty(), even in case PATH_MAX is not available: in that situation, use 8192 as buffer size, which hopefully should be "good enough".
* sound/wasapi_sound.cpp: Handle someone messing with the mixdown format right ↵ Vas Crabb2025-06-101-1/+2
| | | | as MAME exits.
* sound/wasapi_sound.cpp: Avoid another potential deadlock. Vas Crabb2025-06-101-39/+59
| | | | | | | | It's possible for a device format property update to block an activate call. There's still a race condition in that if streams get device invalidated errors before the property update arrives, the core may try and fail to create replacement streams. This at least stops it from causing a deadlock, at worst you lose sound.
* coreaudio_sound.cpp: Promote to level 2, prep for 3. [R. Belmont] arbee2025-06-091-7/+22
|
* Various GNU/Hurd fixes (#13792) Pino Toscano2025-06-092-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bx: Small platform detection/usage improvements * Use BX_PLATFORM_POSIX where needed The semaphone implementation already uses BX_PLATFORM_POSIX to include <pthread.h> on all the POSIX platforms; do the same also in other places for consistency. This is done also for <sched.h>, which is a POSIX API, and sched_yield() from it is already guarded by BX_PLATFORM_POSIX. * Drop support for GNU libc older than 2.12 glibc 2.12 was released on 2010, and at this point any supported Linux distro has that version or way greather than that. From bkaradzic/bx@b59b7debd32260750c2af71f62585d9b438b3b96 * bx: fix <pthread/pthread.h> include on Hurd <pthread/pthread.h> does not exist, the standard <pthread.h> does exist so switch to it. * osd/modules/file: use dirent::d_type on any GNU libc platform This BSD extension is provided by GNU libc, so enable its usage with that C library. * osd/modules/file: use <pty.h> on any GNU libc platform openpty() is implemented by GNU libc for all the OSes, so include <pty.h> when using that C library. * osd/modules/file: cast dirent::d_name to const char* before using it According to POSIX [1], the type of dirent::d_name is loosely defined as "char d_name[]", as array with an undefined size. In particular, few ways are seen in the wild: (a) "char d_name[size]", i.e. as proper array with a full size (b) "char d_name[1]"/"char d_name[0]", i.e. as C flexible arrays Regardless of its type, dirent::d_name is used as if it was a classic const char *, i.e. as pointer to a null-terminated string. util::string_format() uses C++ templates to collect all the arguments, and thus it will use the actual type of dirent::d_name. In case of (a) there is no issue, however for (b) the result is that only the first character is used. To ensure that dirent::d_name is fully used, explicitly cast it to const char * before passing it to util::string_format(), so the whole string is used. [1] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/dirent.h.html
* -dynax/ddenlovr.cpp: Identified some DIP switch settings for Majiang Xingyun ↵ Vas Crabb2025-06-091-1/+1
| | | | | | | | | Shenlong, marked other settings as unknown. -sound/sdl_sound.cpp: Corrected SDL verson detection macro. -docs: A few sound documentation updates.
* -sound/gb.cpp: Initialise enough member variable to avoid branching on ↵ Vas Crabb2025-06-081-3/+10
| | | | | | | | | uninitialised memory on initial reset. * Also removed old changelog comment. -sound/sdl_sound.cpp: Allow MAME to be built with SDL 2.0.14 or 2.0.15 with limited functionality.
* -sound/xaudio2_sound.cpp: Use abuffer for bufferring input. Vas Crabb2025-06-072-103/+54
| | | | | | | | | * This simplifies the code somewhat and gives a bit more consistency across modules. * XAudio2 sound will ignore the audio latency setting for now - properly synchronising streams, etc. requires more work. -Cleaned up some recent changes.
* -sound/xaudio2_sound.cpp: Changed buffering strategy for output streams. Vas Crabb2025-06-0611-51/+86
| | | | | | | | | | | | | | | | | * This should work better with output devices like Bluetooth speakers, and should be a bit smoother in general. -osd/osdfile.h: Ensure size isn't passed to ::operator delete when destructing directory entries. * osd_stat allocates additional space following the directory entry to store the name. A regular delete may pass sizeof(entry) to ::operator delete, which won't match the allocated size. This causes a problem if the runtime library checks it. (May suppress the warning in MT09137.) -sound: Got rid of dependencies on emu and frontend. We're working to reduce circular dependencies. Adding more is a regression.
* coreaudio_sound.cpp: Channel layout tag is a bitfield, not an enum. [R. Belmont] arbee2025-06-031-6/+3
|
* js_sound: correct stream_sink_update function hap2025-06-032-3/+2
|
* coreaudio_sound.cpp: Use property listeners to determine configuration ↵ arbee2025-06-021-83/+148
| | | | | | | changes instead of polling. [R. Belmont] - Device additions are now tracked in addition to removals - Changing channel configuration in Audio/MIDI Setup is now tracked
* coreaudio_sound.cpp: Move default device change check to get_generation so ↵ arbee2025-06-011-22/+14
| | | | it happens regularly. [R. Belmont]
* coreaudio_sound.cpp: Add a callback for each active device to see if it ↵ arbee2025-06-011-1/+82
| | | | becomes unavailable. [R. Belmont]
* coreaudio_sound.cpp: Rebuild the device list when the default devices ↵ arbee2025-06-011-1/+2
| | | | change, fixes a crash when a new default device is connected. [R. Belmont]
* osd: Preliminary revised macOS CoreAudio backend. [R. Belmont] arbee2025-05-312-678/+1315
| | | | | | | - Supports multiple input and output streams to multple devices simultaneously. - audio_latency now is a floating-point number of 50 Hz audio frames. 0 is valid now. - Channel layouts are determined when available (many devices don't support them). - External effects support removed; it may return later.
* sound: change audio_latency meaning similar to what it was before (20ms ↵ hap2025-05-314-4/+6
| | | | steps for portaudio, xaudio2, wasapi), old mame.ini default setting of 2 should work fine
* sound/sdl_sound.cpp: Don't try to call SDL_GetDefaultAudioInfo for SDL older ↵ Vas Crabb2025-05-311-3/+5
| | | | than 2.24.0. [AJR]
* sound: print verbose message if module doesn't support audio_latency option, hap2025-05-313-0/+9
| | | | docs: small update, remove references to dsound
* attotime: fix lockup with as_string and negative attotime, hap2025-05-301-1/+1
| | | | | | video: fix issue with throttling when mame runs at slow motion (-speed lower than 0.2) options: change mimimum speed setting from 0.01 to 0.1 (mame would crash with very low value, and besides, video throttle still fails below 0.1), ui: add speed slider when cheats are enabled
* sound/xaudio2_sound.cpp: Don't request sample rate conversion if stream ↵ Vas Crabb2025-05-311-1/+4
| | | | sample rate matches mixdown sample rate.
* A little more clearing for safety Olivier Galibert2025-05-302-0/+13
|
* Similar fix for sdl Olivier Galibert2025-05-301-0/+1
|
* portaudio: do not mess up on shift-f3 Olivier Galibert2025-05-291-1/+2
|
* sound/wasapi_sound.cpp: Repeat the channel mask from the mix format back ↵ Vas Crabb2025-05-303-23/+43
| | | | when initialising the audio client.
* sound: tell the osd about the update Olivier Galibert2025-05-294-0/+16
|
* sound/wasapi_sound.cpp, sound/xaudio2_sound.cpp: Changed logging back to ↵ Vas Crabb2025-05-302-38/+38
| | | | display names.
* -sound/wasapi_sound.cpp, sound/xaudio2_sound.cpp: Fixed device names. Vas Crabb2025-05-305-19/+32
| | | | | | | -file/winfile.cpp: Align allocation for directory entry structure in osd_stat. -file/stdfile.cpp: Updated signature for osd_stat.
* Aloow seperate display and configuration names for sound nodes Olivier Galibert2025-05-298-1/+9
|