BU16 idea to use with EN16

I have an EN16 on the way and I want to use it alongside a BU16 I got a while ago. I’m wanting to use them together with a Digitakt 2; here’s the idea:

Press a button on the BU16 to have the 16 encoders on the EN16 map to specific CC’s, for example, the 16 volume faders on the Digitakt 2.

Could this be a possibility? I think it would open up the Digitakt in a performative way with the new fx per track.

Currently, it’s not possible to communicate in this fashion between modules.

The modules do have 4 pages though. You could most certainly map 4 different pages of parameters and use the utility button to flip between them. Keep in mind that when you change pages on one module, all modules change pages.

I have a DTII coming in this week. If you wanted some ideas on how you could leverage either of those Grid devices for the DTII, I’m happy to give you some ideas. I’ve had a DT and DN for a number of years and I’m currently using an EF44 and PO16 to control the DN in some wild ways!

I won’t say no to an idea or ideas so that would be great. I should get mine tomorrow but in the meantime I’ll take a tour of the editor and possibly drum up an idea or two to use the BU16.

Thanks for your help!

1 Like

I have surgery tomorrow morning so I’ll be radio silence for a couple of days. DTII will be in at some point this week. I’m hoping to dig in to things while I have reduced work stuff to do :slight_smile:

I’ve been thinking about it, could the EN16 do what I was aiming for? Example: press an encoder and it recalls mapped CC’s to each encoder.

That could create several “pages”, seems to keep things neat and compact with even more control.

Side note: got my Digitakt 2 in today :slight_smile:

Side note 2: the magnets click and hold well against the ‘Takt :slight_smile:

You can approach the CC recall from different ways. I’ll share one.

If you don’t have too much CC pairs to recall, you can use nested lua tables to hold the cc values.

ccs = {
{ 22,33,44 },
{ 11,15,32 }
}

Then upon a button press, you can set a global variable like active_table and set it to either 0 or 1 with a toggle.

-- set button to toggle first!
if self:button_value() > 0 then
active_table = 2
else
active_table = 1
end

Then on each encoder in the locals for example, you can reference the active cc table, like this:

cc = ccs[active_table][self:element_index()+1]

The +1 after the element index reference is required, as lua indexes tables starting with 1.

You can apply this code with small modifications onto the side utility button as well.

2 Likes

This would work out just fine! I won’t add to it other than the basic code (slowly getting to know Lua coding); it would simply recall the level fader CC’s or fx params. I’ll give this a try and let you know how things progress… I’m excited to see how this pams out!

Just to add to this: regarding too many CC’s being recalled, could all 16 be possible?

How many sets of 16 are you hoping to be able to recall/toggle? If you’re looking to toggle two sets of CC mappings on one page then I ‘think’ you’re only limited by character count in your LUA script (399 per element). If you’re wanting to do multiple pages of CC mappings then, you’ll probably approach things a bit differently.

In both cases, you would want to store the current encoder values so that when you toggle between the two sets, the previous values are remembered. I’m confident both scenarios could be accommodated (Sets of CCs toggle on one page or pages of CC mappings). It just depends on which approach you want to take.

How I would probably approach things would be to have 4 pages of static CC mappings. I would then use the bottom 4 encoder button presses to change pages. I believe this is possible. The Utility button just cycles through the pages, IIRC, so you would have to cycle through pages to get back to where you want. Being able to select a page directly with a button press would be much better.

Things that I would want to script would be:

  • On page select button press, store all encoder values in a table then change to selected page.
  • On page change, recall values from that table and assign to encoders.

This would prevent parameter jumps from the Grid side of things. You would be able to paginate through the module and not worry about parameter jumps.

While I’ve not done this myself, I believe I’ve skimmed enough docs/forum posts to ‘think’ this could all be done.

Love the detailed approach and suggestions dude, much appreciated. After fiddling with the encoders and testing out a couple of scenarios, I think I might prefer the PBF4, especially from a performative point of view.

I will deep dive into it more when I get the new controller in but for now, Digitakt 2 time!

1 Like