Commit graph

5 commits

Author SHA1 Message Date
rdanbrook
85bc0a957c FLTK: Add microphone support 2024-07-13 11:33:46 -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
9b2f86dbb8 FLTK: Make sure to initialize member variable in JGManager 2024-05-17 14:25:15 -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