Skip to content

ho0ber/NK2Tray

Repository files navigation

NOTE: The group of developers for NK2Tray are largely inactive.
A rewrite in a language more familiar to the original developer (and thus far for likely to be maintained) is in early stages here:

Also consider checking out these excellent alternative projects:

Midi Mixer
MidiManager

NK2Tray

A simple system tray utility to control the Windows Audio Mixer with a Korg nanoKONTROL2 and other similar control surfaces.

(A rewrite of nk2-audio)

Download

To download the latest version of NK2Tray, go to this project's Releases page.

Problemsolving and Installation Instructions

The installation instructions and a solution to the most common problems can be found in our WIKI If you cannot resolve your problems here simply ask in our Troubleshooting Discord Channel

Getting Involved

To help test or contribute, I encourage you to join our discord: https://discord.gg/BtVTYxp

Current development work is being tracked in this repository's Github Project.

Disclaimer

I'm not a Windows developer. There's a lot in here that's far from best practices, and I welcome you to help improve the code. This project is an attempt to significantly improve the stability and extensibility of a project that was first written in AutoHotkey, so even my most clumsy attempts are already much better than the old codebase. Please reach out to me if you have experience fighting with Windows in code and want to take an active role in this project.

Also, I'm pretty sure I have to release this under the Ms-PL license if I want it to be open source, because that's what NAudio is licensed under.

Project Goals

  • Improved stability over nk2-audio by means of better maintainability
  • Reduced conflicts with games by not using AutoHotkey (which is rejected by some anti-cheat measures)
  • Additional device support with minimal additional coding/configuration
  • Greatly improved potential for features in the long term
  • Improved performance and precision over nk2-audio when setting volumes

Planned Features

  • Tray menu configuration of faders to volume mixer sessions
  • Configurable Master(device) volume and system sounds support
  • Midi feedback to light controls upon activation
  • On the fly binding of sessions using "S" buttons
  • Media button support
  • Persistence of configuration across sessions (restoring on reopening NK2Tray)
  • Multi-session differentiation in persistence (2 instances of Discord, for example)
  • Support for processes changing (closing/reopening application) and retaining a handle to its session
  • Detection of midi device connect/disconnect
  • Selectable input/output midi devices (defaulting to nano)
  • Support for common amazon clones of nanokontrol2
  • (Eventual) support for advanced control surface features (motorized faders, volume meters, scribble strips)

Currently Supported Devices

At the moment the support for the MIDI devices is limited. It will be extended in the future.

The currently supported MIDI devices are listed in the Device Support Matrix

Attribution & Acknowledgements