Home Banner image
Home

Attributes

Each assembly can create and publish a set of events and actions. Events and actions are described in the Architecture section.

Event Attributes

Events are exposed to ProjectMIDI by giving them predefined custom attributes. These attributes specify the name to display to the user in connection dialogs, as well as the number of values that the event provides.

The name given by the attribute is important in order to make using it easy and intuitive. For example, I've worked with MIDI software in the past which allows connecting a particular MIDI data type (eg. program change) to an action. This isn't at all clear though what this means. I'd much rather be able to specify that the "TD8 Inc/Dec Buttons" will cause an action instead of having to look up and specify the MIDI data type and value.

In addition to providing a name to an input, the custom attribute also specifies the number of possible input values. This allows better matching of inputs to outputs. For example, connecting a 128 position knob to a simple on/off type action might require interpreting values 0-63 as "off" and 64-127 as "on".

Event attributes can have an autoconnect name associated with them. ProjectMIDI will automatically connect events and actions with matching autoconnect names at startup.

Action Attributes

Each assembly also defines and publishes a set of actions which it implements. These are things like "Next page", "Display TD8 Patch Editor", and so forth. This is limited only by our imaginations.

Actions are exposed to ProjectMIDI by giving them predefined custom attributes. These attributes specify the name to display to the user in connection dialogs, as well as the number of values that the action can accept.

The name given by the attribute is important in order to make using it easy and intuitive.

In addition to providing a name to an action, the custom attribute also specifies the number of possible input values. This allows better matching of inputs to outputs. For example, connecting a 128 position knob to a simple on/off type action might require interpreting values 0-63 as "off" and 64-127 as "on".

Action attributes can have an autoconnect name associated with them. ProjectMIDI will automatically connect events and actions with matching autoconnect names at startup.