Hi All,
This is my first post here, so excuse any dumb questions. I’m planning a MB64 with 9 faders, 10 rotary pots & 32 illuminated pushbuttons. The idea being to have a DAW control surface with 8 channel pans & volumes, a master pan & volume, switches to arm/mute/solo etc tracks. I would like to also have 2 encoders. One for menu control, replacing the left/right/exec buttons, the other for bank increment/decrement/snapshot. The intention being to be able to switch through banks of 8 tracks in my DAW software by rotating the bank select encoder.
Having done a good amount of searching I feel I know a little, but still have a long winded but relatively simple question:
In midibox64_sfb_table.txt I can see this:
FF 02 11 | Decrement BankStick Bank with overflow
..
FF 02 13 | Increment BankStick Bank with overflow
and in main.asm I can see this:
; Datawheel for menu navigation/data entry connected or not?
; A datawheel can replace the left/right buttons!
; if -1: datawheel not connected
; if >= 0: encoder number assigned to datawheel function
; don’t forget to check the pins of the datawheel in MIOS_ENC_PIN_TABLE (-> mios_tables.inc or setup_*.asm)
; it has to be connected to pin 4 and 5 by default
#define DEFAULT_ENC_DATAWHEEL -1
;
; DIN pin numbers of menu buttons
#if DEFAULT_ENC_DATAWHEEL == -1
#define DEFAULT_DIN_MENU_EXEC 7 ; menu exec button assigned to DIN pin #7
#define DEFAULT_DIN_MENU_RIGHT 6 ; menu right button assigned to DIN pin #6
#define DEFAULT_DIN_MENU_LEFT 5 ; menu left button assigned to DIN pin #5
#define DEFAULT_DIN_MENU_SNAPSHOT 4 ; menu snapshot button assigned to DIN pin #4
#else
#define DEFAULT_DIN_MENU_EXEC 7 ; menu exec button assigned to DIN pin #7
#define DEFAULT_DIN_MENU_SNAPSHOT 6 ; menu snapshot button assigned to DIN pin #4
#define DEFAULT_DIN_MENU_RIGHT 5 ; NOT USED - overlayed by datawheel
#define DEFAULT_DIN_MENU_LEFT 4 ; NOT USED - overlayed by datawheel
#endif
in mios_tables.inc, there is an encoders section with examples such as:
ENC_ENTRY 1, 2, MIOS_ENC_MODE_DETENTED ; detented encoder at pin 2 and 3 of SR 1
So now we get to my dumb questions:
For my 2 encoders do I need to simply:
a) Define the relevant encoders in mios_tables.inc
b) Enable the datawheel in main.asm (to make the menu encoder work)
c) connect the encoders to the specified DIN inputs - the menu encoder A & B outputs to the L & R button DIN’s and the bank select encoder A & B outputs to the bank incr/decr DIN’s
d) connect the encoder push switches to the exec & snapshot DIN’s
e) assign the relevant special functions to the bank inc/dec DIN’s (this is the one I’m unsure of, as the DIN’s aren’t inc/dec pulses but are now encoder quadrature outputs)
f) re-build & program etc…
??
Will MIOS intercept the quadrature pulses from the pairs of inputs & pass L/R and Inc/Dec pulses to the MB64 application, or have I missed something? Do I need to include any extra inc files when I build? Is what I’m describing possible in MB64?
Many thanks in advance & thanks for a great project - endless possibilities!!
Adam