# Building a MFT control TUI in Go

**URL:** <https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183>\
**Category:** Midi Fighters\
**Created:** [September 18, 2026, 6:38pm UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183 "2026-09-18T18:38:05Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![blackdingus](https://avatars.discourse-cdn.com/v4/letter/b/48db29/32.png) [@blackdingus](https://forum.djtechtools.com/u/blackdingus)\
**Post date:** [September 18, 2026, 6:38pm UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/1 "2026-09-18T18:38:05Z")

</div>

Hi.

I always missed the option to assign the range of CCs to a range of MFT knobs quickly, so I built (with the help of LLM) this TUI that allows to do it.

 ![Screen Shot 2026-09-18 at 21.36.42](https://us1.discourse-cdn.com/flex001/uploads/techtools/original/3X/6/0/60a23b682ee1ebdd2c38cbfd68b95f01ddb6f8e9.png)

> **[GitHub - biomassa/mft-tui](https://github.com/biomassa/mft-tui)**
>
> Contribute to biomassa/mft-tui development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![padi\_04](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/padi_04/32/56291_2.png) [@padi\_04](https://forum.djtechtools.com/u/padi_04)\
**Post date:** [September 18, 2026, 11:12pm UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/2 "2026-09-18T23:12:27Z")

</div>

Nice work! I dig the terminal style too.

Funnily enough something like this is built into the next 3.0 beta coming out next week. I kept it simpler by making multiple edit single step and a direction setting on the encoders/buttons selected. Is that mainly how you’d like it to work or think there is value to having more modes and steps?

 ![Screenshot 2026-09-18 at 8.11.42 PM](https://us1.discourse-cdn.com/flex001/uploads/techtools/original/3X/e/b/eb81be988385435e198bdaf76a1462a89937a991.webp)

---

<div class="post-metadata">

**Author:** ![blackdingus](https://avatars.discourse-cdn.com/v4/letter/b/48db29/32.png) [@blackdingus](https://forum.djtechtools.com/u/blackdingus)\
**Post date:** [September 19, 2026, 1:11am UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/3 "2026-09-19T01:11:19Z")

</div>

Whoa, this is excellent!, many thanks! I somehow just wanted to be able to quickly assign CCs / notes sequentially, that about covers my use cases. Also, in my thingy you can select across banks, which is also something I wanted to do. Well, and keyboard-driven terminal workflow.

BTW, have you considered releasing the color palette definitions under a less restrictive license that would allow distribution? Because this is the reason that stops me from making this repo public.

Again, thanks, appreciate the effort that went into this sortware recently!

---

<div class="post-metadata">

**Author:** ![padi\_04](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/padi_04/32/56291_2.png) [@padi\_04](https://forum.djtechtools.com/u/padi_04)\
**Post date:** [September 19, 2026, 1:16am UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/4 "2026-09-19T01:16:00Z")

</div>

Feel free to make it public, we won’t come after ya. There are also other alternative MFUs people have posted here and on Reddit that are Twister compatible too.

Twister’s firmware license is pending revision to make it more flexible and allow you and others to tweak and build cool stuff to share with others. You are not the only one requesting the change and it is well heard.

---

<div class="post-metadata">

**Author:** ![blackdingus](https://avatars.discourse-cdn.com/v4/letter/b/48db29/32.png) [@blackdingus](https://forum.djtechtools.com/u/blackdingus)\
**Post date:** [September 19, 2026, 1:19am UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/5 "2026-09-19T01:19:52Z")

</div>

> [@padi\_04](#):
>
> You are not the only one requesting the change and it is well heard

excellent news! will do

MFT has turned for me into an irreplaceable, essential tool, and I’m not a DJ at all (i posted here my gesture looper i made for it in Max/MSP that I use in every live performance as well as in studio work daily as a noise / experimental musician). Really, really appreciated.

---

<div class="post-metadata">

**Author:** ![padi\_04](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/padi_04/32/56291_2.png) [@padi\_04](https://forum.djtechtools.com/u/padi_04)\
**Post date:** [September 19, 2026, 1:26am UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/6 "2026-09-19T01:26:50Z")

</div>

Think we’ll play it safe and stick to just selected encoders on the MFU to avoid someone unknowingly wrecking their configuration by changing assignments across banks (it’s a new behaviour vs multi) . Your editor keeps it’s edge there 🙂

---

<div class="post-metadata">

**Author:** ![blackdingus](https://avatars.discourse-cdn.com/v4/letter/b/48db29/32.png) [@blackdingus](https://forum.djtechtools.com/u/blackdingus)\
**Post date:** [September 19, 2026, 1:29am UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/7 "2026-09-19T01:29:37Z")

</div>

> [@padi\_04](#):
>
> Think we’ll play it safe and stick to just selected encoders on the MFU

makes sense! thanks for open sourcing the firmware, this is incredible.

---

<div class="post-metadata">

**Author:** ![blackdingus](https://avatars.discourse-cdn.com/v4/letter/b/48db29/32.png) [@blackdingus](https://forum.djtechtools.com/u/blackdingus)\
**Post date:** [September 19, 2026, 1:43am UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/8 "2026-09-19T01:43:32Z")

</div>

> [@padi\_04](#):
>
> Feel free to make it public

Made it public, edited the 1st post to add the link.

---

<div class="post-metadata">

**Author:** ![rimasinc](https://avatars.discourse-cdn.com/v4/letter/r/97f17d/32.png) [@rimasinc](https://forum.djtechtools.com/u/rimasinc)\
**Post date:** [September 19, 2026, 4:57am UTC](https://forum.djtechtools.com/t/building-a-mft-control-tui-in-go/155183/9 "2026-09-19T04:57:44Z")

</div>

Wow! That sounds good! I worked with MIDI scripts using ClyphX Pro and Python for a while… But I’ve been away from it for a while now. I’m rusty. Excuse my ignorance, but does anything in this new implementation relate to what can be done with the controller in the video? In the video, it’s possible to map the effects of the Roland SP 404 MK2 simply by adjusting the button values ​​with “CC 83” and on button 1, for example: from 0 to 0 to disable, 0 to 6 for the Scatter effect… on button 2, from 0 to 0 to disable and from 0 to 14 for the Tape Echo effect, etc. If this is possible, a user who has an SP and MFT (like me lol) could map 16 favorite effects. And of course, this opens up a universe of possibilities not only with the SP-404 mk2. Controller enthusiasts will love it.

[TOTAL FX CONTROL— SP-404MKII FX MIDI MAPPING #sp404mk2 #dawless #tutorial - YouTube](https://www.youtube.com/watch?v=42UEu-f2ffQ)
