Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/c9glax/obskorgnanokontrol2
Translates MIDI-Events from your KORG nanoKontrol2 to the OBS-web-socket
https://github.com/c9glax/obskorgnanokontrol2
Last synced: 7 days ago
JSON representation
Translates MIDI-Events from your KORG nanoKontrol2 to the OBS-web-socket
- Host: GitHub
- URL: https://github.com/c9glax/obskorgnanokontrol2
- Owner: C9Glax
- License: mit
- Created: 2020-05-24T21:53:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T15:41:25.000Z (18 days ago)
- Last Synced: 2024-10-28T00:26:14.123Z (17 days ago)
- Language: C#
- Homepage:
- Size: 676 KB
- Stars: 14
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nanoKontrol2OBS
Translates MIDI-Events from your KORG nanoKontrol2 to the [obs-websocket](https://github.com/Palakis/obs-websocket)
## Getting Started
Download latest [Release](https://github.com/C9Glax/OBSKorgNanokontrol2/releases), extract the Archive, and run Executable.
Connect to [obs-websocket](https://github.com/Palakis/obs-websocket)### Prerequisites
A working [obs-websocket](https://github.com/Palakis/obs-websocket) installation.
I highly suggest also installing the [KORG USB-MIDI Driver](https://www.korg.com/us/support/download/product/1/285/) to prevent issues with multiple programs trying to access the MIDI data.
## config.xml
The default config is my own preference. Different people might want different setups. So here you go.
The Binds-config has to be in the same folder as the executable and has to be named `config.xml`.
The structure is as follows:
```
```
### inputs
`inputs` can be `slider`,`dial` or `button`. Each input consists of two attributes: `midicontrolid`&`action`.
`midicontrolid` is the MIDI-Control to be assigned.
`slider`- and `dial`-Actions can be:
```
setobsvolume()
setwindowsvolume()
```
`button`-Actions can be:
```
obsmute()
switchscene()
windowsmute()
previoustrack()
nexttrack()
playpause()
startstopstream()
savereplay()```
``can be:
```
desktop1
desktop2
mic1
mic2
mic3
```
`` is a zero-based integer.Example:
``### outputs
`outputs` can only be `output`. Each `output` consists of at least two attributes: `midicontrolid`&`event`.
`midicontrolid` is the MIDI-Control to be assigned.
`event`-Values can be:
```
obsmutechanged
windowsmutechanged
streamstatuschanged
replaystatuschanged
sceneswitched
```
Example: ``The events `obsmutechanged` and `windowsmutechanged` additionally need the attribute `source`.
`source`can be:
```
desktop1
desktop2
mic1
mic2
mic3
```
Example: ``The event `sceneswitched` additionally needs the attribute `sceneindex`, which is a zero-based integer.
Example: ``## Built With
* [NAudio](https://github.com/naudio/NAudio) - MIDI Controls
* [AudioSwitcher](https://github.com/xenolightning/AudioSwitcher) - Windows Audio Controls
* [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) - Because that is what everyone uses for JSON
* [websocket-sharp](https://github.com/sta/websocket-sharp) - To connect to [obs-websocket](https://github.com/Palakis/obs-websocket)
* [OBS-Websocket-Sharp](https://github.com/C9Glax/OBS-Websocket-Sharp) - To connect to [obs-websocket](https://github.com/Palakis/obs-websocket)## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details