electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » Clavia Nord Modular » Nord Modular G2 Discussion
(out of curiosity) what I'd need to write my own editor?
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 1 [8 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
aasmodular



Joined: Apr 16, 2016
Posts: 15
Location: aasmodular

PostPosted: Wed Apr 20, 2016 2:54 pm    Post subject:  (out of curiosity) what I'd need to write my own editor? Reply with quote  Mark this post and the followings unread

Hello,

-------
DISCLAIMER: this is not a promise or will to write one. Just a request for info. An possibly one day, may be, perhaps in my very rare spare time.
-------

I bought a G2 on eBay and it's on its way to me!! Any day now!! I can't wait. The official Nord NM G2 Editor v 1.62 runs fine on OS X El Capitan (at least for what I can test so far: it installs, it launches and opens/edits patches just fine) but I don't have the chance to test it fully until the G2 will be here with me.

Now,

I've seen other editors like nomad and nmg2 but I was wondering what it would take to write my own multi-platform editor. Leaving the language aside for a moment, what kind of libraries would I need? How do I find out about the modules? Did the above mentioned projects reverse engineer it? Or did they get some specs/help/files from Clavia/Nord?


As you probably have deduce by now, I'm very far from it and don't have all the questions but it would be awesome if you'd reply with useful info beyod my poor understanding of this.

Thank you Smile

_________________
follow my site if you'd like to check my music and sound design Smile
Back to top
View user's profile Send private message Visit poster's website
brunov



Joined: Aug 03, 2011
Posts: 227
Location: delft
Audio files: 1
G2 patch files: 2

PostPosted: Wed Apr 20, 2016 10:25 pm    Post subject: Reply with quote  Mark this post and the followings unread

hi aasmodular,

If you like programming the nmg2 editor is an interesting project, it may not look very complex but there are many different aspsects.

So if I may make some suggestions Wink

First you need to set up usb communication with the g2. You could use libusb or something else.

Then you have to program the protocol for sending and receiving g2 messages.

You have to build some kind of internal database to save the state (or multiple states) of the g2 into your application.

You have to build a undo-redo mechanism (very important in an editor), you could use for example the "command" design pattern

You have to be able to save the state of the g2 to to some physical medium in perf or patch format and maybe in midi format and be able to restore it from medium.

Then onto the graphical user interface, I ended up using openGL for this, because it guarantees a good performance (if used the right way) and is machine/os independent.
So to render controls and modules you use 2 triangles and a texture and you paint on the texture.
Also for the cables you can paint these on a separate layer made from two triangles covering the whole scene.
Look for sprite engines for openGL to get some examples.

My own project is on hold right now because of too much other things going on, but I hope to pick it up later on.

P.S. Where is the link to you site?

_________________
My old OS NMG2 editor: http://sourceforge.net/projects/nmg2editor/?source=directory
My new G2 editor FMX: http://www.bverhue.nl/g2dev/?page_id=17
Source code: https://github.com/BVerhue/nord_g2_editor
Back to top
View user's profile Send private message Visit poster's website
aasmodular



Joined: Apr 16, 2016
Posts: 15
Location: aasmodular

PostPosted: Thu Apr 21, 2016 5:47 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi brunov Smile

thank you so much for the quick and informative reply. I guess there's a lot more to it and if you want to add any more details I would be glad. Eg:

how/where did you get the info about the protocol and the modules?
did nord send you some specs?
did you have to reverse engineer the messages/firmware?

thank you

ps: added link to my site in my signature now.

_________________
follow my site if you'd like to check my music and sound design Smile
Back to top
View user's profile Send private message Visit poster's website
aasmodular



Joined: Apr 16, 2016
Posts: 15
Location: aasmodular

PostPosted: Sat Apr 23, 2016 8:13 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi brunov,

I've downloaded your old editor but there's no source code. I see that you used GPL v2 license, if it's not a problem I would like the source code so I can read it and see how you handled things.

IF I'll ever start this project I'll do it to learn ObjC and Swift, making an OS X iOS only editor (which is what I use and can test on).

Thank you

_________________
follow my site if you'd like to check my music and sound design Smile
Back to top
View user's profile Send private message Visit poster's website
brunov



Joined: Aug 03, 2011
Posts: 227
Location: delft
Audio files: 1
G2 patch files: 2

PostPosted: Sat Apr 23, 2016 10:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

Look under version 0.25:

https://sourceforge.net/projects/nmg2editor/files/v0.25/

You can also just look through the code online:

https://sourceforge.net/p/nmg2editor/code/HEAD/tree/trunk/Source/Common/

File structure you can find in g2_file.pas

Messages in g2_mess.pas and g2_usb.pas

In answer to your earlier question: many people here on the forum have contributed on file and message decoding. Don't know if there has any contact with Nord. Most of it is done just by changing something with the Nord editor and than comparing the patch file before and after with a hex editor. Messages can be done with an usb-sniffer.

I have no problems if you reuse the code, good luck!

_________________
My old OS NMG2 editor: http://sourceforge.net/projects/nmg2editor/?source=directory
My new G2 editor FMX: http://www.bverhue.nl/g2dev/?page_id=17
Source code: https://github.com/BVerhue/nord_g2_editor
Back to top
View user's profile Send private message Visit poster's website
ZeeByeZon



Joined: Mar 16, 2009
Posts: 32
Location: France
G2 patch files: 1

PostPosted: Sun Apr 24, 2016 2:47 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi

First of all congratulation brunov for your work Smile

I'm also a senior software developper, with a great background in C++ (expert), javascript (node js, angular js), Java...

I think that what is missing here is a multiplatform editor (Windows + Linux + Mac, and even Android and iOS). Is it alos what you are trying to get ?

So I was thinking about the ideal technology/language to use to achieve this
- First, as it's mainly about GUI, I would go for HTML5/CSS3 with a modern javascript framework like Angular JS or Ember JS. This would be a web interface.
- Then it would need a multi-platform backend, which would handle the USB connection, may be MIDI communication, and HTTP server for the GUI. Here we could reuse the work from brunov, or do something in C++, or node JS...

Separating the backend from a web interface may provide more flexibility. What do you think ?
Back to top
View user's profile Send private message
aasmodular



Joined: Apr 16, 2016
Posts: 15
Location: aasmodular

PostPosted: Tue Apr 26, 2016 10:35 am    Post subject: Reply with quote  Mark this post and the followings unread

hello,

brunov has a multiplatform editor already (see his signature).

If you were referring to me: nope, I'm not trying to achieve that. I would be just for fun and to learn coding. The original editor still works fine so there's no real pressure/need to put another one there (beside brunov good work too).

cheers

_________________
follow my site if you'd like to check my music and sound design Smile
Back to top
View user's profile Send private message Visit poster's website
ZeeByeZon



Joined: Mar 16, 2009
Posts: 32
Location: France
G2 patch files: 1

PostPosted: Wed Apr 27, 2016 6:40 am    Post subject: Reply with quote  Mark this post and the followings unread

His editor does not work on iOS or Android.
In fact I first misunderstood and thought that it did not work on OSX...

Cheers
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 1 [8 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Clavia Nord Modular » Nord Modular G2 Discussion
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use