Commit graph

17 commits

Author SHA1 Message Date
HWXLR8
5e065f55af FLTK: Add option to mute audio
Adds a mute-on-startup entry in settings, a --mute (-m) command line
parameter, 'm' hotkey to mute on the fly, and a corresponding menubar
entry.
2025-01-01 21:24:37 -05:00
rdanbrook
6774a7c8be FLTK: Default to "Timer" sync mode
The world has changed a lot in recent years. VSync is going to give a
superior result if you run your monitor at a multiple of 60Hz on
X11 or Windows, but macOS and Wayland pose problems even then. Timer
is going to handle Wayland better at any refresh rate, and X11 and
Windows better at refresh rates that are not a multiple of 60. The
out-of-the-box experience is what people judge the project on, and
with Wayland becoming the default for popular distros, this is just
the safer choice.
2024-12-07 17:28:36 -06:00
rdanbrook
1760f234d2 FLTK: License FLTKUI codebase under the 3-Clause BSD License
Since all FLTKUI related code is either written from scratch for the
upcoming release or taken from "The Jolly Good Reference Frontend", I
have chosen to relicense to align with the JGRF sources. This
codebase as a whole is still released under the GPLv2+, but the FLTKUI
portions may be useful for other JG frontends that may pop up in the
future and may need to link against non-GPL sources.
2024-12-07 16:54:15 -06:00
rdanbrook
1259fe812c FLTK: Add timer sync mode for cases where VSync is unreliable 2024-12-04 19:01:59 -06:00
rdanbrook
3a3c48d4e9 FLTK: Rearrange interface settings list 2024-10-29 21:23:33 -06:00
rdanbrook
6cb6f72fde FLTK: Make console log level a setting 2024-06-08 22:16:43 -06:00
rdanbrook
d10be2127e FLTK: Add setting to start in fullscreen mode and fix Quit keyboard definition 2024-06-08 21:18:50 -06:00
rdanbrook
cade634a7c FLTK: Add tooltip text to CRT settings 2024-06-07 22:37:05 -06:00
rdanbrook
c5a4b21e61 FLTK: Change default video settings 2024-06-05 21:50:17 -06:00
rdanbrook
44d577dfec FLTK: Add MMPX and OmniScale 2024-06-05 19:00:38 -06:00
rdanbrook
1c7ddbd96c FLTK: Change some wording in the interface settings 2024-06-04 23:39:11 -06:00
rdanbrook
5763bb19ff FLTK: Add 5:4 aspect ratio 2024-05-31 21:24:00 -06:00
rdanbrook
0ab75febef FLTK: Modern GL renderer and shaders 2024-05-29 23:16:26 -06:00
rdanbrook
412b78681c FLTK: Rewrite video code and do some random cleanup elsewhere 2024-05-27 23:05:10 -06:00
rdanbrook
eee60f7a5c FLTK: Rewrite audio playback code 2024-05-25 07:06:03 -06:00
rdanbrook
0ad4790576 FLTK: Cheats reimplemented 2024-05-19 08:01:51 -06:00
rdanbrook
b22f8a0d93 FLTK: Begin full rewrite
- The FLTK frontend is now based on Nestopia JG, which has been imported
  into the codebase and largely replaces the functionality previously
  contained in "nstcommon", as well as the old input system. This has
  effectively become a "Jolly Good API" frontend specific to Nestopia.

- Many new input devices are now supported, and can take both a
  keyboard/mouse and a joystick definition. This includes user interface
  functionality, such as fast forward, state saving, disk swapping, and
  resetting.

- USB joysticks/gamepads are now hot-pluggable

- The window is now freely resizable and adapts to the change by making
  the emulator output fill as much as possible while maintaining the
  selected aspect ratio.

- Settings are now separated by interface settings, emulator settings,
  and input definitions.

- General UI improvements have been done. The code is significantly
  cleaner and more flexible, with some user-facing improvements to the
  theme and menu system.

- This revision is still WIP. Some features or settings are either
  temporarily or permanently removed:
  - All audio related settings are gone, pending a rewrite of the audio
    output code in the frontend. PAL (50Hz) support is flaky.
  - Video filters have been removed, with the tentative plan to replace
    them with modern shaders.
  - Some NTSC filter fine tuning settings are not yet exposed in
    Nestopia JG
  - Some video settings (such as Hue/Saturation) are removed
  - NSF Playback is removed pending a replacement using FLTK widgets
  - The rewinder is disabled, with a tentative plan to replace it with
    a solution that is implemented entirely in the frontend.
  - Cheats are temporarily non-functional
2024-05-17 08:14:19 -06:00