# obs-midi-mg



## nhielost (Aug 10, 2022)

nhielost submitted a new resource:

obs-midi-mg - Allows MIDI devices to interact with OBS Studio.



> NOTE: This plugin cannot be used on versions below 28.0.0. View the GitHub repo for more details.
> 
> This plugin makes it easy to control OBS Studio using MIDI devices. It's easy to set up, easy to use and is cross-platform as it was built using the new plugin template.
> 
> Releases can be found using the link above.



Read more about this resource...


----------



## nhielost (Aug 15, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v1.1.0 is now available.​Additions:​
> The _Send MIDI Message_ action is now available and ready to use
> Preparations for using output devices (in the UI)
> Name indicators in the editing menus
> ...



Read the rest of this update entry...


----------



## nhielost (Aug 17, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> *obs-midi-mg v1.1.1 is now available. Click **here** to download.
> 
> Additions:*
> - The message menu now has tooltips (the next update will include the actions menu)
> ...



Read the rest of this update entry...


----------



## nhielost (Aug 23, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v1.2.0 is now available. Click here to download.​Additions:​
> The action category field has new members (which are NOT IMPLEMENTED YET)
> 
> _Profiles_, which will deal with Profiles (obviously)
> ...



Read the rest of this update entry...


----------



## EB123 (Aug 24, 2022)

great to see this new plugin..


----------



## nhielost (Aug 26, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v1.2.1 is now available. Click here to download.​Additions:​
> Logging messages can now be found when starting OBS as well as saving and loading configurations
> Bug Fixes:​
> Bindings will now load and save even if the configuration folder did not exist
> ...



Read the rest of this update entry...


----------



## Puuhbear (Sep 1, 2022)

I'm really having trouble understanding how to make this plugin work...

what are messages?
what are actions?
how am I able to autodetect a input from my keyboard?

I have several knobs on my Axiom air 32 mini that I used to control the volume of several audio sources and I have no clue on how to do that with your plugin now.

any help would be appreciated


----------



## nhielost (Sep 1, 2022)

Thanks for your reply!

Messages are the values that your device sends to make sound or so other things (or in this case, to do something in OBS). I am currently working on a listening to message feature so that this process can become easier, but it is still under development.

Actions are the things that occur as a result of listening to a message (i.e. the actual thing that you want to happen in OBS).

As for the auto detect input, this feature was mentioned above and is in development currently.

To view a more in-depth description, please visit the repository here. Feel free to ask further questions if you have them!


----------



## Puuhbear (Sep 1, 2022)

so what shoul I set if I want to take a knob with 128 values to set the volume of a audiosource?

do I have to do 128 different messages?


----------



## DieNeueUnterschicht (Sep 1, 2022)

Hi,
installed the plugin via the .deb package. Unfortunately the plugin won't show up under Tools.
Any help would be greatly appreciated, Thanks.


----------



## nhielost (Sep 2, 2022)

Puuhbear said:


> so what shoul I set if I want to take a knob with 128 values to set the volume of a audiosource?
> 
> do I have to do 128 different messages?


Fortunately, you do not have to do that.

First, create a binding inside your device. Then inside the binding, add a message and change the values as needed, but leave the last one set to off.

Then create an action inside the same binding, and set it to _Audio Sources > Set Source Volume To. _Choose the source, and click the volume number so that it flips to off as well. This will allow you to use the message value in the action.

And that's it! You only need one message and one action for setting the volume of a source.

(NOTE: For other readers, this applies to many actions included in this plugin. Setting the number to off in an action will always use the message value instead of a fixed value.)


----------



## Puuhbear (Sep 2, 2022)

thank you very much for these instructions :) 

this is working but only to a degree

the audio source is only going to -40dB and not all the way down to -128dB as it should


----------



## nhielost (Sep 3, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v1.2.2 is now available. Click here to download.​Additions:​
> The _Profiles_ and _Scene Collections _actions are now implemented
> Unfortunately, the _UI_ action was removed due to the lack of an API
> 
> ...



Read the rest of this update entry...


----------



## DieNeueUnterschicht (Sep 4, 2022)

DieNeueUnterschicht said:


> Hi,
> installed the plugin via the .deb package. Unfortunately the plugin won't show up under Tools.
> Any help would be greatly appreciated, Thanks.


After repacking files and folders and adding it to the .config obs folder it now works, but doesn't show any devices


----------



## nhielost (Sep 7, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v1.3.0 is now available. Click here to download.​Additions:​
> A new action _Replay Buffer_ has been added
> More logging for when an action doesn't work properly
> Tweaks:​
> ...



Read the rest of this update entry...


----------



## DeeBoy21 (Sep 8, 2022)

This was working for me on my Mac up until the latest update. Now OBS crashes upon attempting to open. Any advice?


----------



## DieNeueUnterschicht (Sep 8, 2022)

Unfortunately Midi device (nanokontrol 2 by korg) is not listed with the new version - any updates or suggestions?


----------



## sinandchips (Sep 9, 2022)

DieNeueUnterschicht said:


> Unfortunately Midi device (nanokontrol 2 by korg) is not listed with the new version - any updates or suggestions?


I've had no problem with my nanoKontrol 2, it registers and is detected as available.

OS: Windows 11
Asset downloaded: obs-midi-mg-1.3.0-windows-x64-Installer.exe

I also installed the x86 version but it didn't detect it as a tool to use, x64 worked.

(edit: I see you are using linux looking up at your previous post, my help is a bit futile.)


----------



## Polychrome (Sep 11, 2022)

I don't want this to sound harsh, I want it to be taken as constructive criticism since it's the only "working" MIDI alternative to the other plugin that was posted a long time ago.

I've tried to make this work with my nanoKontrol2 and although I noticed it can detect my faders sending the message, I can't say it does anything other than increase in extremely small amounts (Like screen pixels worth of space). I've tried all methods and all options and none of them are working at all for me in particular (Running on v28 and Win 11).


----------



## Bairespm (Sep 13, 2022)

Hi i create  mesagges but this names are default how to rename's . Sorry for my english


----------



## Polychrome (Sep 13, 2022)

Bairespm said:


> Hi i create  mesagges but this names are default how to rename's . Sorry for my english


Simply double-click the text and it should allow you to change the name.


----------



## Funkybassman (Sep 15, 2022)

I have managed to install this and get it to detect my Alesis V49 keyboard

Ive created a binding and set it up to one of the drum pads on the V49 

The action I've assigned is 'Scene Switching' to the desired scene

But when I press the drum pad the scene is not changing

Have I missed a step ??


----------



## nhielost (Sep 15, 2022)

Polychrome said:


> I don't want this to sound harsh, I want it to be taken as constructive criticism since it's the only "working" MIDI alternative to the other plugin that was posted a long time ago.
> 
> I've tried to make this work with my nanoKontrol2 and although I noticed it can detect my faders sending the message, I can't say it does anything other than increase in extremely small amounts (Like screen pixels worth of space). I've tried all methods and all options and none of them are working at all for me in particular (Running on v28 and Win 11).



Which action (or actions) are you trying to use with the faders?

It has come to my attention that some actions (especially Video Sources) are not working with the correct MIDI values, and this is being addressed.


----------



## nhielost (Sep 15, 2022)

Funkybassman said:


> I have managed to install this and get it to detect my Alesis V49 keyboard
> 
> Ive created a binding and set it up to one of the drum pads on the V49
> 
> ...



Have you created a message inside the binding set to the message that the drum pad sends? Use the Listen to Message button to detect this.

Also, if the value/velocity option changes when the drum pad is hit, make sure to set it to OFF in the plugin by clicking it. This will prevent the plugin from requiring that specific value every time the pad is hit.


----------



## nhielost (Sep 16, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v1.4.0 is now available. Click here to download.​Additions:​
> New actions have appeared in the _Video Sources_ category
> _Message Toggling_ feature
> Actions can now be toggled using just one binding
> ...



Read the rest of this update entry...


----------



## EB123 (Sep 16, 2022)

would it be possible down the line for this plugin to expand and include OSC ?  midi is cool to use with hardware controllers but OSC has further benefits, such as make your own custom controller layout to use on tablet/phone and easy wireless/network integration etc..


----------



## Funkybassman (Sep 16, 2022)

nhielost said:


> Have you created a message inside the binding set to the message that the drum pad sends? Use the Listen to Message button to detect this.
> 
> Also, if the value/velocity option changes when the drum pad is hit, make sure to set it to OFF in the plugin by clicking it. This will prevent the plugin from requiring that specific value every time the pad is hit.


Midi velocity is set to 0 (presumably  OFF) but still no joy

Here's a link to recording of me setting it up









						Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.
					

Store photos and docs online. Access them from any PC, Mac or phone. Create and work together on Word, Excel or PowerPoint documents.



					1drv.ms
				




Can you check it out ?


----------



## amandryka (Sep 18, 2022)

I have a similar problem.
My MIDI device is recognized, and I created a Binding, Messages with the right MIDI messages, and Actions with the right command.

I just don't know how to link a given Message to a given Action.






Best I could do was to name them the same, but I don't have any other idea.

Thanks for helping.


----------



## nhielost (Sep 18, 2022)

Funkybassman said:


> Midi velocity is set to 0 (presumably  OFF) but still no joy
> 
> Here's a link to recording of me setting it up
> 
> ...



Unfortunately, I could not see the setup video you provided. But based on what you have said, I can tell you that you need to CLICK the velocity number to change it to OFF. In addition, the action you want to use should be in the same binding as the message.


----------



## nhielost (Sep 18, 2022)

amandryka said:


> I have a similar problem.
> My MIDI device is recognized, and I created a Binding, Messages with the right MIDI messages, and Actions with the right command.
> 
> I just don't know how to link a given Message to a given Action.
> ...



I don't want this to sound harsh, but I guess I haven't explained this well enough. 

A binding is the container in which you put messages and actions. If a message is received in a binding, it will either execute the action(s) in the binding, or wait for the next message in the binding to be received.

In your case, you need to use multiple bindings, and in each binding you place the appropriate message with the associated action. (In short, use 3 bindings with the messages and actions distributed instead of one binding with all the messages and actions.)


----------



## amandryka (Sep 18, 2022)

nhielost said:


> I don't want this to sound harsh, but I guess I haven't explained this well enough.
> 
> A binding is the container in which you put messages and actions. If a message is received in a binding, it will either execute the action(s) in the binding, or wait for the next message in the binding to be received.
> 
> In your case, you need to use multiple bindings, and in each binding you place the appropriate message with the associated action. (In short, use 3 bindings with the messages and actions distributed instead of one binding with all the messages and actions.)


Ah okay, I thought that a I only needed one binding as a container for all messages and actions, I'll try with one binding for each. Thanks!

EDIT: Yep, it does the trick!


----------



## jorgeconstantini (Sep 20, 2022)

First of all, great job! Second, the plugin crashes my obs on the latest version (1.4.0) and I have no clue why, and third, is there any plan to include actual fader/knob support for the plugin? that was the feature that I used the most on the old one and would love to see it implemented.


----------



## sejnub (Sep 21, 2022)

Last Version of plugin crashes OBS Studio here too.


----------



## sejnub (Sep 21, 2022)

And when I reinstall the files from obs 1.3.0 it still crashes. I have to delete the dll and pdb to make OBS startable again.Any help would be welcome.


----------



## Polychrome (Sep 22, 2022)

nhielost said:


> Which action (or actions) are you trying to use with the faders?
> 
> It has come to my attention that some actions (especially Video Sources) are not working with the correct MIDI values, and this is being addressed.



Unsure if you tackle this one down on the latest release but I can't for the love of god get it working on my NK2 if it was actually fixed.

If it was fixed on the last release, what would be the right way to make my Faders functional with an Audio Source if you don't mind walking me through your plugin (ie: Lowering and Increasing the volume of my Music Track/Channel).

Thanks :)


----------



## sejnub (Sep 22, 2022)

*Crashes seem to be solved.*

Plugin works again after using the installer `obs-midi-mg-1.4.0-windows-x64-Installer.exe` instead of just copying the zip file content.
No Idea why it crashed OBS at startup for a while.


----------



## nhielost (Sep 23, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v1.4.1 is now available. Click here to download.​Additions:​
> Help Menus are finished - click Help beside Preferences to see them
> Tweaks:​
> UI refresher
> ...



Read the rest of this update entry...


----------



## nhielost (Sep 25, 2022)

For all those who are wondering, faders are indeed supported with this plugin. Here are the steps to use them.

1. Create a binding inside the active device and name it whatever you'd like.
2. Click _Edit Messages_ in the binding to access the Messages tab, and click _Add_ in the bottom left corner. Rename the message to whatever you'd like.
3. Click _Listen to Message_ on the bottom row. Then adjust your fader so that the plugin can receive the message values for it. Once complete, click _Cancel_, then click _Return_.
4. Now, click _Edit Actions_ in the binding to access the Actions tab, and click _Add_ in the bottom left corner. Rename the action to whatever you'd like.
5. Choose which action to use the fader with (e.g. Volume, Scale, Rotation, etc.). 
6. For the number fields in the bottom right, click the label. This should disable the number field with dashes being displayed.

That's it! The faders should work with your selected action.


----------



## nhielost (Sep 25, 2022)

Also, if you are experiencing crashes, try the latest release (v1.4.1). If the crashes persist, please continue reporting them here, or file an issue on GitHub.


----------



## GenomeSoldier66 (Sep 28, 2022)

Can you expand on these directions? I'm getting my midi control to change the value but I don't know how to get that value to be the volume of a source. Is "value is required" a necessity? What's the reception method? I appreciate any more help.


----------



## Flicker (Oct 28, 2022)

nhielost said:


> For all those who are wondering, faders are indeed supported with this plugin. Here are the steps to use them.
> 
> 1. Create a binding inside the active device and name it whatever you'd like.
> 2. Click _Edit Messages_ in the binding to access the Messages tab, and click _Add_ in the bottom left corner. Rename the message to whatever you'd like.
> ...


Brilliant!


----------



## nhielost (Oct 29, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg v2.0.0



> obs-midi-mg v2.0.0 is now available.​Additions:​
> New user interface mode (Echo style)
> Larger window
> Cleaned up many issues with navigation
> ...



Read the rest of this update entry...


----------



## Flicker (Nov 7, 2022)

@nhielost Hello, thank you for your plugin. I have knobs on my midi keyboard, which I assigned the source volumes, but every time I use the knob for the first time in the session, it puts the volume to 0 then I can go up. Is there something I can do so that it starts from the current value? Thank you


----------



## vlamonde (Nov 8, 2022)

So far I have mixed feelings about this plugin. Compared to the other available MIDI plugin for OBS it actually loads (I am using OBS V28) and the main function I'm interested in ie note on scene switching,  does work. There are however many functions that don't seem to work at all. Take for example hot keys. I have a number of hot keys defined. Within the plugin if I try and assign for example a note on message to a hot key, the available hotkeys window is blank. Ditto with filters. the plugin does not list any filters...


----------



## nhielost (Nov 8, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v2.1.0 is now available.​Additions:​
> Duplicate Button
> Bindings can now be duplicated by clicking the _Copy Binding_ button
> 
> ...



Read the rest of this update entry...


----------



## Bairespm (Nov 9, 2022)

hello @nhielost , your plugin is incredible, consult, would there be any possibility that you can add external hotkeys... example, I press a midi key and in obs ALT+A is pressed. Because I see that in the part of hotkeys that you added you can only choose the ones that were created in obs shortcuts but I couldn't find a way to make ALT+A execute directly with midi. Thank you


----------



## nhielost (Nov 11, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg



> obs-midi-mg v2.1.1 is now available.​Additions:​
> Velocity Toggling
> The velocity of Note messages has been reimplemented
> Located under the options in the value field
> ...



Read the rest of this update entry...


----------



## sunkid (Nov 15, 2022)

Amazing plug in!  I'm so happy with the Traktor overlay I'm building in OBS with this plugin. Thank you!  I have found that the timeout action seems to default to 0ms for some reason and that seems to be crashing OBS for me sometimes.  When I first updated from the old version to the new one with the echo layout it crashed obs on me immediately, I had to delete some of my old mappings before I could get it to work again.

I would love it if we could listen to more than one MIDI device at a time would simplify things for me big time!

Oh yeah OBS got crash-y when I tried fiddling with the Hide Transition length of sources that were currently fading away.  I tried speeding that up and OBS died immediately....


But that's not to say I'm not overall super impressed with this plugin and what it is possible to create!  I've got almost two hundred actions set up on my dj controller, and i had almost as many on my scene switcher  as well and despite having such an elaborate setup it seems to work


----------



## vlamonde (Nov 15, 2022)

Big thumbs down for this update. Installed over V 2.0. Win 64. Created a simple binding note on message to switch scenes and OBS immediately crashes when note is sent.


----------



## vlamonde (Nov 15, 2022)

Now its 2 thumbs down. Reverted back to V2.0 and OBS still crashes, both in echo and legacy modes. At least before, I could do simple note on scene switching, but thats been trashed since upgrading to 2.1.1.  Sigh.. I had such high hopes


----------



## RAMIdotGG (Nov 22, 2022)

hi @nhielost I'm struggling to bind my behringer x-touch faders. in active device I have the option for MIDIIN2 (X-touch 1), MIDIOUT2 (X-touch 1), and X-Touch 1. 
I have selected X-Touch 1 as active device as that is the same choice I use in Voicemeeter Banana to control the audio sliders.
I then click Create Binding, Change Type to Pitch Bend, then click listen Once and move the fader I want to bind, nothing shows up, I click cancel then try listen continuous, nothing shows up. I try this for All channels 1 through 16, nothing shows up. 
Am I doing something wrong?


----------



## RAMIdotGG (Nov 22, 2022)

RAMIdotGG said:


> hi @nhielost I'm struggling to bind my behringer x-touch faders. in active device I have the option for MIDIIN2 (X-touch 1), MIDIOUT2 (X-touch 1), and X-Touch 1.
> I have selected X-Touch 1 as active device as that is the same choice I use in Voicemeeter Banana to control the audio sliders.
> I then click Create Binding, Change Type to Pitch Bend, then click listen Once and move the fader I want to bind, nothing shows up, I click cancel then try listen continuous, nothing shows up. I try this for All channels 1 through 16, nothing shows up.
> Am I doing something wrong?



ok so I figured out that windows does not allow multiple applications to use the midi driver, so with LoopMidi and Midi-OX i created two virtual outputs for my device, assigned one to Voicemeeter and one to OBS, however now I have the question, does the plugin have forcefeedback functionality? the audio slider remains at the level I set it to, but my fader goes back to zero, any way for the plug in to send it the correct level to remain at like voicemeeter does?

thank you


----------



## nhielost (Dec 17, 2022)

nhielost updated obs-midi-mg with a new update entry:

obs-midi-mg v2.2.0



> obs-midi-mg v2.2.0 is now available.​Additions:​
> Custom Filter Settings (#25)
> Properties adjusted in filters can now be adjusted in the plugin based on MIDI values, just like any other action
> It is almost completely customized in terms of ability to use message values
> ...



Read the rest of this update entry...


----------



## Eirn (Dec 28, 2022)

@nhielost
I have a question. Please take it.
I'm using StreamDeck and StreamDeck is trying to link with OBS while using Midi plug-in.How do I send changed information to Stream Deck within the program?Therefore, the information transmitted from the stream deck to the midi control is well controlled by the OBS.For example, if OBS changed the volume value, it would need to send information about the changed value to MIDI to update the information displayed on the stream deck, but I don't know how.
I use Ableton, and DAW turns on a function called Remote that can be set for each MIDI, and the volume and settings that change in DAW are reflected in the stream deck. If I change the volume from OBS to mouse, I want to make it so that the value on the stream deck can be converted.
It may sound awkward because I'm using a translator.Please tell me again if there is a mistake or something I don't understand.


----------



## DJPupStar (Dec 29, 2022)

It took me some time to figure out what the correct mappings were for my Novation Launchpad Pro MK2 but I put together this chart to help myself and I hope that it helps someone else. This mapping is for the Programmer Layout.

I'm using the > buttons on the right side to change the scene. For example when I hit 89, it changes to my title scene, and when I hit 79, it changes to my main scene, and so on. These MIDI actions themselves don't cause any feedback on Launchpad, so I also have to create a binding that turns on the LED for the button, and then 7 more bindings to turn the other button LEDs off, creating a radio button effect.

Crossing my fingers that a future plugin update enables responding with multiple MIDI messages which would drastically cut down on the number of Note Off bindings I have to make.


----------



## ShredMentor (Dec 31, 2022)

I'm having a hard time getting this to work as a simple screen switcher. I am very familiar w/ MIDI (>30 year career musician), and I previously had it working prior to OBS 28 using the obs-midi plugin (by cpyarger) using my MPC Element. 

I upgraded OBS to v28 today and had to find a new MIDI plugin, and although I found the setup for this intuitive (and extremely similar to the previous obs-midi plugin I used) it worked only momentarily. Like, once. Each binding is set as a Note-On message. 

Unfortunately OBS is entirely unresponsive when I press any of the buttons on my MPC Element, although OBS (and obs-midi-mg) definitely sees my MPC Element since I was able to select it as a MIDI port and set up all the bindings I need. Anything simple I'm missing here?


----------



## ShredMentor (Dec 31, 2022)

ShredMentor said:


> I'm having a hard time getting this to work as a simple screen switcher. I am very familiar w/ MIDI (>30 year career musician), and I previously had it working prior to OBS 28 using the obs-midi plugin (by cpyarger) using my MPC Element.
> 
> I upgraded OBS to v28 today and had to find a new MIDI plugin, and although I found the setup for this intuitive (and extremely similar to the previous obs-midi plugin I used) it worked only momentarily. Like, once. Each binding is set as a Note-On message.
> 
> Unfortunately OBS is entirely unresponsive when I press any of the buttons on my MPC Element, although OBS (and obs-midi-mg) definitely sees my MPC Element since I was able to select it as a MIDI port and set up all the bindings I need. Anything simple I'm missing here?


Okay reading further I realized what I did wrong. I needed to set the Velocity drop-down to 0-127 instead of Fixed. Now they all work. Disregard my previous message.


----------



## GPMike (Jan 2, 2023)

nhielost said:


> nhielost submitted a new resource:
> 
> obs-midi-mg - Allows MIDI devices to interact with OBS Studio.
> 
> ...


I like it! It would be really great if it had led support, but apparently that's a pretty hard thing to do, since no one has done it. Good job. The setup is pretty straightforward and so far, works well.


----------



## GPMike (Jan 2, 2023)

Polychrome said:


> Simply double-click the text and it should allow you to change the name.


I have the same question.


----------

