Live data from Hacker News

Ableton Extensions SDK

ableton.com

71–80 of 104 posts

Re: Ableton Extensions SDK

#71

Wish we could get some native compatiblity with Linux. The closest I've gotten on NixOS was with Bitwig, with a simple compatability script I wrote: https://github.com/ArikRahman/Nixwig

Bitwig has native Linux builds though? Should be very easy, last time I tried it, it was literally click-and-play basically. Ableton is another beast altogether, and I've also been trying to get it running for years at this point, no end in sight. Last time I tried, after being recommended https://github.com/BEEFY-JOE/AbletonLiveOnLinux (now sadly archived), I managed to get the actual UI to render and be interactive…

Yes Bitwig is simple. Getting it to work on Nix took the slim layer I made.

Re: Ableton Extensions SDK

#72
post #56

Wish we could get some native compatiblity with Linux. The closest I've gotten on NixOS was with Bitwig, with a simple compatability script I wrote: https://github.com/ArikRahman/Nixwig

Bitwig 6 works out of the box on NixOS unstable.

I see it on Nixpkgs, excited to try it out. I hope Wayland compatiblity on tiling manager works, I had to use some workarounds previously.

Re: Ableton Extensions SDK

#73
post #70

The have it buried in the FAQ, but that's pretty much the interface for AI. And a really good one. You can use it with just your old human intelligence, but then you can also get help if coding isn't your thing. Biggest issue with having something so easy to work with is the huge amount of extensions we will be getting, which makes it harder to find the jewels. Also wondering if we will get extensions for Abelton Mov…

Got some links to the Move hacks?

Re: Ableton Extensions SDK

#74

Earlier quoted context omitted.

I need to check this out, I bounced off Max 3 times now because I find the GUI approach so tedious

Max itself can be manipulated through JavaScript. You can dynamically create and connect objects in it, set scheduler tasks, etc. Max goes a lot deeper than wiring some GUI boxes together. Have a dig around here: https://docs.cycling74.com/apiref/js/

There's a big caveat there though that is widely misunderstood. Max has separate scheduler and UI threads. JS only runs in the UI thread, and thus cannot be used for reliable timing tasks - timing will seem to be ok until there is load and than the UI thread timing is out the window.

One of the main reasons I wrote Scheme for Max (S4M) was to enable tightly timed scripting. You can pick which thread an S4M instance runs in, and each instance is totally isolated, which is very different model from the Max js objects (including the new V8) one. Those are global and only in the UI thread. S4M works very well for this, I use it in Max for Live and can get it synchronized perfectly underload with other sequencers.

I started scripting max with JS and built Scheme for Max after banging into its limitations. My typical workflow is a mix of Max, Csound in Max, Gen and Scheme, with the fast majority of the work happening in Scheme.

Re: Ableton Extensions SDK

#75

Earlier quoted context omitted.

Max itself can be manipulated through JavaScript. You can dynamically create and connect objects in it, set scheduler tasks, etc. Max goes a lot deeper than wiring some GUI boxes together. Have a dig around here: https://docs.cycling74.com/apiref/js/

There's a big caveat there though that is widely misunderstood. Max has separate scheduler and UI threads. JS only runs in the UI thread, and thus cannot be used for reliable timing tasks - timing will seem to be ok until there is load and than the UI thread timing is out the window. One of the main reasons I wrote Scheme for Max (S4M) was to enable tightly timed scripting. You can pick which thread an S4M instance r…

Well, it's obviously not intended for realtime 'live coding', but as an answer to the problem of dealing with the GUI and manually cabling a patch up it suffices, though it does help to be fairly conversant with the basics of Max to begin with. For instance I've used JS to auto-populate a patch where the number of abstractions isn't known in advance and may need to change, with each abstraction then getting its own settings passed as generated arguments. It could be a nightmare cable spaghetti patch but JS made it end up very neat and tidy.

IMO there are far better options for realtime code-generated music. Max does what it does well, and shoehorning in interrupt level scheduling for scripting on top is out of scope for its remit.

Re: Ableton Extensions SDK

#76

Earlier quoted context omitted.

Max/MSP has always been a paid tool. There was never a situation when you were going to be able to participate without paying. This sounds a little like you're complaining that you cannot watch all of the free Youtube content because you don't want to pay for the device that will display it.

That is... not a good analogy at all. What it is, though, is a misguided attempt to move the goal posts on what I actually said, which is that a huge amount of the value of Ableton is gatekept behind paid addons. If a DAW was structured like Blender or KiCAD and designed from the ground up to be extensible (or minimal!) then you wouldn't have any impetus to try to shame people who haven't paid a gate toll to execute…

Agreed. It's not a great analogy.

I'm annoyed because you keep referring to the cost of a license as "gate-keeping" or somehow "hiding away" your ability to use the software. Pay the cost for a license or don't. It's a reasonable price for the tools.

> I don't own Max for Live, so the large ecosystem of useful tools that I'd enjoy trying out is unavailable to me. t's not about special powers, just being forced to pay the gatekeeper to the otherwise free/OSS ecosystem.

You seem mistaken about Max/MSP being free or open source, which it has never been. Certainly not in the last eighteen years since I've been using it.

You seem to be saying that it would be a whole lot nicer if Ableton were an open source tool that we didn't have to pay for and could develop ourselves. Maybe that WOULD be an improvement in some ways. It would at least be free. A lot of things might be better. Some things not so much.

But it's not. Live is a paid product. And so is Max/MSP. And I'm very happy to continue paying these developers to keep doing a great job because they make tools that are tremendously helpful to me and they don't abuse that relationship with things like monthly subscriptions or unreasonable restrictions. In many ways Ableton is a model company that is self-governed and largely free of outside influence like private equity. I want them to succeed and I want more companies like them to thrive.

-----

There is a free and open-sourced alternative to Max/MSP: Pure Data. If you think open-sourcing this type of software is such a great idea, then you should develop in Pure Data instead of Max/MSP. There are probably open-sourced DAW projects out there too that you can integrate into as well.

Maybe then you'll realize that Live and Max/MSP's asking price is not so high after all.

Re: Ableton Extensions SDK

#77

Earlier quoted context omitted.

There's a big caveat there though that is widely misunderstood. Max has separate scheduler and UI threads. JS only runs in the UI thread, and thus cannot be used for reliable timing tasks - timing will seem to be ok until there is load and than the UI thread timing is out the window. One of the main reasons I wrote Scheme for Max (S4M) was to enable tightly timed scripting. You can pick which thread an S4M instance r…

Well, it's obviously not intended for realtime 'live coding', but as an answer to the problem of dealing with the GUI and manually cabling a patch up it suffices, though it does help to be fairly conversant with the basics of Max to begin with. For instance I've used JS to auto-populate a patch where the number of abstractions isn't known in advance and may need to change, with each abstraction then getting its own s…

Doing interrupt level scripting in it works just fine - lots of people have done it in C, C++, Scheme, and other extensions. I take it on stages and have produced music with it extensively. Scheme for Max is written using all the same C primitives from the Max SDK that the other Max sequencing options use and has been load and timing testing exhaustively.

I'm currently a PhD candidate in it, have previously used Csound, SuperCollider, Max, Pd, Common Music, and others, and have published/presented at conference on this topic. Of everything I've tried, I prefer working in Scheme in Max over other options. It is definitely practical and accurate. (Though in Scheme in Pd has soe nice features too!)

Re: Ableton Extensions SDK

#78
post #50

Earlier quoted context omitted.

Totally unrelated, but it's still interesting that a lot of the key music software was / is created in either Berlin (Ableton, Native Instruments) or in / near Hamburg (Steinberg of Cubase — now owned by Yamaha — and Emagic of Logic — now owned by Apple). There must have been something in the air.

I never knew that, and it is _really_ interesting! My DAW of choice (Bitwig) also based in Berlin...

Bitwig was started by former Ableton people.

Re: Ableton Extensions SDK

#79

Earlier quoted context omitted.

Well, it's obviously not intended for realtime 'live coding', but as an answer to the problem of dealing with the GUI and manually cabling a patch up it suffices, though it does help to be fairly conversant with the basics of Max to begin with. For instance I've used JS to auto-populate a patch where the number of abstractions isn't known in advance and may need to change, with each abstraction then getting its own s…

Doing interrupt level scripting in it works just fine - lots of people have done it in C, C++, Scheme, and other extensions. I take it on stages and have produced music with it extensively. Scheme for Max is written using all the same C primitives from the Max SDK that the other Max sequencing options use and has been load and timing testing exhaustively . I'm currently a PhD candidate in it, have previously used Cso…

Can your external place objects and route cables around on the patch? That's the main thrust of my original comment, which is that JS scripting can help avoid having to patch lots of objects together in the GUI. Live scripting music is beyond the scope of my advice.

Re: Ableton Extensions SDK

#80
post #50
post #20

Somewhat unrelated, but the number of times I have invoked Ableton as a metaphor of challenging the status quo is quite high. I was a Cubase user before Ableton showed up and completely upended the DAW world. And they've kept going. This is just what I've been looking for. I never warmed to Max for Live for mods. But the extensions SDK I can get behind.

Totally unrelated, but it's still interesting that a lot of the key music software was / is created in either Berlin (Ableton, Native Instruments) or in / near Hamburg (Steinberg of Cubase — now owned by Yamaha — and Emagic of Logic — now owned by Apple). There must have been something in the air.

I counter with Santa Cruz/Scotts Valley.

-Emu

-Plugin Alliance

-UAD

-Autotune

-Burl

Post reply on HN