Midi Mapping
Midi Mapping
Hello,
I use an Akai Midimix to Control Voicemeeter Banana.
The Setup was easy and it works nearly flawless.
Now I have two questions:
1. My Midi Controller has illuminated Buttons. Is it possible to use them?
At the moment i can't see if i have muted something on my Midi Controller.
2. Is it possible to limit gain slider to max 0dB. I want to have max 0dB when the slider on my Midi Controller is on max.
Thanks in advance
I use an Akai Midimix to Control Voicemeeter Banana.
The Setup was easy and it works nearly flawless.
Now I have two questions:
1. My Midi Controller has illuminated Buttons. Is it possible to use them?
At the moment i can't see if i have muted something on my Midi Controller.
2. Is it possible to limit gain slider to max 0dB. I want to have max 0dB when the slider on my Midi Controller is on max.
Thanks in advance
-
- Site Admin
- Posts: 2121
- Joined: Sun Jan 17, 2010 12:01 pm
Re: Midi Mapping
Thanks for your messgae,
as you can see Voicemeeter MIDI mapping considers only a M.I.D.I. Input Device.
there is nothing to output to a M.I.D.I. device and send code to your controller.
But we already got request about having MIDI feedback, to set button LED, to change motorized fader position, etc...
if it's easy to do that for a given M.I.D.I. Controller, designing such user interface allowing to define this communication protocol for all kind of remote surface, is more tricky. however we think about it.
i note also your request to limit the range of a MIDI control.
as you can see Voicemeeter MIDI mapping considers only a M.I.D.I. Input Device.
there is nothing to output to a M.I.D.I. device and send code to your controller.
But we already got request about having MIDI feedback, to set button LED, to change motorized fader position, etc...
if it's easy to do that for a given M.I.D.I. Controller, designing such user interface allowing to define this communication protocol for all kind of remote surface, is more tricky. however we think about it.
i note also your request to limit the range of a MIDI control.
Re: Midi Mapping
Thank you for your fast Response.
For the Button LED i found a little workaround.
I found a tool called "sendmidi".
It is a command line application, which is able to send Midi commands.
Now i simple used the MacroButtons app (the newest, not the one included in Voicemeeter).
The only problem now is that everytime a push the Mute Button i loose focus in Fullscreen applications
Maybe i take a look on the remote api and Limit my fader this way![Wink ;)](./images/smilies/icon_e_wink.gif)
For the Button LED i found a little workaround.
![Cool 8-)](./images/smilies/icon_cool.gif)
I found a tool called "sendmidi".
It is a command line application, which is able to send Midi commands.
Now i simple used the MacroButtons app (the newest, not the one included in Voicemeeter).
The only problem now is that everytime a push the Mute Button i loose focus in Fullscreen applications
Maybe i take a look on the remote api and Limit my fader this way
![Wink ;)](./images/smilies/icon_e_wink.gif)
-
- Site Admin
- Posts: 2121
- Joined: Sun Jan 17, 2010 12:01 pm
Re: Midi Mapping
ha! nice use case!
yes, clicking on a Macro Button will automatically set the focus on MacroButtons application
to avoid this you may assign a keyboard shortcut or MIDI event to this button (to use it without having to click on it).
Yes, by using Voicemeeter Remote API,
- you can get MIDI code from input device selected by the Voicemeeter MIDI mapping (there is a funtion for this)
- and recompute the range to apply a gain limited to 0dBFS to any Strip or Bus.
yes, clicking on a Macro Button will automatically set the focus on MacroButtons application
to avoid this you may assign a keyboard shortcut or MIDI event to this button (to use it without having to click on it).
Yes, by using Voicemeeter Remote API,
- you can get MIDI code from input device selected by the Voicemeeter MIDI mapping (there is a funtion for this)
- and recompute the range to apply a gain limited to 0dBFS to any Strip or Bus.
Re: Midi Mapping
Hi!
i have tried to run a vbs script & a batch script for bypass the focus event with sendmidi (launch the command as hidden or minimized). But it seems that MacroButton can't launch them.
It could be the solution for bypass the focus event inside fullscreen apps =) (because yeah, it occur with midi press button, because sendmidi launch an cmd.exe and close it).
For limit 0dbFS any strip bus, i limit my midi range on my physical button with his own driver (Akai lpd8 Editor: min0 to max 105), i get -60db to -0.5db. You should try on yours.
i have tried to run a vbs script & a batch script for bypass the focus event with sendmidi (launch the command as hidden or minimized). But it seems that MacroButton can't launch them.
It could be the solution for bypass the focus event inside fullscreen apps =) (because yeah, it occur with midi press button, because sendmidi launch an cmd.exe and close it).
For limit 0dbFS any strip bus, i limit my midi range on my physical button with his own driver (Akai lpd8 Editor: min0 to max 105), i get -60db to -0.5db. You should try on yours.
-
- Site Admin
- Posts: 2121
- Joined: Sun Jan 17, 2010 12:01 pm
Re: Midi Mapping
which version of MacroButton you are using ?
to launch a batch script, you need to call cmd.exe
example to use ping command:
to launch a batch script, you need to call cmd.exe
example to use ping command:
Code: Select all
System.Execute("%windir%\system32\cmd.exe","%windir%\system32","/K ping 192.168.1.1");
Re: Midi Mapping
i'm using MacroButton 1.0.0.8.
Ok thanks for your advice, i found the way!![Wink ;)](./images/smilies/icon_e_wink.gif)
EDIT: Download Link sendmidi.exe : http://www.sreal.com/~div/midi-utilities/ (Thanks Div Slomin)
C:\Midi_tools\bin\ is the sendmidi.exe folder
C:\Users\Loick\Desktop\ is my scripts folder
%windir%\system32\wscript.exe is a script interpreter
i got a batch call.bat file that contain:
and a vbs call.vbs file containing:
I call the vbs script inside MaccroButton with:
Precision: I have hardcoded 3 arguments from sendmidi.exe because they are always the same in my case and for simplify the MacroButton side and modify just B & C arguments
They are:
--out 1 --> Port Number
--note-on A B C
were A = channel (zero in my case)
B = pitch (the number inside brackets in MacroButton midi catch)
C = Velocity (0 = light off, 1 = light on)
Precision 2: don't forget to change your path, no just copy/paste
Precision 3: i'm not good with batch and vbs ^^, c# is my predilection
And it work without displaying any window and let my focus inside my fullscreen app.
And if you want to implemant sendmidi.exe inside macroapp, the dev' let it under BSD licence and it should be not really hard to implement
Ok thanks for your advice, i found the way!
![Wink ;)](./images/smilies/icon_e_wink.gif)
EDIT: Download Link sendmidi.exe : http://www.sreal.com/~div/midi-utilities/ (Thanks Div Slomin)
C:\Midi_tools\bin\ is the sendmidi.exe folder
C:\Users\Loick\Desktop\ is my scripts folder
%windir%\system32\wscript.exe is a script interpreter
i got a batch call.bat file that contain:
Code: Select all
@echo off
cmd.exe /c
START "" /b /MIN C:\Midi_tools\bin\sendmidi.exe --out 1 --note-on 0 %1 %2
EXIT /B
Code: Select all
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim args
Set args = Wscript.Arguments
if args.Count = 2 then
WshShell.RUN "C:\Users\Loick\Desktop\call.bat " & args(0) & " " & args(1), 0, True
else
WScript.Echo "Missing parameters"
end if
Set WshShell = Nothing
Code: Select all
System.Execute("%windir%\system32\wscript.exe","C:\Users\Loick\Desktop","/C call.vbs 36 1");
They are:
--out 1 --> Port Number
--note-on A B C
were A = channel (zero in my case)
B = pitch (the number inside brackets in MacroButton midi catch)
C = Velocity (0 = light off, 1 = light on)
Precision 2: don't forget to change your path, no just copy/paste
Precision 3: i'm not good with batch and vbs ^^, c# is my predilection
And it work without displaying any window and let my focus inside my fullscreen app.
And if you want to implemant sendmidi.exe inside macroapp, the dev' let it under BSD licence and it should be not really hard to implement
Last edited by heavenlot on Wed Apr 27, 2016 3:00 pm, edited 2 times in total.
-
- Site Admin
- Posts: 2121
- Joined: Sun Jan 17, 2010 12:01 pm
Re: Midi Mapping
thanks you for sharing your experience there
very interesting! this can be useful for many people i guess!
very interesting! this can be useful for many people i guess!
Re: Midi Mapping
Huge thank you to heavenlot! I used your scripts and was able to setup my Korg nanoKontrol2 to illuminate the button lights when muting. Works very nicely and I'm looking forward to putting it to use with the record and play transport controls (if possible).
For those using the nanoKontrol2, if you want to use heavenlot's scripts as is, you'll need to do the following:
Install the Windows driver and the Korg Kontrol Editor.
Open the Korg editor, select the button you wish to illuminate and change the "assign type" to "note", button behavior to toggle, and on value to 1
Select the Communication->Write Scene Data menu item
Note: you might need to remap the midi control in VoiceMeter now that the type is note, instead of the previous "control change"
Finally, thank you to Vincent for putting out an amazing sound utility. If you haven't donated, you really should. This app is worth donating for twice! Vincent, I'm sure that putting this type of UI (for illumination, motorized fader position, etc) into VM would be daunting, but if you ever can you can rest assured that there are users out there that would appreciate it!
For those using the nanoKontrol2, if you want to use heavenlot's scripts as is, you'll need to do the following:
Install the Windows driver and the Korg Kontrol Editor.
Open the Korg editor, select the button you wish to illuminate and change the "assign type" to "note", button behavior to toggle, and on value to 1
Select the Communication->Write Scene Data menu item
Note: you might need to remap the midi control in VoiceMeter now that the type is note, instead of the previous "control change"
Finally, thank you to Vincent for putting out an amazing sound utility. If you haven't donated, you really should. This app is worth donating for twice! Vincent, I'm sure that putting this type of UI (for illumination, motorized fader position, etc) into VM would be daunting, but if you ever can you can rest assured that there are users out there that would appreciate it!
Re: Midi Mapping
Didn't want to open a new thread as this is somewhat related to the topic.
I'm currently waiting for my NanoKontrol2, and I've been trying to send some midi commands with sendmidi, but I haven't had any luck in succeding.
I'm using my phone to control banana, I've set some controls in the midi mapping and using TouchOSC I'm sending some commands, it works pretty well, This requires me to either use the phone or directly change the value from the computer for like say, muting A1 and unmuting A2, this is a bit problematic in some scenarios, so I wanted to map a key in my HP remote to send a command (changing registry values to send something like Control-F15 and stuff like that and use an AHK script which listens to this keystroke and executes the desired command)
I haven't went as far as trying to do this in the remote, I've been trying some commands without any luck, maybe I'm doing something wrong.
What I've tried doing was:
Any help will be appreciated
I'm currently waiting for my NanoKontrol2, and I've been trying to send some midi commands with sendmidi, but I haven't had any luck in succeding.
I'm using my phone to control banana, I've set some controls in the midi mapping and using TouchOSC I'm sending some commands, it works pretty well, This requires me to either use the phone or directly change the value from the computer for like say, muting A1 and unmuting A2, this is a bit problematic in some scenarios, so I wanted to map a key in my HP remote to send a command (changing registry values to send something like Control-F15 and stuff like that and use an AHK script which listens to this keystroke and executes the desired command)
I haven't went as far as trying to do this in the remote, I've been trying some commands without any luck, maybe I'm doing something wrong.
What I've tried doing was:
It doesn't work at all (Control Change 13 is Mute BUS A1). In TouchOSC the kind of control is a push button (so range is 0-1), have tried both numbers, even tried to use a different ouput, only takes 0 or 1, anything else gives an error (cannot open MIDI output port 5 - or the number I use).sendmidi --out 1 --control-change 1 13 0
Any help will be appreciated