TotalKeyMix

TotalKeyMix 1.0 – RME TotalMix Volume Control

This free application enables you to control the volume of your RME soundcard with the multimedia keys, any other key combination of your keyboard or even a device like the Griffin PowerMate.

You might have noticed that the volume control of the windows mixer has no impact on the TotalMix interface. But the fact, that TotalMix can be controlled over MIDI made me think of a way how to control it anyway. Some of you maybe know the powerful scripting application AutoHotkey. You can do pretty nifty things with it and that’s exactly what I used for my approach. AutoHotkey is able to access the MIDI API of Windows and send MIDI controller data via hotkeys. The only thing you need to get it working is a virtual MIDI device which AutoHotkey can use to transfer the MIDI data. You can use the free MIDI Yoke for that purpose (it even works on Windows 7 x64).

TotalKeyMix has the following features:

- GUI
– volume and mute functionality
– free assignable hotkeys
– settings stored in a config file


Download TotalKeyMix 1.0


How to install:

1. get MIDI Yoke (this links to the NT4/2000/XP/Vista/Windows 7 version) and install it

MIDI Yoke Installation


2. Enter TotalMix click on Options -> Preferences. There, select the virtual MIDI port “In from MIDI Yoke: 1″.
3. Set the Dim in the Monitor Main section to “-inf”. This will give you mute functionality on the Dim button. Any other value will only dim the volume to the adjusted value.

TotalMix Preferences


4. Be sure to enable MIDI control in TotalMix, if not already set

MIDI Yoke Configuration


5. If you plan to use MIDI Yoke for TotalKeyMix only, then you can limit the virtual ports to 1. Go to Control Panel -> MYokeNT and select 1 in “Number of Ports”.

MIDI Yoke Configuration


6. Download the TotalKeyMix.rar and extract it into “C:\Program Files\TotalKeyMix\” or any other location of your liking
7. Execute TotalKeyMix.exe and left-click on its symbol in the tray

TotalKeyMix Tray


8. You will now see the following setup screen:

TotalKeyMix Setup

By default the multimedia keys for volume up, volume down and mute are assigned. Don’t get confused by the letters B, C and D. AutoHotkey is not able to display the handle of special keys and will therefore display something else. If you don’t like the default mapping, you can now click in the corresponding field and press your own hotkey, for example: “Ctrl+Shift+Cursor Up” for “Volume Up Hotkey”. The new hotkey will be displayed after releasing the keys.
You can also use the Winkey and combinations of it. However, the input field is not able recognize it. You have to manually edit the config.ini for that. For example, when you want to set “Win+Shift+Cursor Up” to volume up set the variable VolumeUpHotkey=#+Up,  whereas Winkey=#, Shift=+ and Cursor Up=Up. Here is a list with all the keys that can be used in AutoHotkey.
In the setup screen, you also set the MIDI device that TotalKeyMix will use to send the MIDI events. This should be set to Out To MIDI Yoke: 1.


9. As final step you should tell your DAW (Cubase, Nuendo, Sonar, Fruity Loops, Studio One, etc…) NOT to use the MIDI port which is used to send the events to TotalMix. This is how it should look in Cubendo:
Disable MIDI port in Nuendo

Griffin PowerMate

If you happen to have a Griffin PowerMate, you just have to set the PowerMate to control the Windows volume in the PowerMate configuration panel. This will use the same multimedia keys that are
set as default in the config.ini of TotalKeyMix. Turning the wheel left will decrease the volume, turning right will increase it and pushing the wheel will toggle the mute state.
That’s it, you’re done! Happy volume controlling :)


Thanks a lot to TomB from the AutoHotkey forums for implementing the MIDI functions into AutoHotkey and Kip Chatterson, who helped me a great deal with the script framework of the MIDI implementation.

8 Comments

  1. RME 9632 eingebaut und “einfach mal so” ein Griffin Powermate bestellt um die Lautstärke zu regeln. Natürlich hat es nicht funktioniert…

    DANKE für das tolle Tutorial und die Software! Allein das MYokeNT-Control Panel konnte ich nicht öffen, weil ich es nicht gefunden habe…

    Toll wenn man(n) so hilfreiche Beiträge im Netz findet! Unter all dem Schrott…

    Gruß aus München
    Michael

  2. Hey Michael!

    Danke, für dein Feedback! Freut mich, dass es dir gefällt und alles klappt hat :)
    Das Panel solltest du eigentlich in der Systemsteuerung finden. Hast du da schon
    mal geschaut?

    Liebe Grüße,

    Stephan

  3. Hallo,
    ist es möglich über TotalKeyMix alle Kanäle synchron in der Lautstärke zu ändern?

    LG Thomas

    1. Hallo Thomas,

      nein, leider noch nicht. Aber das Feature wurde schon oft angefragt. Ich schau mal was ich machen kann.
      Habe momentan leider sehr wenig Zeit.

      LG,

      Stevie

  4. Hi Stephan

    I have downloaded your totalmix app from the net and liked it very much. I would like to extend the functionality to allow me to control the snapshots, talkback and other things via the keyboard.

    The Fireface UC documentation actually says that alt+num should activate snapthot but it does not work for me. I wondered if you would share your autohotkey script with me so that I could see how you have done it. I will of course be happy to reciprocate and share anything I develop along these lines with you.

    Regards Rolf Jackson (Denmark)

    1. hey rolf

      i managed to pull this off. stephan was really nice as to provide the source code of the totalkeymix, although in the end i opted to create my own script to facilitate the preset-changing inside RME totalmix. please refer to the RME manual to see what MIDI messages to send to the HDSP mixer. these will be simple noteOn messages that will end up changing the preset. i used the autohotkey forum to find a free MIDI functions library and just use it to send out a midi on-off message upon a keypress. i’m not a programmer myself but found it quite easy to implement. if you need help i can send you my autohotkey script.

      one thing i’d still like to improve on is stephan’s original script which actually remembers the last fader position. (say you left the fader at -30dB in preset 2.) when preset 2 is re-loaded, it sets the fader to whatever position it had been saved with. (say -10dB.) now, after you reload the preset #2, and try to adjust the volume, the fader doesn’t move from the -10dB position up or down, but instead, in one jump, moves to -30dB (because that’s where it had been left off previously). i hope i can navigate through stephan’s code and maybe remedy this (what seems like a genuinely cool feature if you’re staying within one preset, but isn’t as handy once you start using multiple presets).

      1. Hi
        Thanks Stephen for totalKeyMix,

        Can I also ask for ether the sourcecode, or an updated version/scripts,, I’m not looking for additional features, But Would like to refine the current functionality.. My computer (HTPC remote) relies exclusively on this app, to control volume

        1. I’ll email you

Leave a Reply