Home Artists Posts Import Register

Content

The Swift conversion process is making more headway. I've converted most of the C-based cores, and it's pretty formulaic at this point. I made some scripts to parse the Xcode project files and print paths to source files that I can copy/paste into Package.swift. This helps cores with lots of source files and many that have to be ignored to be more quickly matched in the Swift package definition to match the structure of the Xcode project files for each core. There's another script that copies out all the weird compiler flags and #defines that need to be passed for each core.

I also used Claude, an AI assistant, to help convert the Metal and OpenGL view controllers to Swift. They were one of the only parts of the main app code that was still in Objective-C. Each file was around 1,500 lines, so I invested some money into AI and had it do most of the conversion for me. Then, I manually cleaned up stuff it missed. It took around 45 minutes per file, whereas they would have taken me a day each otherwise. Hail our AI overlords!

The app is almost building with a few of the C cores as pure Swift Modules, plus these changes to the OpenGL/Metal renderers. I could fix the remaining errors in under an hour,, but I'm running out of steam. There's no ETA on the next build, as I have to devise a strategy for handling the C++ cores in a way that won't be tediously annoying for each core. It's mostly boilerplate code and fixing search paths, header issues mapping from C/C++ to Swift,, etc. It's not difficult per se, just tedious and very error-prone. It's a process.

I would expect at least until the end of next weekend before I get all the cores building in Swift packages. I could do an earlier release, but it would probably be a downgrade with missingthere are no major issuesso still have to test the new importer code and hope there are no significant issues there as well.

Files

Comments

Lethal lawnmower

No problem thanks for doing what you do. I will try to support when I’m able to.

F̶L̶

help