Project Description

NKnobMan is a framework aimed at easily developing plugins for KnobMan as well as for providing a collection of plugin (ExportMinimizer... etc.).
KnobMan is a fantastic tool developed by g200k to design animated knobs (mostly for VST audio plugins).

With KnobMan, you can generate animated knobs like this:

KnobSamples.png

NKnobMan project is composed of:
  • A Common library NKnobMan that contains almost everything to easily develop plugins and manipulate KnobMan remotly.
  • A Templatizer Plugin able to generate several different knobs from a template knob. This plugin is usefull when you want to generate contextual knobs (mouse hover, clicked, disabled) based on a same template knob.
  • A simple plugin called "Export Minimizer" developed with the NKnobMan library. This plugin exports knobs in a rectangular image (while being able to minimize width and height of the final image). It can be useful for example in using the output image as a texture in a 3D API (they often require textures not too large).
  • A sample plugin Monochrome based on the original KnobMan Monochrome.py

News

28 Sep 2009, NKnobMan 1.0.1 is released!. This release is compatible with KnobMan 1.34. Add support for "Primitive.Color" and enhance the templatizer preview using preferences background color.
24 Sep 2009, NKnobMan 1.0 is released. This version is compatible with KnobMan 1.33 and upcoming 1.34. A new Templatizer Plugin is released : there are still some issues on some properties that cannot be modified from the templatizer with KnobMan 1.33 but should be fixed in KnobMan 1.34.
18 Sep 2009, NKnobMan 1.0 Beta is released. This version is compatible with the KnobMan 1.33.

Features

  • A simple .NET API that gives you access to KnobMan at runtime.
  • Easy automatic binding from the plugin to any KnobMan process running on the machine (when the plugin is running outside KnobMan).
  • A debug window to track messages sent to KnobMan.
  • Cached value from KnobMan. Once a value is got, the value is cached inside the plugin.
  • Automatic restore of the KnobMan title bar after running a plugin.

Requirement

Future Plans

You are welcome to develop new plugins as well as improving NKnobMan library.
The current library has still some limitations :
  • The primitive part of a layer is not yet coded (although it should be available soon).

Screenshots

A screenshot of the "Templatizer" plugin:

NKnobManTemplatizer.png

A screenshot of the "Export Minimizer" plugin:

NKnobManExportMinimizer.png

A screenshot of the debugging log window available inside a plugin:

NKnobManLogWindow.png

Sample plugin

Here is an example of code, a translation of the Monochrome plugin already available in KnobMan:

using System.Windows.Forms;

namespace NKnobMan.Monochrome
{
    class Program
    {
        static void Main(string[] args)
        {
            if ( KnobMan.Default == null )
            {
                return;
            }
            MessageBox.Show(KnobMan.Default, "Change to Monochrome", "Monochrome");

            foreach (Layer layer in KnobMan.Default.Layers)
            {
                layer.Colors.Saturation.From = -100;
                layer.Colors.Saturation.To = -100;
            }

            MessageBox.Show(KnobMan.Default, "Completed", "Monochrome");
        }
    }
}

Credits

NKnobMan wouldn't have been possible without KnobMan.

Contact

Go to NKnobMan to have more information. Leave a message in the discussion tab.

Contact author: alexandre_mutel <at> yahoo <dot> fr
Contact on KVR Forum: AlexandreMutel
Blog : Code4k

Last edited Oct 13, 2009 at 9:43 AM by alexandre_mutel, version 16