Author |
Message |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 17 Location: UK
|
Posted: Tue Nov 05, 2024 3:17 am Post subject:
|
 |
|
By the way, I have an Apple M4 MBP on order, so should be able to test my ‘C’ next week. |
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 17 Location: UK
|
Posted: Thu Nov 07, 2024 9:21 am Post subject:
|
 |
|
Having a good dig into JUCE today. That might be the way forward for the GUI.
Not going to be easy though! Pretty advanced JUCE, and I'm only getting to grips with the basics! |
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 17 Location: UK
|
Posted: Mon Nov 11, 2024 8:21 am Post subject:
|
 |
|
Now I have an M4 machine, I found what look like a couple of bugs in the implementation on there. One makes sense, just didn't hit it on the Intel machine.
One looks like a bug in the Apple IOKit layers. An interrupt message contains an extended data response! Worked around it for now.
GitHub repository contains the fixes. |
|
Back to top
|
|
 |
hyperstationjr
Joined: Jun 12, 2005 Posts: 114 Location: New Jersey/New York
G2 patch files: 24
|
Posted: Wed Dec 11, 2024 10:57 am Post subject:
|
 |
|
I’m a long-time G2 user with a professional background in graphic design. I’ve not worked on application UI but I have done plenty of website UI and UX design. I’m not sure how much help I’d be but certainly willing to lend a hand. Feel free to reach out, happy to discuss more and assist where I can. _________________ Studio:
Analog Four Mk2, Digitone, Iridium Desktop, Nord Modular Rack, Nord Modular G2 Engine, Octatrack Mk2, Syntakt, Torso S4, Torso T1
For Sale/Trade:
Alesis Microverb 4, Panasonic RQ-705 Reel-to-reel, Roland Alpha Juno1, Roland R5, Yamaha TG55 |
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 17 Location: UK
|
Posted: Fri Dec 13, 2024 3:38 am Post subject:
|
 |
|
hyperstationjr wrote: | I’m a long-time G2 user with a professional background in graphic design. I’ve not worked on application UI but I have done plenty of website UI and UX design. I’m not sure how much help I’d be but certainly willing to lend a hand. Feel free to reach out, happy to discuss more and assist where I can. |
Thanks for the offer of help, but the main thing I'm attempting to get to grips with, is the mechanisms behind the GUI.
There are various frameworks available for GUI generation on Mac, but they're mostly OpenGL based. OpenGL is no longer being supported on Mac, so I am/we're being pushed towards Metal for custom stuff. That's pushing me/us towards Swift.
It's making the decision on which way to jump quite difficult.
VCV, the open source modular system, uses GLFW - but that's also OpenGL based as the name suggests. If we're going to future-proof this, it's quite difficult to decide the route.
Also having a lot of professional distractions at the minute - job hunting. |
|
Back to top
|
|
 |
Eag
Joined: Feb 14, 2007 Posts: 40 Location: Central Pennsylvania
G2 patch files: 3
|
Posted: Thu Dec 19, 2024 12:24 pm Post subject:
|
 |
|
ChrisPurusha wrote: |
Thanks for the offer of help, but the main thing I'm attempting to get to grips with, is the mechanisms behind the GUI.
There are various frameworks available for GUI generation on Mac, but they're mostly OpenGL based. OpenGL is no longer being supported on Mac, so I am/we're being pushed towards Metal for custom stuff. That's pushing me/us towards Swift.
It's making the decision on which way to jump quite difficult.
VCV, the open source modular system, uses GLFW - but that's also OpenGL based as the name suggests. If we're going to future-proof this, it's quite difficult to decide the route. |
As a full-time TypeScript web dev who would love a cross-platform, maintainable G2 editor, I'd vote for TS / Electron.
It's almost certainly not the *best* framework for the job, but no framework is going to be ideal, and for long-term maintainability, I think the Web stack is a good bet. It's got a long history of backwards compatibility, so breaking changes are fairly low-probability.
Given that we have ian-s's patch viewer as a starting place, that's another argument for using TS / Electron. We have a starting point to work from that's not married to aging, closed-source tech (Delphi).
I don't have much free time for hacking these years, as I parent young kids, but I'd be happy to contribute as I can. I've got a good amount of interactive GUI experience, including rolling drag-and-drop UIs a few times, both in native Python and browser-based JS.
I don't own an Apple Silicon Mac, and I run a Linux desktop, so I wouldn't be much use in helping with any MacOS-specific UI tech.  _________________ "Anything you say can and will be used against you. We probably won't wait for a court of law to do it." |
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 17 Location: UK
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 17 Location: UK
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 17 Location: UK
|
|
Back to top
|
|
 |
nord_balls

Joined: Nov 07, 2005 Posts: 13 Location: New York, NY
G2 patch files: 1
|
Posted: Mon Jul 21, 2025 4:21 pm Post subject:
|
 |
|
Wow I somehow missed all this action! @ChrisParusha sorry to miss these posts and great progress. I have a progress report, everything is visible at https://github.com/sirlensalot/g2fx . I can also give a report on my compilation attempts of the Delphi code.
1. USB/Protocol. This is pretty much done from a read perspective, the only part I haven't gotten to is writing data back. It does read and write to patch and perf files though. It features a complete wire protocol for pretty much every read datatype.
2. GUI with JavaFX. I decided to bite the bullet and with AI help start work on a JavaFX frontend. I'll put a better screenshot up, but for now I have a working editor frame -- global, editor and patch toolbars wired up. For instance morph knobs switch on slot and variation, load meters work, etc.
I'm interested in help but not sure the project is ready for it. Currently I'm evaluating approaches for drawing modules. Using data from the Delphi open-source project is a decent approach, but it leans on image data a lot and maybe looks a little clunky compared to ian-s code. Ian-s js module code (really JSON) is more attractive, but the inability to get a response on reuse or better a license is a deterrent. Probably going to proceed with drawing from the open-source data and tuning that, since it's GPL. At some point I need to harmonize my BSD3 contribs with the source GPL (g2ools is also GPL). Once that framework is settled the long haul of getting the 180+ modules drawn begins.
Anyway, JavaFX seems like a controversial choice, but given the sorry state of crossplatform desktop frontend dev in 2025, it's almost the least-bad. The css support alone makes it not completely embarrassing, and it's not going away anytime soon. It helped that I independently came across JavaFX editors for other open source music hardware things like XFM. In any case thanks to LLMs I've made rapid progress there and have a working backend-UI architecture.
DELPHI CODE: I got a Win11 ARM VM running, and tried building ... no go. There's a 32bit UI library in heavy use that has simply not been ported to new architectures. This was a big reason for eventually deciding to dive into GUI coding, as I see no way forward investing in some new Delphi UI lib.
@ChrisPurusha feel free to join this effort, or conversely crib anything you like! I know java isn't everyone's cup of coffee.
EDIT as far as module-drawing goes, I have a yaml file which puts the Delphi Gen1 module .txt files into a single file. Next step there is to write png files for all the text-encoded data as there's a lot of duplication, and write the png filenames back to the yaml as the final touch. https://github.com/sirlensalot/g2fx/blob/main/src/main/resources/org/g2fx/g2gui/module-uis-1.yaml
Description: |
|
Filesize: |
165.28 KB |
Viewed: |
8 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |

|
|
|
Back to top
|
|
 |
|