/Ableton-Live-tools

A collection of useful additions to @Ableton Live, including better @Git integration.

Primary LanguageShellMIT LicenseMIT

Live tools is a collection of useful additions to the excellent Ableton Live DAW. Currently, it improves integration of Live with other tools, but useful devices, racks and templates will be added in future for various audio tasks. Contributions are welcome.

Instant Setup

If you just want to get started immediately on a project with version control, you can just run (open) the SETUP.command to clean up and use this repository as the basis for a project. Easy.


macOS Services

Live Tools includes a few handy services for Live users wise enough to be running macOS.

They are easy to use, simply open a .workflow file and choose the option to install. This just moves that workflow to your ~/Library/Services folder which makes it available from the Services menu, in this case from within Live.

Note that due to security measures on macOS, permission must first be granted to Applications before they can be manipulated from scripts and services.

Open System Preferences and navigate to Accessibility under Security & Privacy. Click on the padlock icon and enter your admin password to access the list. Make sure Live is listed and enabled (you can just drag in Live.app from Finder if it isn't on the list). You might also want to grant access to System Events and Automator here. This only needs to be done once.

Git integration

Save Live Set as XML.workflow will automatically uncompress .als files in the current project so that they play nice with Git, since a Live set is actually just gzipped XML.

If you specify ⌘S as the keyboard shortcut under App Shortcuts rather than Services this will actually override the native Save Live Set command so that now Live will in effect always save uncompressed .als files. Live has no problem opening these, so no need to worry about having to re-compress anything.

Return to System Preferences and under Keyboard then Shortcuts, add (+) a new shortcut and choose Live as the application. Enter Save Live Set as XML for the menu title (or whatever you want, providing this exactly matches the name of the .workflow file, should you decide to alter it).

Pre-commit hook

While the above service works by uncompressing sets every time you save from Live, an even better method is to implement this as a pre-commit Git Hook.

If you use this repository as the basis for a project as mentioned above, then all you have to do is run (open) the SETUP.command. This just adds the pre-commit hook and will clean out the repository ready for your Live project.

Alternatively, you could setup a Git template including the hook which would apply it to any future repository using git init. Doing this on an existing repo will also work, and without overwriting anything.

cd ~/path/to/project
mkdir -p ~/path/to/template/hooks &&
cp pre-commit ~/path/to/template/hooks
git config --global init.templatedir ~/path/to/template

Commit

Commit Live Project.workflow will first ensure any .als files are uncompressed as above, but then also either open the current project in GitHub Desktop, GitKraken or Tower depending on which is installed, or otherwise prompt for a commit summary.

Export ALAC (.m4a) audio

Export ALAC audio.workflow essentially adds the option of exporting Apple Lossless Audio Codec files straight from Live. These have the advantage of lossless compression and metadata support including artwork.

It works by automatically converting the latest .wav or .aif output from Live (providing you save to the current project folder). It will also rename any accompanying .*.asd analysis file to .m4a.asd as appropriate.


There's also a simple makefile included if you're into those. make watch will watch for changes in the project folder and automatically emulate the above workflows.


Collaboration

In the spirit of collaboration, which hopefully this project will aid, there are a few nice online tools for sharing Live sets which are appropriately listed here.


Alternate Live icon

Also thrown in is an alternative icon for Live, if you prefer. This can be applied by choosing Get Info from the contextual menu in Finder with Live.app selected, and dragging the Live.icns file over the existing icon in the top left corner. LiteIcon is free and recommended for managing icons on macOS, if you find yourself doing this kind of thing often.


License

MIT © Daniel Bayley