(I'm consoldiating these related threads into one.) On 11/19/2015 08:18 PM, RJ Ryan wrote:
> The standards are much lower since there is little risk to doing so. If > we took in C++ patches without review we could cause crashes or actual > damage to the user's computer. The sandboxed environment we run > Javascript in is not capable of this. While it's true that Javascript > can trigger unexpected behavior in Mixxx there is not an effective way > to explore the set of possible inputs a script will provide to Mixxx > without the device in hand. In most cases, a preset is not going to take > down Mixxx. Mixxx crashing is beside the point to someone who has spent $600+ on a controller if Mixxx doesn't even support the controller. Reviewers have been saying for years that the haphazard controller support is one of Mixxx's biggest weak points and not much has been done about it till now. They're not just talking about any support because that is beside the point for someone who spent money on a controller and could use other software that came with the controller and does support it. They're talking about fully mapped controllers with documentation. For example: http://djtechtools.com/2012/08/07/review-mixxx-1-10-dj-software/ "Besides, Mixxx includes a good start on MIDI controller compatibility, with Mixx Certified mappings for 13 controllers — including the Midi Fighter Classic — and community supported mappings for 29 controllers. They would love to have you fill in the blanks by creating a new mapping. *The functionality and quality of documentation among the community-supported mappings varies.* [emphasis mine] I tested Mixxx with the community-supported mapping for the M-Audio Xponent. It was a nice way to resurrect a controller I had mostly placed on the shelf. I was able to control Mixxx almost entirely from the Xponent. With the exception of some browser functions and Sampler Deck control, keyboard shortcuts could make up for what the controller mapping didn’t provide." http://djworx.com/mixxx-1-12-beta-still-free/ "Setting up isn’t as plug ‘n’ play as commercial offerings, either, with mapping options relying on DIY rather than a large existing library of controllers." Including incomplete mappings like the Xponent mapping reviewed above does not change this situation. It's still DIY to get one's hardware to actually work. http://www.digitaldjtips.com/2011/11/review-mixxx-10-1-0-free-dj-software/ "Review Summary: Mixxx is now better than it’s ever been. If you’re an open source enthusiast who knows a bit about Midi, XML and coding in general, you can get involved and adapt Mixxx to suit whatever Midi gear you have, but if you’re just a plug-and-play DJ, unless you have one of the controllers it is already mapped for, *it isn’t going to be of much use to you.* [emphasis mine] ... Midi and mappings But the crucial area where Mixxx still lacks for me is in out-of-the-box Midi control. Mixxx 1.10.0 comes with support of variable quality for a small number of controllers, *but it’s not the ones that are selling well today.* [This was four years ago and the situation hasn't changed much.] Now, it is perfectly possible to produce your own mappings. Indeed there’s a Midi Learn option where you are talked through the various controls to get a rudimentary mapping going in a matter of minutes (I got the Vestax VCI-400 we are currently reviewing partly controlling the software in less than five minutes). But getting your mapping 100% right? That’s harder. Jogwheels are famously the hard bit about Midi mapping, and you need to get your sleeves rolled up and start hacking in order to add this kind of functionality to a custom mapping, using Midi sniffer apps and writing XML. If you thought mapping Traktor was hard, wait until you get stuck into this beast. There’s a friendly user community and an excellent wiki, but plug and play it ain’t, unless you have one of the controllers it natively supports." > None of us are lawyers, so we should not be making decisions about a > legal grey area. I think the legally clearest and safest situation would > be to require mappings to be licensed under the GPLv2 or later and have > mapping authors sign the agreement. > > > I understand your position here. I've consulted lawyers about this. I'd > prefer to not discuss this any further on our public email list. The question of legality isn't my only concern about taking mappings without explicit consent. I am also concerned about the quality of the mapping. If mappers have to submit mappings themselves, I don't think anyone is going to submit a mapping before they feel it is complete and ready. On 11/22/2015 02:22 PM, Be wrote: > 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 > ------------------------------------------------------------------------------ _______________________________________________ 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