Skip to content

Add DAW Controller support for various Arturia controllers#2

Closed
soyersoyer wants to merge 137 commits intomainfrom
sdawdisplay
Closed

Add DAW Controller support for various Arturia controllers#2
soyersoyer wants to merge 137 commits intomainfrom
sdawdisplay

Conversation

@soyersoyer
Copy link
Owner

@soyersoyer soyersoyer commented Jan 20, 2025

This feature can be enabled in the minidexed.ini with:

DAWControllerEnabled=1

Features

Controller Display, Main Encoder

The controller display in DAW mode shows the MiniDexed menu.
With the main encoder you can navigate in the menu.
The Home is the shift+Main click

Supported:

  • MiniLab 3 (tested)
  • KeyLab mkII (tested)
  • Keylab Essential
  • Keylab Essential 3

Energy efficiency

This version uses a little less power so it runs cooler thanks to #3.

Extra MIDI CC

  • Sostenuto
  • Hold2
  • Portamento

MiniLab 3 features:

Encoders

By holding down shift will bring up an overlay menu, where you can see and adjust what the encoders do.
You can use the main encoder to select the current encoding page.
Short pressing the shift will show the actual values.
Holding down the shift will goes back to the normal menu.
This overlay menu is context-aware, it is different if you are in the effect menu, or in a TG menu.
If you are in a TG menu, it only affects the selected TG.
If you are in the main menu, it affects the TGs on the first TG's channel.

  • Main Overlay 1 (default)
    Cutoff, Resonance, ReverbSend, None
    PortamentoTime, Program, Volume, None
    Faders: ChG 1 Vol, ChG 2 Vol, ChG 3 Vol, ChG 4 Vol

  • Effect Overlay 1
    CompressorEnable, ReverbEnable, ReverbSize, ReverbHighDamp
    ReverbLowDamp, ReverbLowPass, ReverbDiffusion, ReverbLevel
    Faders: ReverbSize, ReverbHighDamp, ReverbLowDamp, ReverbLevel

  • Effect Overlay 2
    LimiterEnable, LimiterPreGain, LimiterAttack, LimiterRelease
    LimiterThresh, LimiterRatio, LimiterHPFilter, None
    Faders: LimiterPreGain, LimiterAttack, LimiterRelease, LimiterThresh

  • Main Overlay 2
    Pan1, Pan2, Pan3, Pan4
    Det1, Det2, Det3, Det4
    Faders: TG1 Vol, TG2 Vol, TG3 Vol, TG4 Vol

  • Main Overlay 3
    Pan5, Pan6, Pan7, Pan8
    Det5, Det6, Det7, Det8
    Faders: TG5 Vol, TG6 Vol, TG7 Vol, TG8 Vol

  • TG Overlay 1
    Cutoff, Resonance, ReverbSend, MasterTune
    PortamentoTime, Program, Volume, Pan
    Faders: Cutoff, Resonance, ReverbSend, Volume

  • TG Overlay 2
    MIDIChannel, None, None, PitchBendRange
    PortamentoGlissando, MonoMode, None, PitchBendStep

  • TG Overlay 3
    CompressorEnable, CompressorPreGain, CompressorAttack, CompressorRelease
    CompressorThresh, CompressorRatio, None, None
    Faders: CompressorPreGain, CompressorAttack, CompressorRelease, CompressorThresh

  • TG Overlay 4
    MWRange, MWPitch, FCRange, FCPitch
    MWEGBias, MWAmplitude, FCEGBias, FCAmplitude

  • TG Overlay 5
    BCRange, BCPitch, ATRange, ATPitch
    BCEGBias, BCAmplitude, ATEGBias, ATAmplitude

  • Voice Overlay 1
    ALGORITHM, FEEDBACK, TRANSPOSE, None,
    None, None, None, None

  • Voice Overlay 2
    PITCH_EG_R1, PITCH_EG_R2, PITCH_EG_R3, PITCH_EG_R4
    PITCH_EG_L1, PITCH_EG_L2, PITCH_EG_L3, PITCH_EG_L4
    Faders: PITCH_EG_L1, PITCH_EG_L2, PITCH_EG_L3, PITCH_EG_L4

  • Voice Overlay 3
    OSC_KEY_SYNC, LFO_SPEED, LFO_DELAY, LFO_PITCH_MOD_DEP
    LFO_SYNC, LFO_WAVE, LFO_PITCH_MOD_SENS, LFO_AMP_MOD_DEP

  • OP Overlay 1
    OP_OUTPUT_LEV, OP_FREQ_COARSE, OP_FREQ_FINE, OP_OSC_DETUNE,
    OP_OSC_MODE, OP_ENABLE, None, None

  • OP Overlay 2
    OP_EG_R1, OP_EG_R2, P_EG_R3, OP_EG_R4
    OP_EG_L1, OP_EG_L2, OP_EG_L3, OP_EG_L4,
    Faders: OP_EG_L1, OP_EG_L2, OP_EG_L3, OP_EG_L4,

  • OP Overlay 3
    OP_LEV_SCL_BRK_PT, OP_SCL_LEFT_DEPTH, OP_SCL_RGHT_DEPTH, OP_AMP_MOD_SENS
    OP_OSC_RATE_SCALE, OP_SCL_LEFT_CURVE, OP_SCL_RGHT_CURVE, OP_KEY_VEL_SENS

In the Main overlay you can reach the TG and voice overlays also.
In the voice overlay there is a page for every OP control also, with the 6 operator and with an encoder which sets all.

Pads on Bank A

  • Mono/Poly mode
  • Portamento enable/disable, hard press to enable/disable Portamento Glissando
  • Sostenuto
  • Sustain
  • All Sound Off
  • Hold2
  • None
  • Channel AfterTouch Pad

Pads on Bank B

  • Short press a TG will enable/disable that TG
  • Long press will enable/disable all the TG on the TG's channel
  • Hard press will enable only that TG (it uses the pad's AT messsages)

KeyLab mkII features

Faders

  • The faders adjust the volume of the MIDI channels of the current performance

DAW buttons

  • Mono/Poly mode
  • Portamento enable/disable, hard press to enable/disable Portamento Glissando
  • Sostenuto
  • Sustain
  • Hold2

Track select buttons

  • Short press a TG will enable/disable that TG
  • Long press will enable only that TG

@github-actions
Copy link

Build for testing:
MiniDexed_2025-01-20-f6a9ced
Use at your own risk.

@github-actions
Copy link

Build for testing:
MiniDexed_2025-01-24-63863fe
Use at your own risk.

@github-actions
Copy link

Build for testing:
MiniDexed_2025-01-25-35c35f3
Use at your own risk.

@soyersoyer
Copy link
Owner Author

soyersoyer commented Jan 25, 2025

News:

  • Better KeyLab mkII support
  • Fewer unnecessary display/encoder/pad color updates
  • Uses less power

It turned out that it doesn't work well with the MiniLab 3 firmware v1.2.0. Please use version v1.1.1.

@soyersoyer soyersoyer marked this pull request as draft January 25, 2025 20:11
Repository owner deleted a comment from github-actions bot Jan 25, 2025
Repository owner deleted a comment from github-actions bot Jan 26, 2025
Repository owner deleted a comment from github-actions bot Jan 26, 2025
Repository owner deleted a comment from github-actions bot Jan 26, 2025
@github-actions
Copy link

Build for testing:
MiniDexed_2025-01-26-6ec0833
Use at your own risk.

@Spacepadrille
Copy link

Hello once again thank you for your work. I enjoy a lot my MiniDexed since your arturia mod is there. About the Minilab3 firmware update, can you tell us more ? Do you think it will be solved or do we have to stay with previous version forever ?
Have a nice day

@soyersoyer
Copy link
Owner Author

soyersoyer commented Jan 29, 2025

Hello once again thank you for your work. I enjoy a lot my MiniDexed since your arturia mod is there.

So am I (:

The new version has this feature:

Automated controls are no longer shown on the MiniLab 3 screen unless they are actively adjusted

This blocks all screen Info (Pad, Fader, Encoder) updates if one of the encoders or faders or pads is not in use. And whatever decides what is used is not good yet for MiniDexed.

I have 2 problems:

  • If you long press a pad on Bank B, it won't show on the display what happening after the timeout. (I reported this: https://forum.arturia.com/t/minilab-3-firmware-v1-2-0/6064)
  • If you press a pad in Bank A very lightly (except Portamento and AT), the display does not show what is happening. I found this particularly annoying. This may be because I send the screen update immediately after the NOTE_ON message, not after the NOTE_OFF, so I may be able to fix this.

Okay, the latter has been fixed. Thanks for your question :)

I'll update the description to say that v1.2.0 is just a little bad :)

@soyersoyer soyersoyer force-pushed the sdawdisplay branch 2 times, most recently from 4a7155e to 02ee42b Compare January 29, 2025 15:54
Repository owner deleted a comment from github-actions bot Jan 29, 2025
@soyersoyer
Copy link
Owner Author

I also fixed the former one by displaying it without the image of the pad.

@github-actions
Copy link

Build for testing:
MiniDexed_2025-01-29-b27044d
Use at your own risk.

@github-actions
Copy link

Build for testing:
MiniDexed_2025-01-30-61856cd
Use at your own risk.

soyersoyer and others added 28 commits November 14, 2025 12:30
* Bank 004 Mirage DreamDexed Performances

* Copy performance files to sdcard
Removed UI display write and timer start for network readiness.
This is the same what used in the Makefile
This reduces the power consumption when used in fast=true mode
simplify the CMIDIPin in order to easier to handle dec/inc values
MiniLab 3
Keylab Essential
KeyLab Essential mk3
KeyLab mkII

based on https://github.com/PrzemekBarski/arturia-keylab-essential-mk3-programming-guide

Tested on a Arturia MiniLab 3 and KeyLab mkII

Keylab Essential and Keylab Essential mk3 is not tested
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants