CraftControl is Shipping again
What is CraftControl
CraftControl is a powerful and flexible MIDI controller mapping system that converts MIDI inputs from DJ controllers (like the DDJ FLX-4) into keyboard shortcuts and mouse movements. Perfect for controlling games, software, or any application like Minecraft with your DJ controller!
It comes with a configuration software for Windows.
Why I Made CraftControl
Personally, I made CraftControl because I wanted to create a cool way to use my DDJ FLX-4 DJ controller I got for Christmas. That’s because I currently don’t have that much time to practice, as I’m busy coding, so I can’t really use it as intended.
What changed since the last ship?
Since the last ship I focused on some small changes requested by users. I implemented a auto mapping gfeature for keybinds and improved some of the documentation. I would do more if I had enought time until Flavortown ends. But I really need ~75 cookies to get my dream prices so I hope you like it :D
What Challenges I Faced
I faced some challenges during the development of CraftControl. Especially the mouse control was really hard because Minecraft handles mouse movement much differently than your desktop, which made the development way harder. I had to read the Minecraft source code to see how they do it, but still couldn’t figure out a perfect way. But figuring out a way is better than not figuring out a way, so that’s a win even if it’s not perfect. One challenge since the last ship was getting the click feature for opening the auto-binding window from the MIDI logs to work.
But in the end, I got everything working exactly the way I wanted it to.
What I Learned Building This
During building the project, I learned how MIDI messages work and how to write efficient code to bind every input type to specific actions with different requirements. In this specific ship, I learned how to use tags in CustomTkinter.
Future Possibilities
I think the project is finished for now, but there are always ways to improve it. So I think in the future I could make the UI more intuitive or implement a Minecraft mod for this, as it would probably solve the mouse movement problems.