Elements

When creating a new project, the first thing to do is to add a few elements to it.

What is an element?

Once a driver is instantiated in a ShowCockpit project, we call it an element. In practical terms, you can have multiple elements of the same driver type in your project.

In a project, the inter-operability between elements is managed by ShowCockpit and can be configured using the Mapping section in the application - this is where you assign Functions to your Controls.

There are two core components of elements - Controls and Functions. Some drivers only provide Controls, other drivers only provide Functions and a few provide both.

Example: for a MIDI Device with an LCD that can display text, the buttons/faders/encoders can be exposed as Controls and the LCD writing as a Function.

Functions

Functions are provided by the driver to be executed on request. These can be triggered by another element's control.

Controls

Controls are assets of the element that can generate events. These Control events that are generated on the element side can then trigger another element function if configured to do so in the Mapping section of ShowCockpit.

Adding elements to the project

Open the Elements section and click the "Add" button. A drop-down menu will appear with all the elements available to be added to your project.

Log Levels

Every element includes an option to change the "Log Level". Log levels are useful to debug the status of an element. If you want to get more information about an element (for example, you might want to print a message when an OSC element receives an OSC message), you can change the level to "Verbose". Certain levels will show the message on the console with a colored tag (red for errors, orange for warnings and green for success).

  • Critical: Critical, severe and fatal errors that disable the element

  • Error: Something went wrong

  • Warning: Something went wrong, but operation can continue (default level)

  • Information: Information about element operation

  • Verbose: Debug information

You should only define a lower log level if you really need, because logging messages to the console consumes CPU resources. Leave the CPU power for other (more important) tasks, such as processing control events and triggering functions.

Element Indicators

The element indicators are divided into two groups: Controls and Functions .

  • Control Event: a control of the element has generated an event (fader moved, button clicked, encoder rotate, etc.)

  • Function Trigger: A function of the element has been triggered (either via a control mapped to that function, or via a LUA script)

  • Function Feedback: Some functions provide feedback (fader position, button LED state, etc.). Whenever a function generates feedback, this indicator blinks.

  • Control Feedback: A control received feedback from a mapped function