1

I record music at home and regularly need to add tracks created with GarageBand to Music. This requires me to manually set the artist, album, genre, year, & artwork so I'm trying to write an AppleScript to automate the process. Using add to add the track works fine but when I try to set any of the details I get a -54 permissions error. I've tried using set within the tell application "Music" block and as a nested tell on the track itself, and exporting the script as an app and giving it permissions for Music in system settings, but I get the -54 every time. Can anyone help?

macOS 15.6.1

1 Answer 1

1

You’re hitting error -54 because Music hasn’t finished importing the file when you try to set metadata. After using add, wait a moment and then target the library track (not the temporary file track)

Adding a delay (or retry loop) after import usually resolves the -54 error.

tell application "Music" set addedTracks to add POSIX file "/path/to/song.m4a" set dbid to database ID of (item 1 of addedTracks) delay 3 set libTrack to some track of library playlist 1 whose database ID is dbid tell libTrack set artist to "My Artist" set album to "My Album" set genre to "My Genre" set year to 2024 end tell end tell 
Sign up to request clarification or add additional context in comments.

1 Comment

That worked perfectly - many thanks!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.