Check out the video demo here: https://www.youtube.com/watch?v=eizM4qWioBQ
When I began DJing with Ableton and the APC40 a little over a year ago I had no idea what to use. I stumbled upon a pay template that looked promising. I installed it and began to use it at home and at performances. Sadly, I quickly discovered that it was unstable. Crashes were prevalent despite updates to the software. Adding to this were the built-in advertisements and excessive load times. This was not working as a solution to utilizing Live in a meaningful fashion for DJ performance. I needed something that worked.
I looked all over the web for solutions. I worked on custom remote scripts for the APC40, tried manipulating the MIDI I/O on my computer, and a good bunch of other plugins/templates. I finally found some forum posts and a couple of articles talking about the LiveAPI and access within M4L. More importantly, I found the JS object and then I really got to work. I am a long time programmer and using JS to run M4L and my template was the way to go. I got to work on my APC40 template. I built in everything mentioned in the first paragraph above. It was fast as hell compared to what I had purchased and rock solid stable. Life was good again.
I was pumped to see the APC40 MKII coming out. Ditching the power cable was enough to warrant the upgrade. When it arrived in August I had a few days to get it ready for a wedding I was doing that weekend. I ported everything over and took advantage of the RGB buttons to add some more fun to the template. Life was even better because now I had a newer control surface to run my software with. By now I felt confident in what I was doing to provide my template as a product for sale. I recorded a demo video and posted it online with contact information to get at me.
Stepping On Toes
Within hours of posting the video things went south. A fellow forums member and developer of the aforementioned template e-mailed me. “Disappointment” was sounded that I had been negative about their work, despite not mentioning them by name. We emailed back and forth, a veiled accusation of theft arose, and that was that.
My life went on. I was a little sour about being called out on by a developer I had not mentioned by name. I went back and forth on what to do but kept coming back to open-sourcing my work. I had the opportunity to build a simple device for one of the fellow forum members to make the MKII work the way he needed. It was fun and something I would have loved to have had access to when I was just starting this journey. It was time to release my work and be done with it.
In the past couple of weeks I started frequenting the forum again and looking at M4L threads. Discussions arose where I mentioned my overall disappointment with conventional M4L. At one point the developer-mentioned-above suggested excessive fixes to stability issues and I called them out on their crap template (see the “Any success with oktopush?” thread). I wasn’t going to talk much about my methods to a commercial developer until I had released everything open source, so I kept mum.
Then I received a PM.
I responded back asking which APC40 they were using, I asked for their e-mail but then something stuck out to me. “rude_NHS” is an anagram of “Ned Rush” who is a developer for Isotonik. I replied back that I was uncomfortable sending my code to a commercial outfit. I don’t want to commercial developers a crack at my code before a general release to the community. He let it sit, and then I received a new message:rude_NHS wrote: Hey man. Where can I try out your dj template? I have the isotonik one too but am having the same issues you speak of.
The discussion turned to open sourcing, why we should or shouldn’t, and what I am doing wrong in using their software. By now I felt bad vibes stemming from the “pretending to be someone else to get your template” thing that Ned had pulled initially. I said that we ought to open all of these things up, that we can all collaborate. I suppose my last sentence sent to Ned is my thesis statement:rude_NHS wrote: Just so you know, me and Darren worked on this range for five years. If you've lifted any of my code for a device you making free to the public, then I won't be happy.
That was the end of the conversation.19oclock wrote: My efforts are in direct response to something sold to me that was buggy, a resource hog, contained advertisements (bloatware), and didn't suit my needs. The community deserves better.
I tried to be cool by not mentioning people/companies by name. I’ve received accusations of theft, duplicitous statements by a commercial developer to try and snag code, and dismay that I hadn’t heralded their product a miracle. I’m anxious about all of this. I’m anxious about doing something with a controller that Isotonik doesn’t even develop for. It sucks and I want to take a break from thinking about it.
I don’t know this community that well. I am a musician getting into DJing and electronic music production for fun. I’m sorry if I pissed people off by doing this. If Isotonik works sensationally for others, that’s awesome, but on all of my desktops and laptops it has been a kludge. A kludge of the highest order. It just doesn’t work for me. I need reliability and speed in a live setting.
Once more, I’m sorry if I upset the community or anyone with this. I hope that what I provide can be used as guidance to fellow developers trying to get their controllers to work the way they want. I was prompted to do this by the failings of existing commercial developers. I’m happy for it because I’ve learned a whole lot about coding within the context of Live. It just sucks that I came under fire for trying to do so in the first place.
Thanks to everyone who asked me questions, watched my video, and encouraged me along the way. If anyone has any questions or comments, please let me know.
Please see the download link below. Everything is packaged up in a .ZIP file to include the M4L device, .JS file to go alongside of it, and a quick Word file to explain setup.