summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/interface
Commit message (Collapse)AuthorAgeFilesLines
* Fixed things C++20 doesn't allow: Vas Crabb2026-03-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ui/info.cpp, imagedev/cassette.cpp: Deal with UTF-8 strings as a distint type. ui/inputmap.cpp, debugger/qt/dasmwindow.cpp, debugger/qt/mainwindow.cpp, sound/coreaudio_sound.cpp, cpu/drcbec.cpp, mit/tx0_v.cpp, konami/3dom2.cpp: machine/mc68328.cpp, cpu/mips/mips1.cpp, cpu/mips/r4000.cpp, cpu/romp, machine/cammu.cpp, machine/ns32081.cpp: Avoid arithmetic between different enum types. dec/pdp1.cpp, konami/firebeat.cpp, mit/tx0.cpp, sound/lc7535.cpp, sound/spkrdev.cpp: Avoid arithmetic between enum and floating point. gaelco/gaelco3d_m.cpp: Fixed deprecated uses of volatile variables. sound/discrete.h: Avoid comparing enum to floatint point. ui/toolbar.ipp: Don't use UTF-8 qualifier on pure ASCII strings, just assume char is ASCII-like. cpu/unsp: Use default constructor for compiler_state. sgi/pm2_mmu.cpp: Avoid conflict between file static access and identically named function in unistd.h. osd/interface/audio.h: Provide an explicit constructor. util/server_http_impl.hpp: Fixed uninitialised class member warning.
* Various fixes: Vas Crabb2025-06-252-72/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* osd audio interface: initialize channel positions in header file (prevents ↵ hap2025-06-222-44/+43
| | | | channel_position constructor initializing after initializing array of channel_position in sound backends)
* sound: Olivier Galibert2025-06-172-1/+101
| | | | | | | | 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
* Aloow seperate display and configuration names for sound nodes Olivier Galibert2025-05-291-0/+1
|
* eminline: add muldiv64 and muldivu64 functions Olivier Galibert2025-05-251-0/+14
| | | | sound: correct subtle timing issues, add -sound support, add resampling at the edge
* osd/interface/audio.h: Added missing header for clang. Vas Crabb2025-05-231-0/+1
|
* osd: Various cleanup and fixes: Vas Crabb2025-05-211-0/+48
| | | | | | | | | | | | * osd/interface/audio.h: Implemented movable and swappable patterns (reduces allocation and copying). * monitor/monitor_module.h: Got rid of a C string pointer, avoid the need for a static string object. * sound/sound_module.cpp: Moved default implementation stuff out of the header, use algorithm library in place of memcpy. * sound/pa_sound.cpp: Fixed a non-const global that should be const. * monitor/monitor_dxgi.cpp: Fixed an object leak. * Cleaned up some use of COM and COM-like things.
* -emu/device.cpp: Allow flagging devices as not working or not supporting ↵ Vas Crabb2025-05-011-7/+9
| | | | | | | | | | | | | | | | | saved states. * emu/device.cpp: Removed device_sound_interface from mixins that require device to register members for saved states. * emu/machine.cpp: Finalise saved state registrations before loading configuration - network devices no longer leak timers. * emu/validity.cpp: Added check for systems marked as supporting saved states that use devices lacking saved state support (besides slot cards). * machine/mc6852.cpp: First device marked as not supporting saved states. * osd/interface/audio.h: Avoid unnecessary float/double conversions. -igs/igs_m027.cpp: Added I/O for ccly.
* sound sliders: multiply internal value by 10 to allow fine grained slider ↵ hap2025-04-281-1/+0
| | | | controls (left/right while holding Shift)
* New sound infrastructure. Olivier Galibert2025-04-271-0/+53
| | | | | | | | | | | | | | | | | Should be added soon: - mute - speaker/microphone resampling To be added a little later: - compression - reverb Needs to be added by someone else: - coreaudio - direct - portaudio - xaudio2 - js
* osd: Got rid of the gross globals and functions for manipulating them in the ↵ Vas Crabb2025-04-231-0/+25
| | | | network modules.
* osd: remove mac address filter from osd (fixes #13586) (#13614) Patrick Mackinlay2025-04-222-3/+0
| | | | | * dp8390: improve address filtering * osd: remove mac address filter from osd (fixes #13586)
* osd/interface/inputcode.h: Fixed enum range warnings in debug builds. (#13137) ajrhacker2025-01-011-4/+4
|
* file selector: Add midi connection selection to midi ports Olivier Galibert2024-10-291-0/+10
|
* sinclair/sprinter.cpp: Added 2 full joysticks support (#12878) holub2024-10-141-4/+4
|
* Initial touch input support: Vas Crabb2024-04-121-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Feed mouse/pen/touch pointer events through UI input manager with Win32 and SDL. * Started migrating UI code to use new API and reworking mouse/touch interaction. * emu/render.cpp: Support pressing multiple clickable layout items simultaneously. * emu/render.cpp: Allow UI elements to be drawn in any window. * emu/rendlay.cpp, luaengine_render.cpp: Added layout view events for pointer input. * ui/ui.cpp: Allow the UI handler to control pointer display. * ui/analogipt.cpp: Added mouse/touch and more keys for navigating field state list. * ui/menu.cpp: Use vertical swipe to scroll and horizontal swipe to adjust. * ui/menu.cpp: Draw after processing input - greatly improves responsiveness. * ui/menu.cpp: Ignore keyboard/gamepad input during pointer actions. * ui/selmenu.cpp: Made left/right info pane arrows repeat when held. * ui/selmenu.cpp: Use middle click to move keyboard focus. * ui/selmenu.cpp: Let filter list scroll if it's too tall, and use a bit of horizontal padding. * ui/selmenu.cpp: Improved divider sizing. * ui/state.cpp: Don't allow clicks to pass through the confirm deletion prompt to the menu. * ui/simpleselgame.cpp: Fixed error message display and graphics/sound status not showing. * ui/simpleselgame.cpp: Allow tap/click to dismiss error message. * ui/utils.cpp: Show UI for choice filters when there are no choices - it's less confusing. * modules/input/input_sdl.cpp: Made scaling for mouse scroll better match RawInput and DirectInput. * modules/input/input_rawinput.cpp: Added support for horizontal scroll axis. * modules/input/input_win32.cpp: Added support for scroll axes and more buttons to mouse/lightgun. * modules/debugger/debugimgui.cpp: Don't fight over events with the UI manager - it breaks menus. * osd/windows/window.cpp: Translate mouse position to window cooridinates for scroll wheel events. * osd/sdl/window.cpp: Supply last mouse position for scroll wheel events if possible. * scripts/build/complay.py: Made zero input mask an error - it was only being used to block clicks.
* osd: Cleaned up MIDI and network interfaces a little more. Vas Crabb2024-03-011-0/+40
|
* osd/osdnet.cpp: Removed dependency from OSD network device to libemu. (#12058) Vas Crabb2024-02-252-0/+71
| | | | * This allows save states to be created and loaded when network interfaces are present. * device_network_interface may need some more attention to get save states taken while receiving a packet to work properly.
* Small batch of input refactoring: Vas Crabb2023-02-054-39/+110
| | | | | | | | | | | | | | | | | | | | | emu/input.cpp: Fixed regression in display of some joystick inputs. osd/interface: Split up interface classes into a few more files to reduce where the input device interface class needs to be included. Made OSD independent of concrete input_device class. osd/modules/input, emu/inputdev.cpp, emu/ioport.cpp: Allow input devices to provide tokens for controls without standard item types and additional default input assignments. Fixes issues assigning Yen and Backslash on Japanese keyboards. ui/textbox.cpp: Added a fixed-content text box menu class for future use. Got main.h out of emu.h as it’s only used in a very small number of places, mostly for getting the application name. Added eminline.h to attotime.h as it's used without emu.h. Cleaned up forward declarations in emufwd.h a little.
* -Input code cleanup: Vas Crabb2023-01-101-0/+35
| | | | | | | | | | | | | * dinput, xinput: Use proper item IDs for hat switches rather than "other switch". * xinput: Map right thumb stick to Z/rZ for consistency with SDL and DirectInput. * xinput: Map triggers to additional absolute axes 1 and 2. * xinput: Map start and back buttons to start and select. * Added default assignments for player 5-10 start/select. * Added default assignments for 5P-8P start and coin 5-8. -namco/namcos2.cpp: Changed collective pitch control to AD Stick Z.
* Optimisation, and baby steps towards untangling stuff: Vas Crabb2022-06-164-0/+1266
Optimised the scheduler's handling of unscheduled timers - gives a 50% performance improvement in some timer-heavy drivers. Added better endianness swizzling helpers. Got rid of some of the OSD input modules' dependence on concrete input classes from emu.