On 11/20/2015 10:53 AM, Sean M. Pappalardo - D.J. Pegasus wrote:
> On 11/19/2015 11:06 PM, Be wrote:
>> Also, what devices do people want supported? IMO it is a big problem
>>   that Mixxx lacks much support for popular brands that make quality
>> hardware that is commercially available today. Where is the support
>> for contemporary Native Instruments, Pioneer, Akai, and DJ Tech Tools
>>   controllers?
>
> Supporting newer controllers requires either manufacturer cooperation
> (many of them have their hands tied when they do bundling deals with
> other DJ software,) or funds to purchase the controllers ourselves,
> which we definitely don't have because we have no income stream.

Both of those would be great, but neither are necessary. For popular 
controllers, enough users come by Mixxx interested in a mapping. Soon 
enough one of them has the ability and time to make a mapping. These 
users need to be supported technically and encouraged, which I have been 
doing.

>> ~3/4 mappings in Mixxx are for devices that have been discontinued.
>
> That's due to a number of things 1) the market moves so quickly that
> controllers are discontinued within a year in some cases and 2) a
> majority of Mixxx users are in situations where second-hand controllers
> make the most sense for them, so those are what people create presets for.
> (This latter point isn't a bad thing because people new to Mixxx can try
> it with whatever controller they already have or can get inexpensively.)

The market moving quickly is not an excuse for not keeping up. We can. 
As I mentioned above, people want the latest controllers to work with Mixxx.

I think a majority of Mixxx users are in situations where second-hand 
controllers make the most sense for a few interrelated reasons. It's 
kinda a chicken-and-egg problem. Before I overhauled the wiki this 
summer, it was difficult to tell what Mixxx actually supported, which 
made it confusing and difficult to pick a controller to use with Mixxx. 
So, it's not surprising that many people would get whatever controller 
they could find cheaply and hope it worked. Also, Mixxx has a reputation 
of being just a nice thing to try for beginner DJs without having to 
invest much, so these have generally been the people who came to Mixxx.

I would like to see Mixxx outgrow this reputation. I would like to see 
new DJs coming to Mixxx and staying with Mixxx. I would like to see DJs 
switching to Mixxx from proprietary DJ programs and sticking with Mixxx. 
This requires fully supporting popular middle and high grade controllers 
like the Traktor Kontrol S4 and Pioneer DDJ-SR and DDJ-SX2. With 2.0, 
Mixxx is getting close to outgrowing that reputation in terms of 
features. But I think including mappings without any quality control 
will hold it back.

>> Write the documentation, and people step up to do the work.
>
> While good documentation is indeed essential, our experience with many
> Mixxx users who want to add support for a controller is that they are
> spooked even by the idea of editing an XML file*, let alone working with
> JavaScript, despite the extensive documentation on the wiki which was
> available when the scripting engine was released.
>
> *So often that one person made a lighthearted joke about it:
> http://downloads.mixxx.org/mess/baddudes.gif
>
> In short, the average Mixxx user is not a developer by any stretch and
> has no interest in becoming one. While it's fine to have a
> developer-friendly work flow (i.e. Github PRs) _available_ for preset
> contributors, it cannot be required. There are already too many required
> technical hurdles for non-developer contributors; we certainly can't
> afford to add another.

The XML mapping format is inadequate and any GUI that could be designed 
around it would be too. It may have made sense 8 years ago when MIDI 
controllers designed for DJing were just starting to be made and when 
the M-Audio Xponent and Vestax VCI-100 were decent controllers. But now, 
even cheap controllers like the Mixtrack Pro 3 and Pioneer DDJ-SB2 are 
complex devices designed to have multiple layers of functionality (and 
increasingly the LEDs make use of different colors).

There is no good way to support such devices without a fully featured 
programming language -- unless you think Traktor's maze of mouse-driven 
menus or VirtualDJ's hacky scripting language are good solutions. I 
suspect extending the XML mapping format would bring us closer to those 
messes. I think the best way to move forward with mappings is to make it 
easier to use JavaScript well.

Being free software and the only digital DJ program for GNU/Linux that 
can do anything more than vinyl control, Mixxx attracts plenty of 
technically-inclined people who could program mappings in JavaScript. 
I'm thinking of people like myself who have programmed a few little 
things here and there, may or may not have any formal training in 
programming, and probably don't know JavaScript well or at all. These 
are generally the people who have been making mappings. As evidence, 
consider that many mappings were previously scattered around the web in 
their own GitHub repository (that wasn't forked from mixxxdj/mixxx) or 
on a personal blog. For this group, learning the basics of git is not 
too much to ask. The mapping documentation should be written for this 
audience. It should go out of the way to explain some basic things about 
JavaScript and good coding practices rather than assuming the reader 
understands the example code with minimal explanation.

>
> Remember that Mixxx users are our customers and this (like all
> user-facing items) is a customer service issue. To that end, what the
> average user needs most is a GUI preset creation system that can map
> everything, jog wheels included. (I have plans to make this actually
> happen even for HID controllers.) They are then free to share these with
> us any way they are able, be it Github PR, forum post, E-mail
> attachment, SD card on a carrier pigeon, etc.

As explained above, we shouldn't expect good mappings without coding. 
There is a place for incomplete mappings. That place is the forum. But 
those mappings should not be included in Mixxx. No matter what 
disclaimers we say, if someone buys a controller and tries a mapping 
included in Mixxx but it doesn't really work, or it works in an awkward 
way, that reflects poorly on Mixxx.

On that note, "Community Supported Mappings" has been a misleading term. 
A mapping author continuing to staying involved in the Mixxx community 
and supporting the mapping has been more the exception than the rule. 
Keeping mappers involved is also important for getting input on how to 
improve the mapping system. I don't think requiring mappings to go 
through code review on a GitHub pull request will totally solve this 
issue, but I think it is a step towards keeping mappers engaged. Towards 
that end, I just put a note on the Contributing Mappings wiki page 
encouraging mappers to join the mailing list.

> Again, thank you for your time and interest in improving Mixxx. We
> appreciate the occasional whip-crack to keep the documentation up to
> stuff. (It's important for fellow developers as well as users!)

Thanks for making the only mapping system for DJ software that uses an 
actual programming language. :)

------------------------------------------------------------------------------
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to