# Encoders Tips

## Is it really an encoder?

Before you start, you must ensure the control you are trying to map as an encoder really behaves as an encoder. The difference between faders and encoders:

* **Faders**: outputs discrete absolute values in a range (between a maximum and a minimum)
* **Encoders**: outputs relative values (increment or decrease)

In the MIDI world, sometimes there are devices that have physical encoders, but will output data as faders.

So, being an encoder means, in general, that when you rotate the physical encoder to the right, it keeps outputting the same value (with no limits). Rotating the encoder to the left, will output a different value. The increment/decrease value depends on the number of encoder "ticks".

{% hint style="info" %}
If you set the Generic MIDI (or any other MIDI driver) in [Verbose log level](https://app.gitbook.com/@showcockpit/s/academy/getting-started/elements#log-levels), the application will output the raw MIDI data received from the device.

This is very helpful to distiguish faders and encoder types
{% endhint %}

## My encoder behaves as a fader - is there a workaround?

### Workaround 1 - Edit device output

Some MIDI devices allow you to edit the controls output. Some of them can be set to work as encoders or faders using a manufacturer's application. Please check out your device User Manual for this.

Another workaround is to set the minimum "fader" value of 0 and maximum of 1. This will turn your control into an encoder-type because rotating to the right will make it output 1 and rotating it to the left will output 0.

### Workaround 2 - Map it as a fader

If you cannot edit the control output to make it behave as an encoder, you can still map it as a fader and then use the [Fader to Encoder](https://showcockpit.com/site/docs/?d=82) driver.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://academy.showcockpit.com/showcockpit-for-windows/tutorials/generic-midi-mapping/encoders-tips.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
