Support the Icon P1-Nano controller#14602
Conversation
|
This is sporadically (but not always?) throwing: On startup. I see there were some open issues for this, but maybe not for 2.5? Unclear to me if this is something that it's possible to fix in the controller mapping, looks like a Mixxx bug. See #10967 |
|
Quick ask for whomever reviews this: how would we feel about including an XML file with the distribution that can be loaded with Icon's proprietary tool? Right now the touch screen controls can't be used due to #14651 so as a workaround I could export the XML file used to configure the device and we could mention in the docs that it's in the controllers directory so that if you are on Windows or Mac you could load it at least. It feels weird having a file for some proprietary software in Mixxx though. Maybe it's better to just stick it on the forum thread instead? |
Sounds like a race condition between the CO creation and the controller starting. This CO gets created inside the preference window, which IIRC is created at the end of the init loop, after the controller manager which will start your controller in a thread. This CO will probably have to be moved out to be compatible with QML (Mixxx 3.0) |
It does sound weird, and could even be problematic due to distribution licenses. What would this file be used for? Without context, the forum indeed sounds like a great default place, but depending how this is meant to be used, perhaps we could use an alternative open format? |
The file itself is just XML, it lists all the names of the buttons on the touch screen and can be loaded into their proprietary software to change the button names (and what MIDI parameters they output). Unfortunately due to #14651 we can't actually set these from mixxx itself at the moment. |
|
Before we continue with the review on this, I'm considering making some pretty major changes. Right now each screen shows a parameter (gain, high EQ, etc.) and you toggle through the various decks with the left and right arrows that would select a track in a DAW. However, this means that when you adjust the volume for deck 1, say, the screen on the device changes to the "gain" screen, and when you adjust the volume for deck 2 it changes to the "high EQ" screen. This doesn't make much sense, but the controller expects the volume to be associated with that particular virtual screen (because it thinks they both correspond to a single DAW track). Instead I'm thinking about changing this to behave more like a DAW: the first four screens will each be a different deck and you continue to choose them with the arrows like before. This time however the parameter can be changed by scrolling with some other button (maybe shift + turning the knob? Maybe I know if you don't have this controller this may be a bit hard to follow, but if anyone has opinions I'm all ears! EDIT: went ahead and just tried this and it feels much better to me; works the way you expect a DAW controller to work and in tandem with the built in features of the controller. Still need a use for the rest of the channels, but that can come later and isn't important to start with. This also opens up the option of using the |
|
Any chance of getting this reviewed before 2.5.2 goes out? |
cd725b1 to
d7d5934
Compare
|
Gentle ping on this; any chance @Swiftb0y, @ronso0, or @acolombier want to do a review? This has been sitting for a bit. After this and the Twister stems one are merged this will be my last one for a while, I promise :) |
Signed-off-by: Sam Whited <sam@samwhited.com>
|
@mixxxdj/developers will there be another 2.5 or should this go in 2.6? |
|
Target should be 2.5 ! |
acolombier
left a comment
There was a problem hiding this comment.
Looking good - some optional nit and questions regarding groups. Just waiting for a bit to see if it needs changing but planning to merging as is otherwise!
Signed-off-by: Sam Whited <sam@samwhited.com>
Co-authored-by: Antoine Colombier <7086688+acolombier@users.noreply.github.com>
Signed-off-by: Sam Whited <sam@samwhited.com>
|
As always, thanks for your contribution and for keeping up with our (sometimes) slow review process 😃 |
This adds support for the Icon Pro Audo P1-Nano (and likely the larger P1-X/P1-M, though I can't test that) which (mostly) follows the Mackie Control Protocol (MCU) spec. It may be worth having a generic "MCU Device" script at a later date, that other scripts like this one (with minimum proprietary features) could inherit from, or that would stand alone if your specific device wasn't supported. However, I don't have a way to test that since I only have one controller that uses MCU, so for now it's its own script.
Associated manual PR: mixxxdj/manual#751
Potential future follow ups (or hit me up if you have ideas for some of these):