Schooling that will get me started toward Max4Live and similar
You are Unregistered, please register to gain Full access.    

Music Scene Chat Discuss everything music scene & industry-related here.

Thread Tools
Old 27-09-2016, 02:33 AM   #1
Knob Twiddler
Dhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MCDhji is a savage MC
Dhji's Avatar
Victoria, BC
Posts: 235
MC Status: 66696
Thanks: 94
Thanked 25 Times in 18 Posts
Schooling that will get me started toward Max4Live and similar

Ive been trying to decide on what to take in school and I ran into this conversation in my thread and I decided I would be interested in this since anything code related I know can be done in my jobs which require that.


I am wondering if THIS course is the direction to take to go toward doing what these guys are talking about:

Heres the conversation:


Realising that my max for live DJ app for grid controllers has grown beyond the original scope. I've been using it for chopping and mashing up samples on a few gigs, as well as straight DJing. Also thinking I'd like to be able to chop and mess with more than one sample at a time, and the way I've laid it out is pretty specific to me. So, I've started building an interface where you can lay out the controls how you like, depending what you're doing. Then be able to preset, save and recall the layouts.

Content visible to registered users only.
Buttt it's starting to feel like my brain is going to explode, and that Max probably isn't the best option for the internal code. Thinking I'm going to have to put some serious time into javascript, get back on codecademy and get refreshed. Help me javascript gods!

Another guy:

Iunno if Javascript is the right way to go, isn't scripting in ableton python based?


the MIDI Remote Scripts are written in Python. but there's no easy way to have a user interface for them. you'd have to include an OSC library and then use an external app or max for live device to talk to the python script. they're also not so easy for the user to add into Ableton, at least not as easy as dragging a Max for Live device onto a track.

you can still access nearly all the same API functions through the Max for Live API (which just talks to the python API), and use the [js] object within Max to access the API in Javascript.

all the API stuff I've built already, and I'd like the UI to be a Max for Live device. many benefits in the way the UI objects save their values with the Live Set and allow you to create device presets.

it's really just the nature of coding in Max when doing data processing. some of this UI stuff, dealing with button presses and sending a display to the controller LEDs seems like it'd be much easier to program in a more object oriented way. so i'm thinking doing it in Javascript using the [js] object is the way to go.

but getting familiar with javascript and as comfortable as I am programming in Max is going to take some time. I guess the question is will it take longer to do it all in max (fighting against the Max programming paradigm), than do it in javascript while learning? and will it be beneficial to learn in the long run, so I don't hit stumbling blocks like this so often?

Another guy:

Hmm I would've thought you could script stuff for the GUI in it? You should be able to play around with what the user sees in ableton? Although debugging is a different ballgame, live is definitely easier for that. I would've thought doing stuff directly with python rather than with live/or js to parse to python would be cleaner but that's just how I see it. I haven't done any scripting for ableton, only heard of a few people doing it.

I would recommend learning JS over doing it in live - as it's always good to learn new skills and your live chops must be insane by now! so good to try something else. Although JS is still a wild west for programming, it's still transferable. I think you would get a real kick/enjoy doing some C++/openframeworks/using maximilian. Processing is a fun starting point for that and I have a lot of resources if you're ever interested.


unfortunately no MIDI Remote Script has a GUI. definitely none of the ones included with Ableton. i'd assumed there was a reason for that. and there'd be no clear way to open and close the GUI. unless you talked to it through OSC or network protocol from another app or max for live device. or included a library to observe the keyboard and hardcoded a key command. it may be possible you could include a GUI library in the Python script and open it up by pressing a button on a controller. it's one of the things that puts me off them. no way to change functionality or layout on screen for more advanced editing.

unfortunately you get little control over what the user sees in ableton through the API. apart from switching between the native views, zooming and resizing them. no way through the API to open a dialog window or floating window. the only option for that, and for GUI that mimics Live's, is using max for live and the included [live...] gui objects. opening subpatchers as floating windows.

the max for live api does talk to the python api. but i don't think it adds much if any overhead, in terms of processing time or responsiveness. also using javascript i think the syntax is relatively similar to writing a python script to do it. i mean the language would be different but i don't think it's more verbose or difficult. from what i've read i probably would prefer writing things in python, purely in terms of the language.

i think i may dive into openframworks one day, and would likely enjoy the challenge... but i haven't found a need in anything i've done yet. especially as all of it is tied to Live in some way. partly because I don't think I'd enjoy trying to program a whole audio engine and GUI. just piggyback on top of Ableton's work and add the extra things I want ehehh.

i think it'd likely have to be some kind of audio-visual project. or something quite interactive musically, using sensors, kinect etc.

offer of resources and help much appreciated! hope that day will come sometime soon

Another guy:

Damn ok I would've thought you could script to and from parts of ableton including the GUI elements. All of the scripting/API feels pretty secretive eh, had a look around but there's not enough info on it. Shame.

Yeah it's more of removing unnecessary layers, although if there's so little on the python API it'll be much more enjoyable doing it in JS. It's also hilariously flexible (sometimes one can make mistakes somewhere and it'll compile and you won't know where it's fucking up but it'll do it's thing in a weird way and you'll be scratching your head ).

Cool, yeah it's plenty fun for visual stuff. Next time i'm in Bristol will bring laptop and can have a hack day if you're interested


yeahhhhhh. i think they did a really good, progressive thing in opening up some of the program to an API. but i really do want full access to everything, and it can get frustrating ehehh. and maynneee wait till you try and do anything with the Control Surface side of the API. like discovering what controllers are connected, or slightly altering or expanding the behaviour of a Launchpads python script. completely undocumented. head banging against walls trying to work out functions and what the arguments to a function are. i really think it's just a time thing though, they are trying to push it, but don't have the resources at the mo.

my one reason for wanting to do some stuff in python is that they haven't allowed access to everything in the python api to the max for live api. for example on the Push controller (using the python API) you can scroll through the Live Browser, load clips/samples onto track clip slots or into Simpler/Sampler midi instruments. you can't do that through Max for Live. so there's no way in my DJ device that you could scroll through the Browser, full of your tracks, and press one button to load it onto a track, "Deck A" or "Deck B". so you can't yet mimic the behaviour of Traktor, Serato or CDJs in that way. you also can't set, delete or change Warp Markers. which would be very handy for visualising CuePoints or Loop points. like you have on CDJs.

yeeee, living with Kate now, and got Andy over at the mo. welcome to crash on the couch anytime .

Another guy:

I wonder if it's a case of thinking that max users didn't want too much of djing paradigms/they thought of it more as instrument or effects building? Max was never known for sequencing stuff per se. Differing expectations maybe? Shame. Aha yeahhh I know alllll about headbanging against undocumented APIs. Many hours spent googling trying to find someone somewhere that has the missing piece of the puzzle.

Fo' sure will have to crash on the couch at some point Need to have a plot and see if I can make another Bristol trip this year.

Another guy:

aye yeah -


Originally Posted by Jaded View Post
I don't know either man. I kinda feel like things are heading towards talking about our feels...
Originally Posted by Blingley View Post
So, this is the time to confess my unrequited love for Dhji?
Dhji is offline   Thanks Reply With Quote

Thread Tools

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
hey (q about max4live) Harry Crishna Introduce Yourself 1 28-10-2015 05:51 PM
Max For Cats - OSCiLLOT (Max4Live Modular Synth) Blingley The Studio 13 10-02-2015 05:17 PM
Max4Live devices .at/on Modular software & programming 17 28-09-2013 06:47 PM
Max4Live devices professurreal The Studio 17 26-05-2013 06:06 AM
max4live - jitter feedback question. aerodynamiks Modular software & programming 1 11-03-2013 10:31 PM

All times are GMT +1. The time now is 03:22 PM.

Electronic Music Forums

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc.