Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for MIDI Fighter Twister controller #1778

Merged
merged 7 commits into from Oct 24, 2018
Merged

Add support for MIDI Fighter Twister controller #1778

merged 7 commits into from Oct 24, 2018

Conversation

ghost
Copy link

@ghost ghost commented Aug 12, 2018

First of all, thanks for awesome project!

black_overhead

MIDI Fighter Twister is a MIDI controller which have 16 push-able knobs with LED.
I made a config for 2 deck use.
This config does:

  • Sync Twister's knob state to Mixxx
  • Sync Mixxx's state to Twister's LED
  • Reset each knob by push it

I'll write wiki page later.

@Be-ing
Copy link
Contributor

Be-ing commented Oct 15, 2018

Hi, thanks for submitting this. I apologize for not responding for a long time. We require documentation on the wiki before merging controller mappings; otherwise it tends to not get written.

From the picture posted here, I suggest switching the positions of the BPM and gain knobs because it's conventional on DJ controllers and mixers to have the channel gain knobs at the top of the EQs.

Please use the rate ControlObject instead of bpm. This will manipulate the tempo fader on screen and you won't need any calculations with rateRange in the JS.

Otherwise, the code looks neat and tidy. Good job 👍

It would be great to map this controller for Mixxx's effects too. This controller has a very similar layout to the Allen & Heath Xone K2 and could be mapped similarly. You may be able to reuse code from the Xone K2 mapping. If you're not interested in working on that, that's okay, it will still be good to have this simple 2 deck mapping.

@Be-ing
Copy link
Contributor

Be-ing commented Oct 15, 2018

Does this work with the default out-of-the-box MIDI settings for the MIDI Fighter Twister or would a user need to load a configuration with the MIDI Fighter settings program? It would be better to use the out-of-the-box MIDI settings because the MIDI Fighter settings program is not available on Linux. I have asked DJTechTools about configuring the settings via MIDI, but that's currently not supported.

@ghost
Copy link
Author

ghost commented Oct 24, 2018

Thanks for the response.
I swapped knob position of gain and BPM, made my code use rate instead of bpm, and wrote a wiki page.

It would be great to map this controller for Mixxx's effects too.

Thanks for the suggestion but I almost never use effects so I leave that job for someone more motivated than me 😣

Does this work with the default out-of-the-box MIDI settings for the MIDI Fighter Twister

Yes

the MIDI Fighter settings program is not available on Linux

Yeah I don't have Windows so very frustrated by that 😫

@Be-ing
Copy link
Contributor

Be-ing commented Oct 24, 2018

Thank you for the update. I realized the volume faders and PFL buttons are not in this mapping, only the crossfader. I think it would be helpful to use the unmapped knobs for these, with pushing them being used for the PFL button.

@ghost
Copy link
Author

ghost commented Oct 24, 2018

That's right. I did it.

@@ -169,6 +169,26 @@
<normal/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>volume</key>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there no MIDI output for these? Or did you forget to add changes to the JS file to your commit?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh I forgot it c219a6a

}),
engine.makeConnection("[Channel2]", "volume", function(value) {
midi.sendShortMsg(cc, 0x0B, linearize(value) * 2);
}),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the PFL button? I think the LED below the volume knob should show the state of that.

@Be-ing
Copy link
Contributor

Be-ing commented Oct 24, 2018

Great, thank you. Could you rebase this on the 2.1 branch so we can include it in the upcoming 2.1.5 release?

@Be-ing Be-ing changed the base branch from master to 2.1 October 24, 2018 16:42
@Be-ing Be-ing merged commit 5cf9910 into mixxxdj:2.1 Oct 24, 2018
@ghost
Copy link
Author

ghost commented Oct 24, 2018

👍

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.

1 participant