Your quest to use a midi instrument as a control surface for GForce is very reasonable. Using midi code to control different hardware and software is common in the music world. That idea just hasn’t hit the Visualization world yet.
It used to be that unless the software was already setup to respond to midi code, it wasn't possible to do what you are asking. However, since Midi Translator (MT) has evolved to its present version, doing what you request seems very feasible.
I've finished reading the Midi Translator (MT) manual and did some googling. Without actually purchasing the Pro version of MT and completing the task -- because I need another project like I need a hole in the head – I maintain my original position that it should work. Your progress to date confirms that suspicion.
Since GForce wasn’t constructed to accept direct midi code, you will have to use the “go-between” process you described in your last post. I see no other way around it at this time.
Assuming this is okay with you, let's think this through.
To begin with, I only use the Stand Alone version of GForce. There are too many little problems with the players, so everything I say comes from my experience with the Stand Alone version.
We have to be very careful with the terminology because we likely have two keyboards involved: one attached to a computer and one serving as a musical instrument. So if I seem overly verbose, please forgive me.
Are you are using a keyboard instrument, ala a midi piano rather than a separate Midi controller or footpedal to generate the midi data?
To clue in the rest of the GForce crowd, pitkins is using using a technique called "keyswittching," a term common in the midi world. Keyswitching takes a particular musical note -- and its corresponding MIDI code -- from a musical instrument and converts that midi code into different midi commands that control other musical instruments or devices, or converts it into a qwerty keystroke, or into some kind of data that the software or hardware understand. In short, the musical keyboard controls the software or hardware.
In reality, it’s much more complicated than it sounds, but that’s the basic concept. Using a midi device as a control surface has lots of practical applications in live performance, which is why this question has appeared numerous times on this forum.
In addition to this concept of emulation, you have to add the concept of building “macros,” which is something familiar to all computerites. Now you can grasp the efficiency of striking a single note (key) on a midi instrument to control a complex series of functions in GForce.
I would have thought that using Midi Translator (MT) to start and stop pre-written scripts would be the best way to proceed. I know writing scripts can be tricky, but it will also give you the most control. However, you report having problems emulating the CNTL + function, which would eliminate this route. I hope you can discover the problem in your setup, because I saw examples where the user was generating the CNTL + function using MT. Are you able to start scripts using the computer keyboard CNTL + command? Do other keyboard shortcuts work? Did you remember to make the GForce screen “active” by clicking inside the GF screen area before you issue a keyboard command? Depending on your equipment, you may have to download Midi Yoke and Midi Ox to set up virtual midi ports in your computer. These programs are free and can be found using Google.
There are lots of little things that could be causing the problem with the CNTL + function.
Even if you don’t like to write scripts the long way, you can generate scripts automatically via a process called CNTL + Shift + X, which is mentioned on several posts on this forum. A longer, more tedious variation is called Shift + W (for “write,”) which is described in the GForce documentation page of this forum. Both of these procedures will allow you to record combinations of elements and automatically generate the script, which you can then recall with the CNTL + X command... assuming you can get that to work.
But let’s assume the script approach just doesn’t work. As you suggest in your last post, there is another way to skin this cat.
The Advance Next Element Approach
If you want to give up control and simply advance to another visual element , i.e. WaveShape, FlowField, or ColorMap, which is what I think you are suggesting in your last post, all you have to do is assign a midi note/MT to emulate any of these qwerty keystrokes:
- Z and X advances/retards to the next checked WaveShape.
A and S advances/retards to the next checked FlowField.
Q and W advances/retards to the next checked ColorMap
V starts the next particle
Shift Y starts the next sprite
You can see all of these commands by simply making your GForce screen active (click on it) and hitting the “H” key.
The problem with this approach is that you have no control over “next.” “Next” does not mean next in alphabetical order. “Next” doesn’t even mean the next on the list of checked elements. It simply means “next” in random order, which is like saying “whatever.” “Next” is really a misnomer, because it can also mean “again.” I just tested this by checking ONLY 4 WaveShapes and cycling through them by hitting the “Z” key. Be my guest.
You also lose the control over the combinations of visual elements. For example, certain WaveShapes look best when used with certain FlowFields. Some Waveshapes look best with no FlowField. You just won’t be able to achieve this kind of control using this "Next" approach.
The Theme Approach
This is a “group” approach to solving your problem. You simply check all the elements you want to involve in a particular group and give it a Theme Name. Let’s say you check only 4 particular WaveShapes, and only 3 particular FlowFields, and 1 ColorMap, and you save it as a theme titled “Memorial Day 2011.” Now when you come to the song or the part of the song where you want to use the "Memorial Day 2011" visual group, you hit a particular midi key, e.g. C#1, and that midi note is translated into a qwerty macro that loads this particular theme.
I saw in various Google searches a demonstration that MT allows you to emulate any qwerty letter-number combinations you want.
The problem with this approach is the loss of control over particular combinations of visual elements. You have achieved control over groups of visual elements, but not really combinations.
Another problem with the Theme approach is figuring out how to emulate the clicking on the Theme Window and loading the name of a particular theme. I saw where MT could emulate mouse clicks and I assume absolute screen position, but it could be a real hassle figuring this out.
It seems that in a much earlier version of GForce, it was possible to "group" visual elements into separate folders, and then be able to select that folder for current use via some radio button on some part of the ToolBar. But that approach is no longer in place... I think. Perhaps some wiser forum reader could enlighten me on that possibility.
- - - - - - - - - - - - - - - - - - - - - - -
The only way I know to really exercise precise control over all combinations of visual elements is with written scripts. We're talking butt-to-chair time. Even if this appears to be the most painful approach at the moment, I think it will prove to be the most useful in the long run... if you can solve the earlier problem with emulating the CNTRL + command.
Let me know what happens. I think you’re onto a viable solution. $70 for the Pro version of Midi Translator is a little tough, but their Free Trial version should allow you to answer these questions. I don’t think their cheaper Classic version will work, but I could be wrong, Everytime I try to use a Free version, there's always some element missing that would make the process much easier, and spending $70 to make this work would be worth the money.
In a couple of months I will purchase MT and go through the learning curve because I can see applications for my own use. At the moment, I just don't have the time. This is your opportunity to be a hero on this forum, so good luck.