This Months Donations

of $500.00 goal
Server, CDN, Network, Licensing
Development Budget
Developers Beer Fund
Robert Miles
Number of donations
Highest donation
Average donation

Mapping plugins are the easiest to make, they only require a specific signature and an overrided method and that is it.

This is the basic for a mapping plugin needs;

namespace MyInputPlugin
     PluginName = "My input plugin",
     PluginDescription = "",
     PluginID = 0,
     PluginAuthorName = "Foo",
     PluginAuthorEmail = "This email address is being protected from spambots. You need JavaScript enabled to view it.",
     PluginAuthorURL = "http://inputmapper.com",
     PluginIconPath = @""
    public class MyInputPlugin:InputModificationPlugin
        public MyInputPlugin(Guid guid):base(guid)
        public override void SetValue(dynamic inValue)
            this.Value = inValue;
Other than the Meta info that all IM plugins need, the only other things needed are a specific constructor set to receive the unique Guid when an instance of your plugin is used in a mapping, this constructor must also initially set the value of whatever you default value will be weather its false for bool or 0 for a float, it needs to be initially defined. The final step is to override the SetValue method to make any modification you wish to your incoming value and ten save it to this.Value.
When creating a mapping plugin, you may want to define instance specific settings that are stored with the mapping profile and are unique to each instance. Because of this the class InputModificationPlugin already has a SettingsGroup property that can be accessed through this.settings.
Setting mySetting = new Setting("My Setting", "This is my setting", SettingControl.Textbox, SettingType.Decimal, 1);

See Adding plugin settings for more information on the format for settings and setting groups.

By default, your mapping plugin will always show a live representation of its output value, if you also want to display additional info such as current setting configurations, just access the this.DisplayData property.
Log in to comment