G2 editor FMX

This is another editor I have been working on. It was given it the working title “G2 editor FMX”. FMX is the name of the “Firemonkey” framework of the new Delphi compilers which is a vector based graphics framework. These compilers can target multiple operating systems.

I’m not working on this project anymore but you can find the source code  on github: BVerhue/nord_g2_editor

The user interface of this editor was designed for a touch screen monitor or mobile device, but I haven’t been able to really test this. But it can be used with mouse and keyboard also.

The FMX version of the editor supports the following operatings systems:

  • Windows 10 : works.
  • MacOS (Catalina) : works, read the ReadMe.txt included in the zip how to install libusb.
  • Linux (Ubuntu): seems to work o.k., but haven’t had much time testing yet. See ReadMe how to install libusb and set permissions for the g2 usb device.

You can download the latest version here. If you want to try out the editor, please read the help file first. Although the part about the user interface is now a bit outdated, it is still usefull for installation.

Link Description Version Date Remark
 g2_editor_Win32 Windows 32bit version 0.4 (Beta) 22-Aug-2021 Delphi DX4
 g2_editor_Win64 Windows 64bit version 0.4 (Beta) 22-Aug-2021 Delphi DX4
 g2_editor_FMX_OSX64 OSX 64bit version 0.4 (Beta) 22-Aug-2021 Delphi DX4
g2_editor_Ubuntu64 Linux 64bit version 0.4 (Beta) 22-Aug-2021 Delphi DX4
Help file Help file for the g2_editor_fmx 0.3 1-Feb-2014  Outdated 🙁

Version 0.4 fix (30-May-2014)

  1. Small up down buttons where switched on the knobs
  2. External clock didn’t show on in editor, now the background turns red when “Ignore external clock” is False and externally received BPM is shown
  3. Fixed an exception error at destruction of parameter objects when switching patches

Version 0.4 (29-May-2014)

  1. Solved bugs with connection to G2 VST in Windows
  2. Implemented USB send message thread for better control of USB message flow, mainly for Android
  3. Worked around a tab key order bug in the TTabControl
  4. Replaced the external files “ModuleDef_v3.xml”, “ParamDef_v3.xml”, ModilePanelDefs.txt with internal data
  5. Made loading of “Symbols.svg” optional
  6. Added another optional external file “g2EditorColorScheme.xml” for modification of part of the color scheme
  7. Replaced the “Tree view” patch browser with a list box and directory buttons, because the tree view is buggy and slow
  8. Replaced the old event handling system with the subject-observer method to seperate ui from backend
  9. Replaced the led and VU-meter handling system to seperate ui from backend
  10. Added “Auto assign midi” functionality in “App settings” frame and “Knobs” frame (enter midi CC value in edit boxes in the knobs frame)
  11. Solved bug with momentary buttons on modules
  12. Made the note sequencer slider bigger
  13. Solved bugs in the Pianoroll when shifting notes
  14. Changed some of the short cut keys – Shift + Arrows to move the cursor, Shift + Enter to add a module
  15. When moving the cursor with the keys, the viewport will move if necessary
  16. Changed the gui interface of the main window to make more room for the patch
  17. Replaced tabs with subforms for knobs, banks, patch settings, synth settings and application settings

Problems solved in v0.35 (2-Feb-2014)

  1. Solved a bug, which became apparent after switching to the clavia editor “Version corrupted, Ctrl assignment problem”, the reason was that I allowed some actions, specifically assigning morphs/controlers/knobs to parameters that the clavia software does not allow. For example assigning a controler to patch parameter “Volume level”. So now I’ve disabled these functions for a number of parameters/settings: Volume level, Clock tempo, Clock run, Voice count, Voice mode (the last four aren’t really patch parameters anyway).
  2. Solved a bug which caused an access violation when changing the morph value of a parameter with key Ctrl + Up arrow, or Crl + Down arrow
  3. Added the functionality Ctrl + Mouseclick for setting morph range

Problems solved in v0.3 (1-Feb-2014)

  1. Cleaner and faster termination of the USB connection on closing of the application.
  2. Changed the location of the ini file “g2editorfmx.xml”. On windows this will be in the application folder, on Osx this will be in the documents folder. If you experience problems on startup you can try to delete this file. Also if you install version v0.3 and you had installed v0.2 earlier, you should delete this file, because I changed something in the file layout.
  3. Added functionality “Auto assign midi to knobs”. You can enable this in the application settings. You can assign CC numbers to knobs in the “Knobs frame” (parameter pages). If “Auto assign midi” is enabled, these CC’s will be automatically assigned to the parameter associated with the knob on patch load.
  4. Changed the patch file browsing tree. Sub directories are only read if you expand a directory in the tree. This will make the application load faster and also prevent the application reading too much directories at once.
  5. A number of small bugs.
  6. Updated help file.

Problems solved in v0.2 (12-Jan-2014)

  1. Osc didn’t show zero Herz correctly in partial mode
  2. Changed border for selected modules to dark gray in stead of white, to make them stand out better
  3. Spaced modules out a few pixels in the patch window also to make the selected ones stand out better
  4. “Init variation” function wasn’t implemented correctly, also added a button “Copy to init” on the Param tab.
  5. Added “Select all VA” en “Select all FX” on Module tab.
  6. Implemented the “Paste params” function (Ctrl+E), also added a “Paste params” button on the Module tab.
  7. Implemeted function “Change morph labels”: select Morph in Knobs frame, select a slider, on the Params tab you can edit the label.
  8. Added a knob Default value on Params tab.
  9. Corrected an error on renaming performances
  10. Icons of the level shift controls on LFO’s didn’t match the selected value, corrected that.
  11. Sustain pedal morph button has three modes “Sust pd”, “G Wh 1” and “knob”, I had only put in two, corrected that.
  12. Corrected an error in the Delete buttons of the Add Cable popup frame.
  13. A number of small bugs.

32 thoughts on “G2 editor FMX

  1. Enrico Cosimi

    many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many many THANKS!!! 🙂

    Reply
  2. James

    WOW this is incredible great news! I want this to use on ipad. I hope this has the genetics/mutate function the same as original g2 editor!

    Can you make this work with a midi output so it can be used on any other synth too ?

    THAT is EXACTLY what i have been waiting for! I have a G2, but i would also LOVE to use it as an editor/patch genetics mutator for other synths too!!!

    Any idea how long until ios version is available? I hope it will work on 2nd gen ipad…

    THANKS!

    Reply
    1. Bruno

      Whoa James 🙂 Thanks for your enthousistic reply but I must temper your expectations a bit, because I haven’t been able to setup a usb connection on iOS, Apple basically doesn’t allow it. Midi maybe possible though, but also the patch mutator is something I haven’t even tried to build in the editor yet.

      But you have some interesting ideas, it all will take some time to see what’s possible and what not…

      Bruno.

      Reply
      1. Nico Raftis

        I’m not sure if I understand the issue with iOS? I use my zoom h6 as an audio interface, and I use midi controllers like the qunexus with the iPad, I just had to get the camera connection kit to plug in the USB jack to the iPads proprietary port.

        I found out that the iPad mini fits perfectly in the empty area of the g2 at the top right where the logo is. Also with the magnetic iPad mini Smart Cover it magnetically holds itself right in place! It’s such a cool combination for live performance and jamming. I really want to have an editor for iOS so that I can use this like a bad ass little workstation!

        What type of data needs to be passed back and forth from the editor? I am certain that it will work, but you may need to get a peripheral sdk for the iPad. I would be super down to help out with this in any way I can. My app coding skills are a bit novice, but I would be interested in learning in order to make something like this. I feel like there could be some really cool possibilities for touchscreen integration.. Like have the sequencers setup so you can view a few with nice touchscreen sliders, or a patch generator! That could randomly generate patches.

        Reply
        1. bverhue Post author

          Here is a description of some of the messages that are exchanged between the G2 and the editor : http://www.bverhue.nl/G2EditorHelp/G2_messages.html

          The USB connection uses interrupt and bulk transports and it uses a vendor specific protocol for the exchange of messages.

          I’m not a low-level programmer so for things like usb programming I rely on finding examples on the internet. So far I haven’t found anything I could use for ios. You can have a look yourself for example by googling “ios usb programming”.

          What I understand is that you can basically only connect to devices that are in the mfi programm, or you could use a special cable from redpark but then the software you develop for that is not accepted in the apple store etc. ect. You cannot just plug in any usb device in an ipad, there are a lot of restrictions, so that is basically the reason why I have given up on ios for now.

          I don’t have an ipad myself, so I can’t test if the g2 is even recognized as an usb device when you plug it into an ipad or that the whole thing is going to explode when you try.

          Reply
          1. Nico Raftis

            what about something clever like roland did fro their modular configurator utilizing the dac outputs from the audio jack to send data signals, I am realizing that sounds crazy but with some sort of hacked adaptor cable it could work. Also, I bet the USB is easier then you think. I used to say the same thing “I am not low level enough for this or that” but then I started looking at data sheets for SPI chips and the serial language in general is really simple. Its just a stream of binary formatted to a certain clock timing and however it is that it works on your PC and android software will likely be easily adaptable. Maybe apply for a dev account at apple and they probably have an easy to use SDK for this. I would be down to help out. I recently hooked up my teensy 3.1 arduino to the ipad and it was recognized just fine as a class compliant midi controller, I guess at the end of the day what I am saying is “if there is a will, there is a way” and I have a serious will 😛

    1. Bruno

      Well I’m rewriting parts of the code at the moment to decouple the user interface from the g2 specifics. But apart from that,it will involve a serious amount of work to develop the g1 specific interface, or a generic midi interface as James suggested. Most of the g1 file structure and messages are already known thanks to the Nomad project. It’s maybe something for later, have my hands full at the g2 at the moment.

      Reply
  3. ian urson

    first of all, a big THANKS for the new editor! the clavia modulars are very deep machines, and they don’t deserve to be forgotten so soon just because clavia suddenly decided to make organs and e-pianos.
    i am eager to test your new editor on my g2!

    thank you, thank you, thank you!!!!!

    and please don’t neglect the g1 as soon as you find some time. it needs some love too!
    🙂

    Reply
    1. bverhue Post author

      The main difference is that it unlocks 2 extra modules: the driver and the resonator. And you can use the editor in combination with a vst that is part of the prevous (old) open source editor. On the other hand, it doesn’t have the patch mutator. The cpu/memory usage calculation is bit off. Some may not like the user interface, I thought I try to make it ready for touch screen but haven’t been able to test that. Please remember that it’s just a hobby project that got a bit out of hand, I wish I had some more time to work on it, but that’s not going to happen soon.

      But the most interesting thing for patching are the two extra modules, these are available in the old open source editor also.

      The old editor looks a bit more like the nord editor but can’t be used on a mac. The vst is also only windows.

      Reply
  4. R Lawrence

    (Consolidated request)
    Wow! I am reviving my G2 modulars and was looking for the best way to move forward with them.
    This looks wonderful!!!
    I have a wish list / question list / and if possible to do, would be happy to “hire” your time to do them…
    Or if you know someone who is best to make it happen… Thank You!
    #1) Could it be possible to control multiple G2 devices from one editor ( I believe the first generation could control “four” units from the editor according to Sound on Sound… I think I had it going on my (3) first gen nord’s years ago too).
    #2) A big one for me… Could a module be made to do phase reverse / and time-adjust samples delays (one at a time like Avid/Digidesign’s “Time adjuster” plug-in. Which has a smaller version to go from 1-256 and bigger for longer times)? My ears tell me: when I have an oscillator, and have patched parallel module chains, (different modules patched to different number of modules running parallel chains into mixers), that there are “out of phase” issues and “sample delay” issues causing phase problems and eating bottom or top-end, etc. This could be a simple way to help keep everything fat, warm and big with giant patches. it would be helpful to have a chart of the sample delays of each module too. Lining up sample delays in-time works- wonders.
    #3) To be able to receive poly aftertouch from another controller or sequencer (Logic etc.) ! 🙂
    for CS80 / GX-1 style patches.
    #4) There is a new 3d-poly pressure standard that the Roli Seabord, Linnstument , Madrona, and other are adopting … it’d be great to control a Nord Modular G2 rack with a Roli Seaboard.

    Thank you again! R Lawrence

    Reply
    1. bverhue Post author

      Hi,

      Thanks for your comment.

      about your questions:

      #1: Yes the editor supports max 3 G2’s at the moment.
      #2, #3, #4: I’m afraid these things can’t be changed by the editor software. These things are all part of the G2 firmware and I can’t make modifications in the firmware of the G2.

      Bruno

      Reply
    2. Nico Raftis

      #2 the delays:
      I believe this is already possible using the delay node, or some kind of mixer feedback trickery. Look on the forum for z-1 or single sample delay, I believe I had seen a whole slew of clever patches that made custom oscillators from the bottom up using mixer nodes and feedback. Also worth looking into are all pass filters, those can shift phase of certain frequencies and are pretty simple but I don’t think there is a module for them so again it would be some single sample feedback with an inverter and summing mixer.

      3/4: this should all be possible, I might suggest checking out pure data to see if there is a patch or external that converts the data. or if you don’t mind paying Im fairly certain MAX 7 can do this pretty easily. These would require a bit of searching to see what has been done in the community already and if someone hasn’t already made a patch to convert the multi sensor data to midi at worst case you would have to make a patch, but it should be pretty straight forward.

      Reply
  5. Datanois

    bverhue: First, thank you very much for this! I am looking for a way to “headless” (from the terminal / commandline on OSX / LInux) upload pch2/prf2 to the G2, because I am working on a big, automated library of sound samples (over 4000) of the G2.

    Could you help me with a headless load-only version? I just want it to take one argument which is the filename, load it into the G2 and then just exit.

    That would be great!

    Reply
  6. Datanois

    The process for my library is as following:
    – Upload patch to G2
    – Start “sox record” to record audio upto 1 minute, or if silence is detected (in background)
    – In the Background play Audio (for Audio In patch testing) and one of my test midi files simultaneusly (for interactive patches)
    – Stop recording and playback
    – Start over with next patch

    Reply
    1. Isaac B

      helllo

      do you have a problem getting to work the g2 editor in MOJAVE? OS X

      can you walk through the problem, i may have a similar one as well

      best
      isaac

      Reply
  7. Isaac B

    whats up guys,

    i know I am a bit late to this private party but here i come.
    i can see most of the replies are from years ago, wile we are in year 2019 near. did that means everyone sold their g2’s? haha, hopefully NOT, because is damn good synth if make it as a one weapon.

    so, i am looking for some help please, does anyone knows or updated the software to a latest release with new features? i am working on MOJAVE the lates OS from mac as of november 2018, wile i use the older version of g2 editor from 2014 (downloaded from this forum) and i am very new to the g2 editor however patient and hungry to learn it.
    I was wondered if anyone has a latest version or anything new updated.
    some links also for patches and tutorial if any will be so much help for me as well

    anyone has any good news please? appreciate a little help

    sincerely, isaac

    Reply
  8. Sam A.

    Maybe you could give me some good help with the usb I do not own a G2 again yet. I really like your G2 FMX macOS editor and I have an issue that on my mac M1 Sonoma OS in SIlicon mode no matter what I try I can’t get libusb-1.0.0.dylib to be found. I tried the homebrew install and tried various workarounds including the MacPorts libusb install and the xcode Silicon compatible install of libusb that requires copying the .dylib to my mac’s Local folder but I just can’t get the usb drivers to be found. For awhile they even seemed to slow down my hd and I was just nearly randomly guessing terminal commands by finding install commands and copying and pasting them and messing around in terminal.

    Reply
    1. bverhue Post author

      I don’t own a Mac. But for the G2 to be found on an M2 system and probably on an M1 system as well, you need to install the x86-64 version of libusb. I know some people who had succes with this.

      Reply
  9. Sam A.

    Could you be more specific about the x86-64 version of libusb you mentioned? Do you have a link to explain how to install it or an actual link to an installer or a terminal command you can learn of from the people who got your G2 FMX editor working or do you yourself have the info? I searched for Mac M1 x86-64 libusb on google and couldn’t find anything…

    Reply
  10. Gordon Smith

    I’ve been able to keep Clavia’s NMG2 Editor running on my Intel MacBook Pro with the 64-bit macOS Big Sur, by connecting the G2 to a USB2 hub and running the Editor on Parallels running Windows 7. I’ve never had a problem with it. But the MacBook is 8 years old and starting to have issues, so I’m looking at options for a new Apple Silicon MacBook.

    I’m pretty sure the Editor will run on a newer version of Parallels, but there seems to be consensus that the G2’s USB connection will not be recognized. Do you know if libusb would get around this issue? It’s fantastic that you’ve gotten it to work with your own nord_g2_editor, so what I’m wondering is if the installation of libusb would be recognized in Windows 7 running on Parallel?

    Reply
  11. Gordon Smith

    I did finally borrow a 2020 M1 MacBook Air for 5 minutes and connect my G2X to it. Amazingly, the System Report showed it exactly the way it does on my 2015 MacBook Pro: as “Nord Modular G2X”, connected to my Genesys Logic USB2 hub, which is connected to a USB 3.0 Hub to one of the MacBook Air’s Thunderbolt/USB4 ports. I realize that this is not the current USB-C standard port for MacBook’s, but what do you think? It does seem to indicate that the G2X’s USB is class-compliant enough to work with Clavia’s NMG2 Editor in a virtual sandbox like Win7 under Parallels…

    Reply
  12. Sam A.

    I setup the G2 FMX editor in macOS using the NavsModularLab page instructions and initially the USB drivers worked fine on the latest macOS Sonoma 14.6.1 and when I received the G2 engine I bought I connected ita and started the FMX macOS editor with USB working fine but after a short while the editor lost it’s connection while I was browsing through G2 patches loading a few hear and there after testing a default .prf2 performance. I had to turn off my G2 Engine and reboot my system and then the editor worked again briefly then crashed again so I am stuck trying the Parallels Win64 ARM setup with the G2 FMX Win64 editor for now until I get a new computer to test it with or I will just return my G2.

    Reply
  13. Sam A.

    Now in macOS Parallels Windows 11 I’m reading through the G2 FMX helpfile and it says that there is an “Intel IA64 bits system” folder with files you can copy to your system folder in the Libusb-win32-releases archive that I downloaded the bin zip of but it’s not in the zip. What steps can I take to install the libusb in Windows 11 ARM64 on Parallels 19 to get the G2 FMX Win editor to connect with my Nord G2 rack?

    Reply

Leave a Reply to Sam A. Cancel reply

Your email address will not be published. Required fields are marked *