is there a list of good M4L development resources?

Learn about building and using Max for Live devices.
Post Reply
slow.robot
Posts: 188
Joined: Thu Feb 18, 2021 2:06 am

is there a list of good M4L development resources?

Post by slow.robot » Mon Mar 29, 2021 5:20 pm

I saw a post in here that mentioned a sticky with resources—did that list/post get taken down or moved?

just bought Suite and interested in seeing what I can do in Max, but not sure where to find the best information. I’ve come across some excellent stuff on youtube, but it would be cool if someone could point me in the direction of a centralized listing of widely-used resources.

[jur]
Site Admin
Posts: 5272
Joined: Mon Jun 01, 2015 3:04 pm
Location: Ableton

Re: is there a list of good M4L development resources?

Post by [jur] » Mon Mar 29, 2021 5:33 pm

Hmm, there used to be a sticky but it's not there anymore...
I need to investigate this.
But for now I'd suggest you to follow the Max built-in tutorials. It's essential to understand Max's basis before going into M4L. They're all very good, fun, and use patches as examples so it's quite "interactive". IMO that's the best 1st ressource to use when starting with the soft.
Do all the Max one's and you should be able to start working with M4L.

Good luck ;-)
Ableton Forum Moderator

slow.robot
Posts: 188
Joined: Thu Feb 18, 2021 2:06 am

Re: is there a list of good M4L development resources?

Post by slow.robot » Mon Mar 29, 2021 11:04 pm

[jur] wrote:
Mon Mar 29, 2021 5:33 pm
Hmm, there used to be a sticky but it's not there anymore...
I need to investigate this.
But for now I'd suggest you to follow the Max built-in tutorials. It's essential to understand Max's basis before going into M4L. They're all very good, fun, and use patches as examples so it's quite "interactive". IMO that's the best 1st ressource to use when starting with the soft.
Do all the Max one's and you should be able to start working with M4L.

Good luck ;-)
ha, thanks, it's definitely going to be an uphill slog. I do have a bit of a technical background, but it's in software configuration, not programming. that's a good tip to check out Max first--I wouldn't have thought that, so glad to hear that suggestion before I get too far along. I'll definitely be checking out the tutorials section. thanks!

Angstrom
Posts: 14921
Joined: Mon Oct 04, 2004 2:22 pm
Contact:

Re: is there a list of good M4L development resources?

Post by Angstrom » Mon Mar 29, 2021 11:40 pm

[jur] wrote:
Mon Mar 29, 2021 5:33 pm
But for now I'd suggest you to follow the Max built-in tutorials. It's essential to understand Max's basis
While this is true I found the Max tutorials to be exceptionally dry and "low-level" to keep my interest.
Of course, they are vital to understand the basis of the IDE, but

CONTENTIOUS OPINION: THE MAX TUTORIALS PUT OFF MOST LIVE USERS

I feel they are entirely wrong for the majority of users. I feel that for a certain subset of Max Users the tone is exactly right, so they cannot see the problems of the tutorial. The old "left brain / right brain" model. Sometimes we want to make music , not make code. Some users cannot code, it's just not in them - they don't desire it, it's not innate.

If you love a bit of variable typing, or enjoy plotting in radians you will not see the problem with the "introduction to Max".

If variable typing, arrays, dicts, booleans all taste like a mouthful of castor oil ... you will never learn Max through the official tutorials.


ANALOGY TIME
Lets imagine a Person, a hypothetical human "wants to make a video game".
We could assume that this person has an interest in information technology, has a good grasp of mathematics and an innate understanding of algebra, and perhaps a passion for learning programming languages.
If we, ourselves, make video games then that would be our background and aptitude, and we might assume that about anyone approaching the topic. We assume we are similar.
Based on that supposition we start to talk about definitions of objects, inheritances, variable typing, etc. That's lesson 1,2,3 ...

But what if we supposed wrong. What if the user was not really that type of person? Not a person who takes Python classes on the weekend for fun. What if the person actually is an art-kid, a bit dyslexic, and their uninformed idealistic hope that they could "make a game" might be ill suited to coding and more suited to a hands-on, more Lego-like "game builder" app?

Our crucial mistake was in pre-supposing.
The correct answer for this person might not be about variable typing, it might be better to say to them : "Have you tried Game Salad, or Build Box?"

ANALOGY ENDS

Lets assume that 70% of people using Live are not taking Python classes for fun, have never been curious about encapsulation or instantiation. lets imagine that 70% of Live users want to make "a dope kick drum synth" or "Like, some kind of like massive drop"

Lets see what the first lessons our friend is presented with.

  • Hello — Creating objects and connections
  • Bang! — The bang message
  • Numbers and Lists — Types of data in Max
  • Metro and Toggle — Creating automatic actions
  • Message Ordering — Debugging program flow
  • Simple Math — Performing calculations
  • Numerical User Interfaces — Sliders and dials
      Keyboard and Mouse Input — Working with standard input interfaces
      Mouse Drawing — Introduction to drawing
      Random Drawing — Working with random numbers
      Procedural Drawing — Creating procedural code
      Movie Playback — Introduction to video playback
    ... list continues never once using the word "Phat" or "Bangin"


    Now, if you are a fan of programming, and you have a certain way of analytical thinking then this is all very engaging and captivating. You cannot see the problem here if this is the logical route to "programming a video game" and one which came naturally to your own passions.

    But to many users they are being asked to learn about debugging and "using standard interfaces" and "working with random numbers" with massive dissatisfaction. For a user who wants to create "beats" and has no interest in "procedural code" this is a meal of tasteless interminable gruel.

    Now me, I can code (badly), but I've done it for years - and I found the tutorials interminably dull and not relevant to my needs. I found them frustrating. They killed my musical vibe. They are not "how to make music" tutorials so as a person with a use case of "make music" they went on and on without any hint of satisfaction to that aim.

    Use Case: user wants to make a synth sound
    Use Case: user wants to connect a macro to another track
    Use Case: user wants to snapshot mixes

    Now look at the Max Tutorials table of contents tell me how moist that desert is.


    thank you for attending my TED talk
    Last edited by Angstrom on Mon Mar 29, 2021 11:53 pm, edited 1 time in total.

    slow.robot
    Posts: 188
    Joined: Thu Feb 18, 2021 2:06 am

    Re: is there a list of good M4L development resources?

    Post by slow.robot » Mon Mar 29, 2021 11:52 pm

    Angstrom wrote:
    Mon Mar 29, 2021 11:40 pm
    [jur] wrote:
    Mon Mar 29, 2021 5:33 pm
    But for now I'd suggest you to follow the Max built-in tutorials. It's essential to understand Max's basis
    While this is true I found the Max tutorials to be exceptionally dry and "low-level" to keep my interest.
    Of course, they are vital to understand the basis of the IDE, but

    CONTENTIOUS OPINION: THE MAX TUTORIALS PUT OFF MOST LIVE USERS

    I feel they are entirely wrong for the majority of users. I feel that for really big fans of Max the tone is exactly right, so they cannot see the problems of the tutorial

    ANALOGY TIME
    Lets imagine a Person, a hypothetical human "wants to make a video game".
    We could assume that this person has an interest in information technology, has a good grasp of mathematics and an innate understanding of algebra, and perhaps a passion for learning programming languages.
    If we, ourselves, make video games then that would be our background and aptitude, and we might assume that about anyone approaching the topic. We assume we are similar.
    Based on that supposition we start to talk about definitions of objects, inheritances, variable typing, etc. That's lesson 1,2,3 ...

    But what if we supposed wrong. What if the user was not really that type of person? Not a person who takes Python classes on the weekend for fun. What if the person actually is an art-kid, a bit dyslexic, and their uninformed idealistic hope that they could "make a game" might be ill suited to coding and more suited to a hands-on, more Lego-like "game builder" app?

    Our crucial mistake was in pre-supposing.
    The correct answer for this person might not be about variable typing, it might be better to say to them : "Have you tried Game Salad, or Build Box?"

    ANALOGY ENDS

    Lets assume that 70% of people using Live are not taking Python classes for fun, have never been curious about encapsulation or instantiation. lets imagine that 70% of Live users want to make "a dope kick drum synth" or "Like, some kind of like massive drop"

    Lets see what the first lessons our friend is presented with.

    • Hello — Creating objects and connections
      Bang! — The bang message
      Numbers and Lists — Types of data in Max
      Metro and Toggle — Creating automatic actions
      Message Ordering — Debugging program flow
      Simple Math — Performing calculations
      Numerical User Interfaces — Sliders and dials
      Keyboard and Mouse Input — Working with standard input interfaces
      Mouse Drawing — Introduction to drawing
      Random Drawing — Working with random numbers
      Procedural Drawing — Creating procedural code
      Movie Playback — Introduction to video playback
    ... list continues never once using the word "Phat" or "Bangin"


    Now, if you are a fan of programming, and you have a certain way of analytical thinking then this is all very engaging and captivating. But to many users they are being asked to learn about debugging and "using standard interfaces" and "working with random numbers" with very little feeling of satisfaction.

    Now me, I can code, badly, but I've done it for years - and I found the tutorials interminably dull and not relevant to my needs.

    Use Case: user wants to make a synth sound
    Use Case: user wants to connect a macro to another track
    Use Case: user wants to snapshot mixes

    now look at the Max Tutorials table of contents tell me how moist that desert is.


    thank you for attending my TED talk
    :lol: love that. and very good points. luckily (for me), I'm somewhere in between. I've managed to wedge myself into the gray area between artistry and technological curiosity, so I do take some amount of analytical interest in that sort of thing. but I also manage to find a bit of boredom there as well. thankfully, my interest in creating cool/useful stuff is usually greater than the boredom, and I don't mind smashing my skull into the wall a bit, until I manage to figure something out. those proverbial a-ha moments are usually pretty worthwhile, for me. :)

    [jur]
    Site Admin
    Posts: 5272
    Joined: Mon Jun 01, 2015 3:04 pm
    Location: Ableton

    Re: is there a list of good M4L development resources?

    Post by [jur] » Tue Mar 30, 2021 1:21 am

    Angstrom wrote:
    Mon Mar 29, 2021 11:40 pm
    If you love a bit of variable typing, or enjoy plotting in radians you will not see the problem with the "introduction to Max".

    If variable typing, arrays, dicts, booleans all taste like a mouthful of castor oil ... you will never learn Max through the official tutorials.
    I have no maths, computer or any scientific background at all, english isn't my native language, was never interested in learning code or nerdy things but as a Live addict I couldn't resist learning M4L when it came out. I can assure you that the Max tutorials were the best learning ressource for a non-scientific brain like mine.

    But I know your opinions about the topic and I always love to read them and they are valid... if you want to agree with them :wink:
    Ableton Forum Moderator

    Angstrom
    Posts: 14921
    Joined: Mon Oct 04, 2004 2:22 pm
    Contact:

    Re: is there a list of good M4L development resources?

    Post by Angstrom » Tue Mar 30, 2021 1:42 am

    [jur] wrote:
    Tue Mar 30, 2021 1:21 am
    Angstrom wrote:
    Mon Mar 29, 2021 11:40 pm
    If you love a bit of variable typing, or enjoy plotting in radians you will not see the problem with the "introduction to Max".

    If variable typing, arrays, dicts, booleans all taste like a mouthful of castor oil ... you will never learn Max through the official tutorials.
    I have no maths, computer or any scientific background at all, english isn't my native language, was never interested in learning code or nerdy things but as a Live addict I couldn't resist learning M4L when it came out. I can assure you that the Max tutorials were the best learning ressource for a non-scientific brain like mine.

    But I know your opinions about the topic and I always love to read them and they are valid... if you want to agree with them :wink:
    Then perhaps it's better to say that some people are motived differently.
    When I was at school and they tried to teach me differential equations I asked "what will I use this for?" .

    I think the Max tutorials would benefit greatly from some persistent context, for people like me who require context to maintain interest.
    I would have done the same tutorials the other way, from the opposite direction.

    How I would prefer the tutorials

    Lesson 1: "Trigger a note": Here's an object with an inlet, don't worry about that object just yet. Instead add a "bang" object and click it. You learned: Bangs trigger things, like sounds.

    Lesson 2: "Trigger different sounds": Here's an object with an inlet, don't worry about that object just yet. Instead add a "bang" object and an Int object. fiddle with the Int. press the bang. You hear different sounds. You learned: Ints can select things, they send Bangs, Bangs trigger things, like sounds.

    Lesson 3: "repeat a sound" : Here's our object with an inlet again, we have our int and our bang, now lets add a Metro to repeatedly press that button for us. Lets add another metro to increment the Int. You learned: Metros repeat stuff, etc.

    etc.

    This is contextual learning.

    Myself I learned Max contextually, but there are very few tutorials which approach it from that direction. Based on use, rather than abstract. Consequently my knowledge has holes in which i then attempt to fill by later going back through the reference material.

    They say it's better to learn a language by living in the country and trying to buy bread, rather than sitting in a room trying to memorise declensions.

    I feel the documentation would be better focusing on buying a loaf, rather than the abstract concepts behind bakery.

    pottering
    Posts: 1800
    Joined: Sat Dec 06, 2014 4:41 am

    Re: is there a list of good M4L development resources?

    Post by pottering » Tue Mar 30, 2021 7:11 am

    I agree the Max (and M4L) tutorials need a bit of love.

    There is this historical separation between Max, MSP and Jitter (and further separation with Gen, M4L, MC, etc.), with the older tutorials kinda ignoring the existence of newer stuff (the Max is the oldest, and ends up being very dry, like others remarked). They have completely separate tutorial sections.

    A new user won't even understand why there are Max, MSP and Jitter sections there, and seems there isn't any basic "Start Here" overall tutorial to tell the user why.

    Rewriting everything from zero seems like too much amount of work for a small company like C74 (Ableton is not as big as people think), so I kinda understand why they leave some of the teaching work for the community, but IMO they could at least make a few new intro tutorials that start from the premise the user has access to all of Max, MSP, Jitter, etc. (plus M4L but minus MC/Gen for Ableton-related tutos), instead of those Max-only, MSP-only, Jitter-only tutos.

    Having said that, the amount of learning stuff inside and outside Max is mindboggling, Reference (written documentation) AND Help (actual example patches you can use and copypaste from) AND video tutorials, dozens of Examples in Help menu, more examples in the Extras menu, then more examples in the Paste From context menu (when you right-click the background), C74's own forum in addition to this Ableton forum, active reddit and facebook communities for Max and Jitter (again, besides the Ableton ones), other related forums like IRCAM and Lines, etc.

    I think the Kadenze course (for learning Max) and Ableton's Building Tools Pack (for copypasting stuff to save time when dealing with the LOM) are good starting points.

    https://www.kadenze.com/courses/program ... -arts/info

    https://www.ableton.com/en/packs/max-li ... ing-tools/

    https://help.ableton.com/hc/en-us/artic ... -resources

    https://docs.cycling74.com/max8/vignett ... _resources
    ♥♥♥

    Post Reply