Bugs: CTRL(Up/Down) ignored; MT unresponsive after PC wakes

Audios

2012-01-16 04:01:36

Hi, I believe I’ve found two bugs.

First, one bug relates to the generation of CTRL+Up and CTRL+Down keystrokes, which I am using to adjust the volume of iTunes 10.5.2.11 on a PC with Win 7 (64 bit). My PC is a Core i7-920 with 12 GB RAM.

MT recognizes MIDI messages from my Roland FC-300 but when MT outputs “Ctrl(Up )” or “Ctrl(Down )” keystrokes in response to pedal presses, iTunes ignores 99% of them. If I press the FC-300 pedals very quickly (each of which should cause a step increase/decrease in volume, depending on the pedal), iTunes’ volume only changes once in a blue moon.

Needless to say, I don’t experience the same effect with my computer keyboard. Every time I press CTRL+Up (or Down), iTunes’ volume changes accordingly.

I discovered that if I sent a huge number of “Ctrl(Up )” or Down keystrokes by using a timer with a 10 msec delay, then iTunes does respond but still not smoothly, as if it’s ignoring the vast majority of keystrokes.

Other than the problem with controlling the volume, I’m able to control iTunes play/pause, next song and rewind/previous song functions with my FC-300. Very slick while I’m playing along to tunes with my guitar, especially since I’m simultaneously able to control two different effects boxes with other FC-300 pedals!!!

The second bug: if my computer goes to sleep while MT is running, MT is unresponsive when I wake my computer. Several times, even Task Manager was unable to shut the program down. MT appears in the list of Task Manager’s “Running Applications” but “End Task” won’t kill it. The only solution has been to reboot.

Keep up the good work. I love this program!
Audios

florian

2012-01-24 22:23:57

Hi Audios,

thanks for the report (and sorry again for the late reply! NAMM is over now, and I'm back to my somewhat normal life :) )

1) keystrokes
All MT is doing is to emulate the keystrokes. How and if the currently active program receives them is a different story... So I don't believe there is a bug in MT per se. But the way it is sent might be confusing for some programs. One key difference to manually pressing the keys is the speed: for a computer, pressing the keys on your own will look like this:

Code: Select all

Ctrl pressed
- wait 30ms
Down pressed
- wait 30ms
Down released
- wait 50ms
Ctrl released
Now MT will execute the same sequence, but without delays. We've seen other software to have a problem with this. So might be the same for iTunes!
Starting with version 1.7.2 (currently in beta), you can specify a delay for outgoing actions. So to play it safe, you might try this:
(the MIDI incoming action is the message that you use for CTRL+DOWN)

Code: Select all

Translator 0: Ctrl down
INCOMING: MIDI <your message>
OUTGOING: Key down "Ctrl"
Translator 1: Down down
INCOMING: MIDI <your message>
OUTGOING: Key down "Down", delay by 10ms
Translator 2: Down up
INCOMING: MIDI <your message>
OUTGOING: Key up "Down", delay by 20ms
Translator 3: Ctrl up
INCOMING: MIDI <your message>
OUTGOING: Key up "Ctrl", delay by 30ms
(note there is a bug in the first beta version, when using rules in a delayed action, and when switching tabs, will be fixed in the next beta)

Btw, you can also use the timer for delaying outgoing actions. But the delayed action thing is a bit more intuitive!

Try it and let us know if that works with iTunes then.
Then you can also try different delays...

I haven't had a problem with hanging MT after sleeping. I have MT running most of the time, and my Windows 7-64bit computer goes to sleep a lot. Maybe you can find out a bit more for the conditions when the sleep will cause problems? Maybe, just maybe, it's a problem with the FC-300 MIDI driver?

Thanks
Florian