wm _messages?

Discussion forum for G-Force users

Moderators: BTT, andy55, b.dwall, juxtiphi

Post Reply
ptkins
Posts: 3
Joined: Sat May 28, 2011 9:10 pm

wm _messages?

Post by ptkins »

eloo there peeps!

I was reading this post about using bome's midi translator to send keystrokes to g-force to be able to control visualizations with midi commands.

http://www.soundspectrum-forums.com/vie ... php?t=5843

i noticed that midi translator can send wm _messages, I was wondering if g-force accepts wm _messages to control parameters?

cheers!

pete :)

bnh
Posts: 61
Joined: Fri Jan 19, 2007 7:11 pm

Re: wm _messages?

Post by bnh »

I'm downloading the manual for the referenced translator and will get back to you. These midi translators/emulators/controllers can get very tricky.

My initial impression is that it would work, providing you have the proper hardware installed on your computer. But be warned. I reserve the right to be wrong until further investigation.

I can't see GForce incorporating this kind of functionality into their software, but I can see them at least recommending a vendor who could statisfy this request.

I'm reasonably certain that GForce members who have a professional license and serve as tech-roadies for concert groups already have such a device.

ptkins
Posts: 3
Joined: Sat May 28, 2011 9:10 pm

Post by ptkins »

hi bnh,

thank you for taking the time to do that :)

at the moment I am using midi translator to convert to keystrokes, which is working fairly well, although I can't seem to get CTRL+ functions to work to run scripts for some reason! I think for reasons like this it would just be a whole lot more efficient to control parameters directly rather than using keystrokes as a middle-man.

Cheers!

Pete :D

bnh
Posts: 61
Joined: Fri Jan 19, 2007 7:11 pm

Post by bnh »

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.

bnh
Posts: 61
Joined: Fri Jan 19, 2007 7:11 pm

Post by bnh »

Okay, I'm in.

I should tell you that I hate USB products and interfaces for this kind of equipment because it is so fragile a connection. So everything I have in this field is connected via sound cards, XLR cabled-mics, etc.

I downloaded the Classic version of Midi Translator. The Pro Version of MT does have offer compatibility for midi control of Windows Media players, but as I mentioned earlier, I don't use Windows Media, I only use the StandAlone version of GForce.

The Classic version of MT should suffice for our purposes. Downloading the Classic version was free, but I think it will expire in X number of Openings. Purchasing the Classic version is just $40 compared to $70 for the Pro Version. I'll probably purchase the Pro version because the developer (bome) is no longer providing updates for the Classic version.

I did not have to install Midi Ox or Midi Yoke. In my hardware configuration, I have a sound card (Audiophile 2416) installed, and I have a midi cable running from the Output of my Yahama keyboard synthezier to the Input of the Audiophile 2416 soud card.

You do have to watch the transmission channel on the output of your midi device, but I'm sure you know about these things. Some software reserve a particular channel for communication on their device, so you have to avoid any conflicts.

The Input side of MT Classic is set to the Audiophile 2416 card, and None is selected for the Output of side of MT.

Inside MT Classic, I set up a keystroke emulation test assigning a note (C#4) on the synthesizer to emulate an "H" keystroke, as shown below. The hex code was 90 3D pp, which translates to Note On, C#4 and Any Volume Level.

Image

With Gforce running in the Stand Alone Mode, after making the GForce screen active by clicking on it, I hit the C#4 and wala..... it worked great.

Image

We now know that MT and GForce are capable of running in the Advance Next Approach described in the previous post. It would be no problem to assign other midi notes to emulate the "next" keystrokes listed above for each visual element in GForce. And I'm sure some refinements will have to be made in MT. But for now, I just wanted to prove this process would work.

However, I still think the prize is running scripts, so I'll work on the CNTL + problem.
I suppose at a later time it would be nice to codify all of the data and produce a preset for loading into MT. All you would have to do is then change the midi note values and the value of X in the keystorke CNTL + X.

bnh
Posts: 61
Joined: Fri Jan 19, 2007 7:11 pm

Post by bnh »

This subject continued under new post titled:

Midi Control of GForce Is Possible

Post Reply