Skip to content

FAQ General

Tirafesi edited this page Aug 1, 2018 · 2 revisions

Is Midi Wars free?

Yes.

Is Midi Wars connected with any game in particular?

No. Midi Wars is a generalist application that translates midi data to key presses. There are multiple uses for this, though playing musical instruments inside video games is indeed its main target.

Why did you decide to have Midi Wars' source code publicly available?

The Windows version of Midi Wars works basically like a key logger. It listens for key presses and records every single key you make while the in-game chat is open. Of course, none of this information is permanently stored, and as soon as you close the in-game chat, whatever you typed is immediately lost. Still, I'm sure this would make a lot of people worry about their safety and privacy. Thus, the source code is available for anyone to take a look at it and decide for themselves whether they'd like to use Midi Wars or not.

So Midi Wars is monitoring my actions?

Midi Wars installs a global keyboard hook to listen for key presses. After it detects the Enter key (i.e. you opened the in-game chat), it will start recording the following key presses until it finally finds the Enter key again. This is what allows you to type the commands for Midi Wars through the in-game chat.

However, as soon as you close the in-game chat, whatever you typed is immediately lost. Furthermore, the keyboard hook is uninstalled the moment you alt tab or close the game window. This is indicated by the red icon in the system tray. As long as this icon is red, Midi Wars is inactive and not listening for key presses.

Midi Wars also uses another hook for listening for changes in the foreground window. This is what allows it to switch to inactive mode when you alt tab or close the game window.

How does Midi Wars work?

The core of Midi Wars (which is available on all operating systems) starts by analyzing the contents of midi files. It then constructs a timeline of its events. Once the timeline is built, it simply translates the events to key presses and synthesizes them.

As for the Windows version, it was already answered in the above questions.