Just wondering if anyone knows of a way to script the installation of the Sound Packs for Ableton Live.
Normally you either Install them from inside Ableton. That is
File > Install Pack ...
or right click the pack and choose Open
or, double click the pack in Finder
In all cases Ableton Live opens.
I'm think maybe a script that just does the following for each pack:
Is there some smarter way to do this?
I don’t recommend using Composer to repackage, but I do use it to study where the software is putting stuff on my test Macs and VMs. Also if I were you I would look in your package receipts and your log files on macOS in /Application/Utilities/Console.app while the package is installing. If it is a downloaded pkg file then your installer log would have a record.
My uneducated wager (no firsthand experience with Ableton Live) is that it is bringing pkg files to a temp directory somewhere and then quietly installing them. I know of quite a few large software packages that use that very technique.
Once you figure out exactly what it’s doing and where, you could copy or “hard link” the temporary package somewhere and then you’d have a copy.
Here’s an old post from Rich Trouton describing how to use this very technique to get packages out of the Mac App Store... I would not recommend using the technique for that purpose anymore because there are better ways to deploy App Store packages however the technique is solid. you simply have to figure out where Ableton is downloading the packages temporarily to.
OK so you’re having a very similar problem to the GarageBand loops then.
In that case you could either cache them on an internal server or if you know the URL that the DMGs are coming from, You could curl them to a tmp directory yourself on the client, put them where they need to go, then delete your DMG. Somewhere they have to be running a script that essentially does that.
I’m betting the script is either in some application support folder or hidden somewhere in the resources folder of the ableton app itself.
We devide the whole installation into 3 packages. The .app, the settings, and the sample sounds. The reason for this is because 1. historically the .app refused to be indexed by jamf admin no matter how many times one re-opened jamf admin and tried again. 2. Some, if not all settings dont conform to standard plist or simple text settings. 3 controlled which packages go down in what order. As you said the sample libraries are over 60Gb... We always push sample library package first, then the settings package, then the .app package last in a policy. The app going down last minimises the chance someone would open the application while components were still being deployed.
Also we capture settings specifically when no audio adapter is selected. Why? Because the audio adapter of the machine your making the package on will no doubt be different to the machines your deploying to. If you do this then typically/historically users are greeted with an error about the audio adapter. Selecting no audo adapter on the capture, users historically have been greeted with a prompt to select and audio adapter which correct for the machine that launched Ableton. Historically this file contains "some of the application preferences". I say some because not all settings are saved to this file annoyingly.
Note: the version number will change depending on the version of Ableton live your working with.
The file below contains the majority of where the sound libraries are installed etc... . The username (typically packaged with the admin account) admin has been replaced with %%USERNAME%%. Its important to place this into the package without launching the app as it will dynmaically replace the value with the currently logged on user in the file. The file also contains all the factory/sample sounds installed. Needless to say, the policy should deploy the same sample sounds as the ones listed in this file.
Note: the version number will change depending on the version of Ableton live your working with
If your using Sassafras as a floating license manager to license Ableton. The below file tells Ableton to use Sassafras to obtain a license.
Note: Again, the version number will change depending on the version of Ableton live your working with
The file below contains the database index of the sample sound libraries. If deploying without this file, then upon fist launch the user has to wait for indexing to complete on the sounds sample libraries upon first launch which can take a long time.
~/Library/Application Support/Ableton/Live Database/Live-files-36.db
Note: the number in the file name is dynamic, it may change if you capture into packages a missmatch of settings etc. If this is the case, then the above will occur.
Anyways.. I hope this helps someone...