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
NMG2 Open Source Editor
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 7 of 21 [519 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3, 4, 5, 6, 7, 8, 9, ..., 19, 20, 21 Next
Author Message
v-un-v
Janitor
Janitor


Joined: May 16, 2005
Posts: 8932
Location: Birmingham, England, UK
Audio files: 11
G2 patch files: 1

PostPosted: Sun Dec 11, 2011 12:54 pm    Post subject: Reply with quote  Mark this post and the followings unread

Sorry, please pardon my bad manners! Excellent work! Very Happy

(even though I still only have a mk1 Nord Modular).

_________________
ACHTUNG!
ALLES TURISTEN UND NONTEKNISCHEN LOOKENPEEPERS!
DAS KOMPUTERMASCHINE IST NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! ODERWISE IST EASY TO SCHNAPPEN DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKSEN.
IST NICHT FÜR GEWERKEN BEI DUMMKOPFEN. DER RUBBERNECKEN SIGHTSEEREN KEEPEN DAS COTTONPICKEN HÄNDER IN DAS POCKETS MUSS.
ZO RELAXEN UND WATSCHEN DER BLINKENLICHTEN.
Back to top
View user's profile Send private message Send e-mail
Antimon



Joined: Jan 18, 2005
Posts: 4145
Location: Sweden
Audio files: 371
G2 patch files: 100

PostPosted: Sun Dec 11, 2011 1:03 pm    Post subject: Reply with quote  Mark this post and the followings unread

Derek Cook wrote:
brunov wrote:


I'm pouring myself a large one now, cheers! Wink


I think you deserve it! Smile


Well deserved indeed! beer

_________________
Antimon's Window
@soundcloud @Flattr home - you can't explain music
Back to top
View user's profile Send private message Visit poster's website
fairplay



Joined: Apr 13, 2009
Posts: 11
Location: Germany, near Munich

PostPosted: Sat Dec 17, 2011 4:58 am    Post subject: Reply with quote  Mark this post and the followings unread

...just to let you know that i am following your efforts with admiration - thank you for tackling this project...

...Thank You!...
Back to top
View user's profile Send private message
dasz



Joined: Oct 16, 2004
Posts: 1644
Location: victoria, canada
Audio files: 29
G2 patch files: 56

PostPosted: Sat Dec 17, 2011 11:22 am    Post subject: Reply with quote  Mark this post and the followings unread

I too want to applaud you on your efforts, cheers!

Looking forward to trying it when the time is right ...
Dasz
Back to top
View user's profile Send private message
buzzr



Joined: Dec 13, 2007
Posts: 360
Location: portland
Audio files: 1
G2 patch files: 1

PostPosted: Sat Dec 17, 2011 8:55 pm    Post subject: Reply with quote  Mark this post and the followings unread

Most excellent..I sold my nord G2 only to buy it back again as it's the best instrument I've ever owned. This solidifies this 3 fold. Thanks again for your work!
Back to top
View user's profile Send private message
brunov



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

PostPosted: Mon Dec 19, 2011 3:00 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks, I enjoy working on this, I find it very satisfying to find out bits and pieces and putting it in the software and then to see it actually work.

This weekend I did the performance dialog and the global knob assignments. My plan now is to try to put in as much as possible of the missing functionality the coming months. It's surprising to see how much functionality there is, things I've always taken for granted. So this is what's missing at the moment:

Select, cut, copy past part of patches
Undo, redo
Auto assign midi
Sysex functions
Bank/patch manager
Choose module color
Show/hide cables
Edit name of modules/parameters
Module text functions
Module graphic screens
Multiple g2 support
Memory used indicator
Virtual keyboard
Patch adjuster
Patch mutator

I'll do the cut/copy/past stuff first, because that may involve another round of software restructuring.

I'm not going to try the patch mutator. I think that would be very difficult and take too much time. Memory used is also difficult, don't know if I can make that 100% accurate. Multiple g2 support, don't know yet. Undo/redo might be difficult too, don't know yet how this is done with the usb messaging.

Then there is extra functionality that isn't in the original editor:
a Vst
OSC support

With the vst you can automatically load patches with an ableton project for example. This is done using FXB files, but maybe there are alternative solutions. And with the vst you can automate the parameters. The parameter change messages are send over tcpid to the editor and then over usb to the g2 in stead of using midi.
So I could try to make a translation layer for sending the parameter change messages between vst and editor in osc format. Then you could also communicate with other osc devices with the editor.

I'm new to osc and I don't have a lemur or an ipad or max for live, so I'm looking for a simple windows osc tool that sends out and receives osc that I can manipulate with the mouse. If the editor can communicate with that tool, it will be able to communicate with other osc devices too. So if you know of such a tool, please let me know.

The biggest problem with linux version of the software at the moment is the buggy scrollbox control of the Lazarus/fp compiler. So in the worst case we'll have to write our own scrollbox control.

Then some day I'll try to compile the project for OSX, both Lazarus/fpc and the latest Delphi compiler should be able to able to build applications for OSX.

If there are people able and willing to help with the delphi developement, we could put the code somewhere on sourceforge or somewhere like that. Don't have any experience with that so any advice would be welcome. Maybe Derek's Java code could be there also.

Or if you have suggestions about the functionality, that's always interesting too.

So, all in all, there's really no excuse for getting bored this winter...
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Mon Dec 19, 2011 6:46 pm    Post subject: Reply with quote  Mark this post and the followings unread

In the words of someone sampled on The Dark Side of the Moon:

"Brilliant. Absolutely fucking Brilliant!"

Many thanks and congrats on such a superb job!
Back to top
View user's profile Send private message Visit poster's website
Derek Cook



Joined: Dec 30, 2005
Posts: 171
Location: Wales, UK
G2 patch files: 3

PostPosted: Tue Dec 20, 2011 1:04 am    Post subject: Reply with quote  Mark this post and the followings unread

brunov wrote:
Thanks, I enjoy working on this, I find it very satisfying to find out bits and pieces and putting it in the software and then to see it actually work.


If there are people able and willing to help with the delphi developement, we could put the code somewhere on sourceforge or somewhere like that. Don't have any experience with that so any advice would be welcome. Maybe Derek's Java code could be there also.



Sounds like you're steaming ahead! Well done! Smile

I hope to get started on the Java stuff in a few days, but I have been insanely busy on music projects (which is of course why we have these toys in the first place! Smile ).

I would agree that source forge is a good idea. Haven't done it myself, but would be happy to look into it, as I am used to using things like CVS and SourceSafe for source control. I am also more than happy to put the Java stuff on there once I have something for people to look at.

_________________
Regards
Derek Cook

www.echoes-music.co.uk
www.purefloyd.co.uk
www.carregddu.co.uk
www.xfactory-librarians.co.uk
www.ex5tech.com
Back to top
View user's profile Send private message Send e-mail
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Tue Dec 20, 2011 3:09 pm    Post subject: Reply with quote  Mark this post and the followings unread

brunov wrote:
I'm new to osc and I don't have a lemur or an ipad or max for live, so I'm looking for a simple windows osc tool that sends out and receives osc that I can manipulate with the mouse. If the editor can communicate with that tool, it will be able to communicate with other osc devices too. So if you know of such a tool, please let me know.


Give this a try:
arrow http://oscseq.com/manual/

It is a basic recorder/playback of OSC messages, and can also edit the messages to be sent. Probably could be used like a MIDI monitor, but with added capabilities of recording.
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: Thu Dec 29, 2011 2:16 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hey Derek, great that you are so busy with your music, the java implementation can wait of course.

Jk, thanks for the osc tool, i'll try that.

I've done the cut/copy/paste/delete parts of patches and basic undo functionality: I just put the opposite of a message on an undo stack, so if you add say a cable, i put the corresponding delete cable message on to the stack.

Also did the parameter and module name change functionality.

And now I've also been able to get my hands on the latest Delphi compiler: Delphi XE. That opens up a few new possibilities. You can for example compile for different target platforms: win32, win64, macos (but no linux yet unfortunately).

There is also a different ui farmwork "firemonkey" that enables for example zooming in and there's also support for touch and gestures. I'm going to take some time to look what I can use of this in the editor. Can't promise anything of course, but all quite interesting. I'll keep you posted.
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: Tue Jan 03, 2012 2:51 pm    Post subject: Reply with quote  Mark this post and the followings unread

Ok, made a bit of progress with the Osc. I didn't get the tool you suggested to work jk, but found another one "Mouse to Osc" by www.niallmoody.com. And joreg http://opensoundcontrol.org/implementation/delphi-osc already made a port of the osc implementation to Delphi, so that's great.

Here is a screenshot. Maybe someone has a suggestion how to format addresses in the G2? In the example I address the parameter pages as "/<parameter>/<page>/<button>".

The Osc uses the UDP protocol, what I've read about it is that it doesn't guaranty the delivery of the message, so in the editor it can only be used for messages that aren't critical, that's the responseless messages:
- select module parameter
- set module parameter value
- set module parameter morph range


Result_18.jpg
 Description:
 Filesize:  274.21 KB
 Viewed:  307 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Result_18.jpg



Last edited by brunov on Wed Jan 04, 2012 12:05 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
Derek Cook



Joined: Dec 30, 2005
Posts: 171
Location: Wales, UK
G2 patch files: 3

PostPosted: Tue Jan 03, 2012 4:10 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi,

Still no time to look at the Java stuff.

But I can confirm what you are saying: UDP is a connectionless protocol, compared to TCP/IP which is connection oriented. So UDP does not guarantee that data will get through, but TCP/IP will.

UDP is good for continuous streams of data, where you do not want retransmits in the case of errors. For example, I deal with sensor communication systems over networks in my day job. The sensors send data at 20Hz. If a packet is corrupt, we don't want a retransmit, because we know the next (up to date) sample is coming along in another 50ms.

But as you say, UDP is not good for when you want to guarantee that a message gets through correctly. So, back to my example, whilst sensor updates can be lost (as long as you don't lose too many), the configuration data to control the nodes are TCP/IP.

Hope that makes sense and is of some help! Smile

_________________
Regards
Derek Cook

www.echoes-music.co.uk
www.purefloyd.co.uk
www.carregddu.co.uk
www.xfactory-librarians.co.uk
www.ex5tech.com
Back to top
View user's profile Send private message Send e-mail
brunov



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

PostPosted: Wed Jan 04, 2012 12:19 am    Post subject: Reply with quote  Mark this post and the followings unread

Ok Derek, I will keep the TCP-IP connection for the Vst then. That holds a copy of the patch that must be in sync with the editor.

Thought some more about the Osc addressing structure, it should of course be structured so you have access to all functions in the g2 or multiple g2's. You should then be able to create the knobs panel of a g2 on a touch device. Maybe something like

/1/patch/2/var/3/par/A/1/3/set 70

-> set the value of parameter on parameter page A, column 1, knob 3 of variation 3 in patch 2 of g2 synth 1 to value 70 Cool

or

/1/patch/2/var/3/par/A/1/3/morph -20

-> set morph value of the same parameter to -20

and maybe

/2/bank/2/patch/4/load 1

-> load patch 4 of bank 2 in slot 1 of g2 synth 2.

Don't have much experience with Osc, so any suggestions are welcome.
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 Jan 04, 2012 1:33 am    Post subject: Reply with quote  Mark this post and the followings unread

In your example, I do not understand why and how you want to modify a parameter in a given patch in memory. I thought you can only access the parameters of the patch (or performance) in the edition buffer.
Back to top
View user's profile Send private message
brunov



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

PostPosted: Wed Jan 04, 2012 5:42 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm not sure if I fully understand your question, but I made a little picture with the configuration. So on the right is the G2 that holds a performance and in the performance are max 4 patches that hold the parameters.

On the PC is the editor and possibly ableton with one or more Vst's.

The editor and the vst also both keep a copy of the performance and all the patches.

All the copies have to be sychronised, so if you would for example have mapped a Midi CC to a particular parameter, and you turn the knob than the following things happen:
- The G2 receives the Midi message and changes the parameter value
- Then it sends a USB message to the editor
- The editor receives the USB message and also changes the parameter in the appropriate patch (that doesn't have to be the patch that is currently visible in the editor, could be another one)
- The editor then sends on (broadcasts) the parameter change to all the clients (VST's) that are connected to the editor via TCP-IP
- The Vst receives the message and also changes the parameter value in the appropriate patch.

So with the OSC interface you could for example connect a tablet with Touchosc for example. There you make a slider and you want to map the slider to a parameter of a patch in slot B. That doesn't have to be the patch that's currently visible in the editor. The only thing necessary is to provide the editor with enough info so it can find the parameter, for example:

- The slider is mapped to address /1/patch/2/var/3/par/A/1/3/set
- So when you move the slider it sends a OSC message to the editor /1/patch/2/var/3/par/A/1/3/set 70
- The editor receives the message and finds out which parameter is mapped to the knob 3 on parameter page A 1 of Patch in Slot 2
- It sets the value of the parameter to 70 in variation 3
- than it constructs an USB message that looks like [Slot][Location][Module][Param][Variation][Value] and sends it to the G2
- it also broadcasts the same message to alle the Vst clients

Looking at the USB message, it might even be possible to change a parameter of another variation than is currently selected in a patch, although that might not be very usefull.

In any case, for the editor understand the osc messaging, some kind of syntax/structure has to be decided.

What i would like to know for example is how to address a particular slot, should that be /Slot/2/... or /Slot2/... Maybe these OSC devices have some means of constructing adsresses dynamically, for example a slider is mapped to adress /a/b/.. but if you push a button then the slider is mapped to a/c/.. and so on.

If you take for example the knob panel of the G2 Keys, there are 8 knobs that address different parameters depending on wich parameter page you have selected. If you want to recreate that on a touch device, you have to be able to dynamically construct the address.

I hope this makes some things clear?


Config.jpg
 Description:
 Filesize:  68.15 KB
 Viewed:  247 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Config.jpg


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 Jan 04, 2012 6:32 am    Post subject: Reply with quote  Mark this post and the followings unread

Thank you. What I did not understand was the "Patch" in your OSC address path: it may be better to call it "Slot".

If the USB protocol allows edition of parameters in other variations independanlty, then it is useful to reflect this in OSC. But it will be completely useless if you can only edit the current variation...
A typical use of this feature would be to change a parameter value for all variations and not only for the selected one. I really miss this feature on the current editor (or may be I am missing something).
Back to top
View user's profile Send private message
brunov



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

PostPosted: Wed Jan 04, 2012 6:59 am    Post subject: Reply with quote  Mark this post and the followings unread

Ok, yes I undestand your question now. I choose Patch in stead of Slot because a parameter only makes sence in relation to a patch. And a slot can hold a patch or be empty.

I will look tonight if I can change a parameter value in all variations at once with usb messages.
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 Jan 04, 2012 2:38 pm    Post subject: Reply with quote  Mark this post and the followings unread

Tested it: when I send 9 messages, one for each variation, the parameter gets updated in all variations.

I also don't know if this is already available somewhere on the g2 or the original editor. If not then it will only be a feature thats available through this editor. The drawback off that is of course that you have to connect a pc/laptop to the g2 to be able to use it.

I guess you would like to have this feature to have more control over transitions between variations?
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 Jan 04, 2012 3:21 pm    Post subject: Reply with quote  Mark this post and the followings unread

I've been playing a bit with this, and I can see now what would be the benefit : you can prevent some of the parameters that you have been tweaking from jumping to the original value when you switch to another variation.
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: Thu Jan 05, 2012 1:28 am    Post subject: Reply with quote  Mark this post and the followings unread

Yes, this is useful when you are building or modifying your patch. When you add a new module, the setting you make on this module are only done in the current variation, which is often not what you want.
A good idea would be to add a button near the variation selector to enable/disable an "edit all variations" mode.
Back to top
View user's profile Send private message
brunov



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

PostPosted: Wed Jan 11, 2012 12:21 pm    Post subject: Reply with quote  Mark this post and the followings unread

Here's an update of what I've been up to with the software development. In the editor I've put in that knob to edit all variations at once (Edit all, it just sends 8 parameter changes in stead of one)

Furthermore, the functions to change module color, show/hide cables, a couple of sysex functions: load/save patch/performance as sysex (thanks to Jan's code), command to the g2 to dump a sysex of the current patch or all assigned controllers.

As you can see I've made an overview of all the screens and menu's that are in the editor at the moment.

Now I'm working on the Vst. Initially I had a Vst that represented a slot. You could load a patch into the Vst with an FXP (Vst program) file or a Performance with an FXB (Vst bank) file.

So if you would use 2 slots, you would load two Vst's into the host. But what if you loaded a performance in one and another performance in the other? The last one loaded would just overwrite the first one. What if you would have automated a couple of parameters, and than would mistankenly change the slot the vst was pointing to. So all would lead to error and confusion.

Therefore I thought it would be better that the Vst would represent the whole G2. So for one G2 you only would need one VST. To automate parameters, you have to assign them to the global parameter pages. You can automate 120 parameters that way. In ableton, there seems to be a limit on the number of parameters, when I try to define 4*120 parameters it doesn't accept the vst anymore.
You also load FXB in stead of FxP, so performances in stead of individual patches.

I think this will be better, also the load on the host will be less.

The last couple of days I've put a lot of time in making the code thread save for the vst or multiple vst's, so no global data, but everything tucked away in objects that are created en destroyed within the thread itself and so on.


So testing and debugging aside, the following things remain from the list I mentioned earlyer:

Auto assign midi
Bank/patch manager
Virtual keyboard
Module text functions
Module graphic screens
Multiple g2 support
Patch adjuster
maybe:
Memory used indicator
Patch mutator

I already found some more functionality that I overlooked, but that's for another day.

I'm always interested in suggestions about functionality, so don't hold back Wink

Regards
Bruno


Result_20.jpg
 Description:
 Filesize:  407.38 KB
 Viewed:  210 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Result_20.jpg



Result_19.jpg
 Description:
 Filesize:  395.19 KB
 Viewed:  223 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Result_19.jpg


Back to top
View user's profile Send private message Visit poster's website
Roland Kuit



Joined: Sep 29, 2003
Posts: 1090
Location: The Netherlands/Sweden
Audio files: 8
G2 patch files: 127

PostPosted: Wed Jan 11, 2012 12:37 pm    Post subject: Reply with quote  Mark this post and the followings unread

Bruno, awsome!
Back to top
View user's profile Send private message
Antimon



Joined: Jan 18, 2005
Posts: 4145
Location: Sweden
Audio files: 371
G2 patch files: 100

PostPosted: Wed Jan 11, 2012 12:55 pm    Post subject: Reply with quote  Mark this post and the followings unread

I haven't commented that much in this thread, because it would just have been 10 "wow" posts, but Nord Modular VST? wow!

It's a big thread now - Is this available somewhere if I feel like helping out with betatesting?

/Stefan

_________________
Antimon's Window
@soundcloud @Flattr home - you can't explain music
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 Jan 11, 2012 1:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thanks!

And any help with testing would be very much appreciated, but I want to take out the most obvious bugs first. I think that from the list, the Bank/patch manager would be something that I would like to add, maybe after that I have something that I could release as a beta version.

It would be windows only, because I ran into some trouble with lazarus and firmonkey (needed for osx developement with delphi) and the vst is also windows only at the moment.
Back to top
View user's profile Send private message Visit poster's website
dasz



Joined: Oct 16, 2004
Posts: 1644
Location: victoria, canada
Audio files: 29
G2 patch files: 56

PostPosted: Wed Jan 11, 2012 4:47 pm    Post subject: Reply with quote  Mark this post and the followings unread

Count me in.

Looking forward to it.

Bravo, brunov!
/Dasz
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 7 of 21 [519 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3, 4, 5, 6, 7, 8, 9, ..., 19, 20, 21 Next
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