Buildsystem: update configure to check for curl >= 7.66.0
That'll work around the bug in the 3.10 release tarball at least. You might find other optional dependencies that aren't required when you run ./configure --help. I would personally suggest adding --enable-option-checking=fatal as the first argument to configure to check if any configure switches in your spec file are no longer valid for a new VICE release: these switches occasionally change from release to release. Anyway: the combination of --with-mpg123 --without-libcurl should now work, assuming...
Preliminary fix for the undefined create_funmp3dir_widget() is in commit #2200. We should probably update configure.ac to check for libcurl >= 7.66.0, if curl_multi_poll() is required for proper "WiC64" emulation.
Gtk3: Fix bug with `--with-mpg123 --without-libcurl`
it looks like create_funmp3dir_widget() and friends are only defined if both USE_MPG123 && HAVE_GLOB_H and HAVE_LIBCURL are true. The call to create_funmpg123dir_widget() however happens outside the #ifdef HAVE_LIBCURL block, leading to a linker error. The solution would be to move the "funmp3" stuff outside the #if HAVE_LIBCURL block, if the "funmp3" stuff doesn't actually require libcurl. Otherwise the call to create_funmp3dir_widget() needs to be guarded with #if HAVE_LIBCURL. The combined --with-mpg123...
Fix missing prototype for `usbsid_available()`
I've fixed the load/save dialogs to respect the event/snapshot directory set in the settings. It looks like the quickload/quicksave options use the user's config dir (~/.config/vice/ on Unix, probably user profile dir on Windows), which kinda makes sense for "throwaway" files. But this behavior can be changed to respect the "EventSnapshotDir" resource as well.
Gtk3: respect event/snapshot directory in snapshot load/save dialogs
Odd, I could have sworn I put the logic for digital axes into joyport/joystick.c, moving it out of the individual drivers. The joystick_device_add_axis() function has a docblock that says it determines if an axis is digital, but the logic appears to be missing. Perhaps it's in a branch of mine. I'll add the digital axis detection in the generic code, which is where it should have been already :)
I'm working on full Gtk3 UI support for custom controller mappings (emulated devices, specific UI actions and emulated key-presses) and calibration of controller inputs. It's taking a while to produce something that's actually usable since there are a lot of mappings, each with their own special cases. I'll have some vacation time coming soon, so I'll be able to pick this up properly again. So once I've merged something worth testing I'll post a heads-up here, thanks for the offer to help test =...
When i pause the video when the crash report is shown, I see a SIGSEGV and KERN_INVALID_ADDRESS at 0x0, so that looks like a NULL pointer dereference. The backtrace points to libpangocairo calling into a MacOS-specific lib (CoreFoundation) when trying to get a font description and triggering the segfault. So this is indeed a MacOS-specific issue with Pango/Cairo, Pango assumes it'll get valid font descriptors from MacOS to build the font list for the Gtk font selector widget, but that fails for some...
When i pause the video when the crash report is shown, I see a SIGSEGV and KERN_INVALID_ADDRESS at 0x0, so that looks like a NULL pointer dereference. The backtrace points to libpangocairo calling into a MacOS-specific lib (CoreFoundation) when trying to get a font description and triggering the segfault. So this is indeed a MacOS-specific issue with Pango/Cairo, Pango assumes it'll get valid font descriptors from MacOS to build the font list for the Gtk font selector widget, but that fails for some...
About MacOS joystick support: there is a patch that fixes the THEC64 joystick on MacOS and uses the updated API, fixing joystick support for MacOS in the process. However, I'm currently working on the joystick code in a branch, so to avoid any possible merge conflicts, applying that patch will need to happen after I've merged my work in the branch back into trunk. I don't have a timeline for when we can fix the MacOS joystick code: I'm working on polling joysticks from the UI (that works) but creating...
Gtk3: resource spin button: connect "input" and "output" signals locked
I got this backtrace while enabling RAMLink (through the UI, after closing the dialog): CART: attached '/home/compyx/Downloads/ramlink201.bin' as ID 73. Main CPU: RESET. VSync: Sync reset Unit 8: RESET. Process 60732 stopped * thread #12, name = 'x64sc', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x555659b15d6f) frame #0: 0x0000555555687a68 x64sc`ramlink_io1_read [inlined] ramlink_io1_read(addr=<unavailable>) at ramlink.c:1372:17 1369 return val; 1370 } else if (rl_io1mode...
I suspect the UI code is altering a resource without obtaining the main lock, triggering the assertion. I'll have a look.
Joyatick: gtk3: pack input widgets in scrolled window
Joysticks on MacOS not working.
Thanks for the patch, looks good as far as I can see (I don't have a Mac, nor any experience writing code for MacOS). The patch should at least make VICE build successfully on MacOS again, but the joystick code is a moving target currently, so there might be more changes coming to the API. The latest changes can currently be found in the compyx/joymap-003 branch, and I try to keep my API docs somewhat up-to-date in the file doc/joystick.md, As for merging this, perhaps it's best to wait a bit until...
Joystick: Gtk3 UI: add GtkStack(Switcher) to experimental dialog
Joystick: store axis range and neutral position in axis object
Joystick: add joystick button LED widget
Merge trunk (r45655:HEAD) into branch
Joystick: update driver implementation docs
Fix printf format specifier warning
Joystick: split axis and button interpretation/calibration into separate functions
Joystick: add docs on UI-based polling code
Joystick: implement host joystick polling from UI
I'm working on custom joystick mappings right now, but it'll take a while before it's ready. I have no estimate of when I'll be done, but the plan is to at least have it ready for VICE 3.10 (Xmas), but hopefully way before that as a 3.9.x release. One hack to try is to configure the joystick in the SDL2 version of VICE and then copy the file ~/.config/vice/sdl-joymap-C64SC.vjm to ~/.config/vice/gtk3-joymap-C64SC.vjm. Best to try that with only one controller attached, there's no guarantee the order...
Joystick: add device status bits
Create branch to allow host joystick events to be passed to the UI instead of the emulated joysticks
Merge branch compyx/joymap-002 intro trunk
Merge trunk (r45649:HEAD) into branch
Fix missing argument in DGB(x) macro expansions
Joystick: disable debug messages from "JoyDevice{N}" resources
Fix -Wunterminated-string-initialization warning
Merge trunk (r45645:HEAD) into branch
Joystick: DirectInput: manually keep track of 'acquired' state of devices
Merge trunk (r45639:HEAD) into branch
Joystick: BSD: implement open()/close() driver methods
Joystick: update DirectInput driver to support opening/closing devices via resources
Joystick: only open host device when resource setter for "JoyDeviceN" is called
Create branch for implementing opening/closing devices in resource setters
Joystick: DirectInput: simplify hat to joystick direction conversion
File dropdown datasette controls consistency
Well spotted =) I've updated the datasette controls menu to use "Play" instead of "Start".
Gtk3: Use "Play" instead of "Start" for datasette controls submenu
Up input does not work on controllers
Good to hear, thanks for confirming my fix works =)
Looks like I had an incorrect assumption in my code when handling POV centered/up values (and didn't filter out higher order bits from POV values). Works for me with an old "Cyborg Force Rumble Pad" on Windows 11. (See commit r45630) Once the build bot is done and has uploaded r45630, please check if the issue is fixed for you.
Looks like I had an incorrect assumption in my code when handling POV centered/up values (and didn't filter out higher order bits from POV values). Works for me with an old "Cyborg Force Rumble Pad" on Windows 11. (See commit r45630) Once the build bot is done and has uploaded , please check if the issue is fixed for you.
Joystick: DirectInput: fix POV direction handling
Up input does not work on controllers
Probably some fallout from the joystick rework I did recently, I'll take a look. What OS are you using?
Joystick: update Linux driver
Joystick: Linux evdev: scan symlinks in /dev/input/by-id/
Joystick: reject devices based on number of inputs
FreeBSD: use custom mapper callback to fix Logitech F710 Y axis
Alleged lack of pulseaudio support
Excellent, closing then =)
Problem with saving hotkey configuration
Any update on this? Did adding the extra multimedia key codes work?
I assume we can close this?
Nuke trailing whitespace from orbit
Merge branch compyx/joymap-001 into trunk
Merge trunk (r45603:HEAD) into branch
Joystick: allow drivers to disable sorting of inputs
Joystick: Update docs with driver example
Joystick: update Windows driver
Joystick: update NetBSD/FreeBSD driver
Joystick: store parent device reference in axis, button and hat objects
Start documenting the changes in joystick API
Merge trunk (r45594:HEAD) into branch
Fix -Wshorten-64-to-32 warning
Joystick: fix headless build
Merge trunk (r45582:HEAD) into branch
mkdoxy.sh: add `src/arch/gtk3/joystickdrv/ and `src/joyport/` to INPUT
Joystick: Add `joystick_device_set_name()` and `joystick_device_set_node()`
Joystick: implement inverting button and axis values if requested
Joystick: BSD: only trigger events when values actually changed
Joystick: make sure to regenerate indexes of inputs after sorting
Joystick: BSD: add missing Doxygen docblocks
Joystick: rename `bsd_joystick_init()` to `joystick_arch_init()`
Joystick: rename `win32_joystick_init()` to `joystick_arch_init()`
Joystick: add `joystick_arch_init()` and `joystick_arch_shutdown()`
Merge trunk (r45560:HEAD) into branch
Joystick: add optional `customize()` callback to customize default mapping/calibration
Joystick: make SDL use raw axis values for `joy_axis_event()`
Joystick: update BSD driver to pass raw values to `joy_axis_event()`
Joystick: update DirectInput driver to pass raw axis values
Joystick: make `joy_axis_event()` accept raw values
Joystick: add simple calibration data struct
Joystick: simplify BSD driver a lot
Joystick: Windows: remove deprecated code, disable debug log message
Joystick: Windows: avoid needless calls to joy_foo_event()
Joystick: Windows: delete remnants of old joystick driver
Merge trunk (r45543:HEAD) into branch
"Fix" Windows size_t printing
Joystick: Windows: implement `poll()` driver method
Joystick: Windows: implement driver's open() and close() methods