using System; using System.Windows.Controls; namespace MassiveKnob.Plugin { /// /// Base interface for actions assigned to a knob or button. Implement one of the descendant /// interfaces to provide input or output. /// public interface IMassiveKnobActionInstance : IDisposable { /// /// Called right after this instance is created. /// /// /// Do not perform anything but basic initialization until this method is called, as the action /// instance will be created temporarily at startup to verify it is correctly implemented! /// /// Provides an interface to the Massive Knob settings and device. Can be stored until the action instance is disposed. void Initialize(IMassiveKnobActionContext context); /// /// Called when an action should display it's settings. Assume the width is variable, height is /// determined by the UserControl. Return null to indicate there are no settings for this action. /// UserControl CreateSettingsControl(); } }