| Author |
Message |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 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: 26 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: 26 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: 115 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: 26 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: 26 Location: UK
|
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
|
|
Back to top
|
|
 |
nord_balls

Joined: Nov 07, 2005 Posts: 15 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: |
113 Time(s) |
| This image has been reduced to fit the page. Click on it to enlarge. |

|
|
|
|
Back to top
|
|
 |
NordG3
Joined: Apr 29, 2021 Posts: 7 Location: On the internet
|
Posted: Sat Jul 26, 2025 8:21 pm Post subject:
|
 |
|
| nord_balls wrote: | 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 |
Not sure when to expect a working macOS v15/v16+ compatible G2 editor but I'm excited about it. Love the G2fx.png G2 interface image. Massive imrpovement over the original editor/G2 source Delphi redo. Looks fancy. |
|
|
Back to top
|
|
 |
nord_balls

Joined: Nov 07, 2005 Posts: 15 Location: New York, NY
G2 patch files: 1
|
|
|
Back to top
|
|
 |
nord_balls

Joined: Nov 07, 2005 Posts: 15 Location: New York, NY
G2 patch files: 1
|
|
|
Back to top
|
|
 |
xav

Joined: Mar 21, 2005 Posts: 165 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Sat Aug 23, 2025 10:08 am Post subject:
|
 |
|
| Excited by this project and what you already made. I wish I was able to help. |
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
Posted: Sat Jan 03, 2026 9:47 am Post subject:
|
 |
|
For info - things are slowly moving ahead on my editor, with at least one other collaborator.
I was working on it whilst between jobs, but I got a new position in July last year, which has been sucking all of my time away.
I'm now thinking of retiring from the software engineering game in a few months, so might be able to push forward.
I'm working on the core and the other guy is implementing modules. We're going to need the community to help with testing though. |
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24539 Location: The Netherlands, Enschede
Audio files: 299
G2 patch files: 320
|
Posted: Sat Jan 03, 2026 3:40 pm Post subject:
|
 |
|
| ChrisPurusha wrote: | | We're going to need the community to help with testing though. |
I have a couple of G2 engines, and I have a mac .. os 26 .. and a windows laptop .. os 11 .. will need a conversion thing from USB C to .. what is it .. B or maybe to A ...
What can I do, and how? _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
Posted: Sun Jan 04, 2026 4:42 am Post subject:
|
 |
|
Thanks. Mainly testing of the modules and functionality vs. the original editor. Progress isn't fast, but I reckon most of the difficult stuff is done. A few protocol areas to finish yet, but the editor works for the modules we have implemented. Also recently got pch2 file saving and loading working.
We're all working on local builds, using Xcode. If you're not able to use that, we can start to look at binary releases. Just need somewhere to host them. Maybe just straight into Git? Currently building on an Apple Silicon machine and on an Intel machine. Not sure how easy it is to export a universal binary. Haven't tried that yet. Might have to be Apple/Intel separate files short-term.
Here's something I'd like an opinion on though. Doesn't necessarily need to work the same as the original editor, but:
File saving and loading works without the G2 as-is (a bit more testing would be good). Question is - how and when to push/pull the data to/from the G2?
I'm currently pulling the patch data clean from the G2 on connection, but maybe we want to maintain the editor's data when re-connecting? Currently have a file load and save button, but maybe we need buttons for pushing/pulling to/from the G2?
Please do let me know with any thoughts on the above! |
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
Posted: Sun Jan 04, 2026 4:49 am Post subject:
|
 |
|
Plenty of areas to improve and mechanisms to implement, including.
- Performance editing
- Cable colouring and hiding
- Module naming
- Module colour selection
- Group module selection
- Sending a full patch to G2, rather than individual edits
- Icon representation of waves etc. (low priority - will work short term with text)
Main guy I'm working with is: Øyvind Jacobsen Bjørkås, who's implementing the modules.
We can of course, go above and beyond the functionality of the OG editor. Some algorithmic AI and maybe macro generation of groups of modules? It's all open-source, so the community can do what it likes with it. Branch and re-implement if it really wants to.
Hoping the ultimately, the Usual Suspect guys might even be able to emulate the G2 and possibly re-use some of my work. Last edited by ChrisPurusha on Sun Jan 04, 2026 6:50 am; edited 1 time in total |
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24539 Location: The Netherlands, Enschede
Audio files: 299
G2 patch files: 320
|
Posted: Sun Jan 04, 2026 5:56 am Post subject:
|
 |
|
Ok, from https://github.com/chrispurusha/G2-Edit then .. let me get that and try to compile .. _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24539 Location: The Netherlands, Enschede
Audio files: 299
G2 patch files: 320
|
Posted: Sun Jan 04, 2026 6:20 am Post subject:
|
 |
|
In XCode :
Project /Users/jan/_MyProjects/github/G2-Edit/G2 Gui.xcodeproj cannot be opened because it is missing its project.pbxproj file.
and then xcode needs be force quit .. ok .. next ...
Project /Users/jan/_MyProjects/github/G2-Edit/G2-edit.xcodeproj compiles and runs .. and I can open a patch
what is do-uncrustify for? It seems to just generate an error when i run it?
 _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24539 Location: The Netherlands, Enschede
Audio files: 299
G2 patch files: 320
|
Posted: Sun Jan 04, 2026 6:26 am Post subject:
|
 |
|
For uncrustify :
| Code: | /Users/jan/_MyProjects/github/G2-Edit/do-uncrustify ; exit;
jan@labtobbe8 ~ % /Users/jan/_MyProjects/github/G2-Edit/do-uncrustify ; exit;
/Users/jan/_MyProjects/github/G2-Edit/do-uncrustify:5: no matches found: src/*.h
/Users/jan/_MyProjects/github/G2-Edit/do-uncrustify:6: no matches found: src/*.c
/Users/jan/_MyProjects/github/G2-Edit/do-uncrustify:7: no matches found: src/*.cpp
/Users/jan/_MyProjects/github/G2-Edit/do-uncrustify:8: no matches found: src/*.mm
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
|
So not really an error, just doiing nothing? _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
Posted: Sun Jan 04, 2026 6:43 am Post subject:
|
 |
|
Don’t worry about decrustify. It’s a ‘C’ beautifier. I occasionally run it here.
Obvs. Everything is at your own risk at the minute. Backups recommended.
Someone tweaked my zoom mechanism, I think if you hold cmd, mouse wheel will let you zoom. Cables work on some modules. Looks like maybe not the ones you have there, or at least they’re not meant to. Looks like one of my set of test files. They mostly just present modules, without patches.
Sorry can’t help too much today. Taking daughters back to Uni etc.
Nice work getting it building and running though! |
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
Posted: Sun Jan 04, 2026 7:01 am Post subject:
|
 |
|
| Do connect it up via USB to your hardware though. Dials etc. should work! |
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24539 Location: The Netherlands, Enschede
Audio files: 299
G2 patch files: 320
|
Posted: Sun Jan 04, 2026 7:05 am Post subject:
|
 |
|
Could run some wires, yes .. and when saved they will load again .. could use at least some buttons and knobs.
And backup, I occasionally even do that - like yesterday
Anyway, will want to look at the code first now to get some idea of how it all works and connects together.
Planning to have time for that the coming week.
Oh ok . the hardware should do something too .. did not try that .. it will need another editor too I guess .. not having that running currently on new computers. _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
|
Back to top
|
|
 |
ChrisPurusha
Joined: Sep 09, 2024 Posts: 26 Location: UK
|
Posted: Sun Jan 04, 2026 7:19 am Post subject:
|
 |
|
| Connect up! You might be surprised what works! |
|
|
Back to top
|
|
 |
|