Permissions error sorting files into new folders

Running MP3Tag 1.5 on macOS 12.4. I've used MP3Tag on Windows for many years and I've been using MP3Tag for Mac since release, but I've only recently really started to try more sophisticated actions. Today I tried to use an action group to rename files and sort them into new directories, but MP3Tag could not complete the action due to a permissions error.

Action #1:
Field: _DIRECTORY
Format: %_workingpath%/%albumartist%/%album%/

Action #2:
Field: _FILENAME
Format: $num(%track%,2) %title%

Error message when running action:

You don’t have permission to save the file “Orchestral Fantasy 2016 Vol. 1” in the folder “Orchestral Fantasy”.To view or change permissions, select the item in the Finder and choose File > Get Info.

The source directory is:

/Users/user/Desktop/_Music Org Project/YT Musicians (Needs Organized)/Andrew Thompson (Orchestral Fantasy)/Orchestral Fantasy Patreon

The destination directory is intended to be:

/Users/users/Desktop/_Music Org Project/YT Musicians (Needs Organized)/Andrew Thompson (Orchestral Fantasy)/Album Artist/Album

I've granted MP3Tag Full Disk permissions, restarted the app and the Mac, added the files by dragging and dropping the parent directory ("Andrew Thompson (Orchestral Fantasy)") and by using CMD+O to open the parent directory.

Is there a process error that I'm missing? Am I using the %_workingpath% parameter incorrectly?

I also had the same error when I attempted to organize within the existing directory using the Format Tag Field quick action below on the the _FILENAME and _DIRECTORY fields.

Quick Action :
Format: %_folderpath%/%albumartist%/%album%

Thanks for any help and for a great application all these years.

Yes, it's not existent on the Mac and resolves to the empty string. See this topic from the documentation for a list of available placeholders:

To be sure it's not related to a sandboxing issue, can you try this command via Terminal.app while Mp3tag being closed:

defaults delete app.mp3tag.Mp3tag SecurityScopedBookmarks

After that, load the folder (not the individual files) via ⌘O and see if the issue persists.

Thanks! I must have been looking at the Windows documentation on the format string options by mistake.

That would seem to explain my issues since placeholders %_workingdir% and %_workingpath% aren’t available In the Mac version. So I have invalid format strings.

I’ll try the defaults command as well if I’m still having issues once I have a correct string. I have already tested adding the top level folder by CMD+O and by dragging and dropping.

Would it be possible to have MP3Tag present a descriptive error about invalid placeholders in a string? I thought %_workingpath% was supported since the app converted the text %_workingpath% to workingpath enclosed in the blue square in the GUI as it does with other placeholders. Does MP3Tag just do that with anything enclosed in %%? An explicit error would be helpful to users like me and might reduce support requests.

With all of that said, is there an option to modify the _DIRECTORY field, relative to the current working directory? At the moment my action relies on manually prepending the absolute path to my action for each artist, then manually updating it again with the next set of music for the next artist. I was hoping to automate that process.

It actually doesn't happen too often and there is always Convert → Tag - Tag to try with a preview.

There is no concept of working directory in Mp3tag for Mac. You can simply add files from different directories and work on them either with absolute paths or relative to the files' folders.

So if you can come up with a relative path to use in your action, you'd not need to prepend the absolute path whenever you change the artist. If you're unsure, you can also give an example.

Thank you. I'm finally getting back to this. I am still getting a permissions error when trying to sort the files into new directories automatically. I have run defaults delete app.mp3tag.Mp3tag SecurityScopedBookmarks with MP3Tag closed, then opened the parent (or in some cases grandparent) folder of the files using CMD+O (also tested with drag and drop). I think the issue is how I am using the %_parent_directory% placeholder.

I have a few hundred thousand song files. Varying levels of tagging. Varying forms of folder structure depth and organization. Some albums include text and image files. Some albums are divided into subfolders by disc. I'm trying to ensure that I move all of the files (audio, text, image) and subfolders when sorting and tagging my music. I would like the final structure to look like this:

~/Music/AlbumArtist/Album/Song.flac
~/Music/AlbumArtist/Album/Disc/Song.flac
~/Music/AlbumArtist/Album/textfile.txt
~/Music/AlbumArtist/Album/imagefile.jpg

Right now, I am trying to run this action group when I get the permissions error:

ACTION 1
Format Tag Field

Field: _DIRECTORY
Format: _parent_directory/album/

ACTION 2
Format Tag Field

Field: _FILENAME
Format: $num(%track%,2) %title%

If I add the files into MP3Tag by selecting the grandparent or parent directory from the open dialogue, I still get the same permissions error. Here is an example.

You don’t have permission to save the file “The String Quartet Tribute to Casting Crowns” in the folder “Audio”.

The files in this case are in ~/Audio/Vitamin String Quartet/. The String Quartet Tribute to Casting Crowns would be the album name.

Any insights on what I'm doing wrong?

I'm not sure if this is really what you're using, a correct format string would be

%_parent_directory%/%album%/

In addition, this would create a new folder with the parent folder's name in the parent folder, e.g.,

~/Audio/Audio/The String Quartet Tribute to Casting Crowns/

If I interpret your description correctly, you want ~/Audio/Vitamin String Quartet/ moved to ~/Audio/The String Quartet Tribute to Casting Crowns/

which is possible via

ACTION 1
Format Tag Field

Field: _DIRECTORY
Format: %album%

Is this working for you?

Thanks. I think I see at least one of my mistakes. I was thinking that I could move the directories up a level in the folder hierarchy by specifying the parent directory as part of the path, but I now see that isn't the purpose of the %parent_directory% placeholder.

I don't think I explained what I was trying to do very well. I probably shouldn't post when I'm half asleep :sweat_smile:. I had a few significant typos in the action group in my last comment. I meant that my action group is:

ACTION 1
Format Tag Field

Field: _DIRECTORY
Format:% _parent_directory%/%albumartist%/%album%/

ACTION 2
Format Tag Field

Field: _FILENAME
Format: $num(%track%,2) %title%

I realized that I was doing just what you noted, and creating an additional directory with the same name as the parent directory (which was not my intent). So I revised my action group to this:

ACTION 1
Format Tag Field

Field: _DIRECTORY
Format:%albumartist%/%album%/

ACTION 2
Format Tag Field

Field: _FILENAME
Format: $num(%track%,2) %title%

Still not getting the results I intended. So for this example:

~/Audio/Vitamin String Quartet/06 Chrono Trigger Theme.mp3
~/Audio/Vitamin String Quartet/01 Father, Spirit, Jesus.mp3

Each song starts in the same directory, but they are from different albums by the same artist. My goal was to sort the files into:

~/Audio/Vitamin String Quartet/The String Quartet Tribute to Casting Crowns/01 Father, Spirit, Jesus.mp3
~/Audio/Vitamin String Quartet/Geek Wedding Forever, Vol. 3/06 Chrono Trigger Theme.mp3

I can do that much with just the _FILENAME field alone, but I was using the _DIRECTORY as in some cases instead of having just a list of audio files. I will have a list of audio files as well as some subfolders containing audio files and related, but separate files, like artwork or lyrics.

After my revisions, I am seeing this error:

“01 Father, Spirit, Jesus.mp3” couldn’t be moved to “The String Quartet Tribute to Casting Crowns” because either the former doesn’t exist, or the folder containing the latter doesn’t exist.

Repeated and made sure to troubleshoot with removing the secure bookmark and open the parent folder with the "open" command, but the issue recurs. I'm certain I'm just overlooking something simple, but I would appreciate a another set of eyes to see what I'm missing.

A general remark:
Rename _DIRECTORY if the number of folders is bigger or equal the number of target folders. Like that you move around folders in the file system or merge folders.

Rename _FILENAME including a path component if files from 1 folder should be distributed to several folders.
So it could be that you first have to separate the files into individual folders and then rename the folders with your preferred naming pattern.

I think we're getting somewhere!

What I see from your example is that the source directory
~/Audio/Vitamin String Quartet/
will be renamed to a target directory that is part of the source directory
~/Audio/Vitamin String Quartet/Geek Wedding Forever, Vol. 3/
and I think this case is not properly handled in Mp3tag for Mac at the moment. I'll need to check further and will provide a fix with the next release.

Furthermore, the source directory will only be renamed once, which is intended behavior, resulting in both files being moved to the target directory
~/Audio/Vitamin String Quartet/Geek Wedding Forever, Vol. 3/

If it would be allowed to rename the directory multiple times, it would for the first file
~/Audio/Vitamin String Quartet/06 Chrono Trigger Theme.mp3
be renamed to
~/Audio/Vitamin String Quartet/Geek Wedding Forever, Vol. 3/
and for the second file
~/Audio/Vitamin String Quartet/01 Father, Spirit, Jesus.mp3
be renamed to
~/Audio/Vitamin String Quartet/The String Quartet Tribute to Casting Crowns/

In such cases, I'd simply create a new directory structure using _FILENAME as @ohrenkino pointed out. Eventually, you'd need to decided in which child folder the extra non-audio files from ~/Audio/Vitamin String Quartet/ you've mentioned above need to be copied.

Thanks for the information gents. I'm glad I'm explaining it more clearly and we're getting somewhere. :slight_smile: I'm not quite sure I understood ohrenkino correctly. So to make sure I have understood correctly:

  1. If I have a group of audio files in a single directory that I want to be divided into subdirectories based on the tags, I should only use the _FILENAME placeholder to sort and rename them, then I will need to move any associated non-audio files manually?

  2. If I have audio files already sorted into directories with their associated non-audio files such as:

/Artist/Album1/Songfile
/Artist/Album2/Songfile
/Artist/Album2/Textfile
/Artist/Album3/Disc1/Songfile
/Artist/Album3/Disc1/Textfile
/Artist/Album3/Disc2/Songfile
/Artist/Album3/Disc2/Textfile
/Artist/Album4/Disc2/Songfile
/Artist/Album4/Disc2/Textfile

I can use _DIRECTORY to sort to move all of the content (including the non-audio files), but I can't use it to create more directories than I started with? So in my example I could merge the contents of the Disc folders in the parent Album folder, but I couldn't divide "Album5" into "Album5/Disc1/, Album5/Disc2,Album5/Disc3"?

Assumption 1 is correct.
A trick could be so select only the files for the new folder (not the renamed folder) and process then with _FILENAME.
Then select the other files for which only the folder should be renamed and use _DIRECTORY - this moves all files and subfolder from the source folder to the target folder.

If case 2 references existing folders like Disc1 etc. then Disc1 is described by _DIRECTORY. So if you now rename _DIRECTORY all files and subfolders in DISC1 are moved to the new folder.
This means also, that the naming scheme has to cater for different levels of folders - apparently there are some where the song files are right beneath the ALBUM folder and some where the song files are 1 level further down: ALBUM/DISCx

Okay. Thanks for the info. Unfortunately, that means MP3Tag won't be as helpful to me as I had hoped for the purposes of organizing some of my albums that include Disc subfolders and have associated non-audio files. Still a great app and still very useful for much of my organization, but my goal of having an action group or two that I could just throw my tagged files into for processing isn't going to work. Thanks again for your help.

Where is your problem?
See e.g. here the thread about albums being split up into subfolders by disc:

Even though this shows the way in the windows world, it also shows the underlying principles which are no different in the Mac world.

I think it is a question of workflow:
first send all the files to their separate folders which means that you first deal with folders where you collected files which really should be in separate folders.
And then you rename the folders.

What has happened to the original access problem? Has this been solved with the insights into file organization?

I think Florian noted a bug above in the Mac version that was part of the cause of my issues with the directory naming, but the other problem is with my misunderstanding of the apps capabilities with some of the placeholders, so my workflow will have to change as you noted. So I think the initial permissions errors will be resolved by a combination of those factors.

Thanks for the link. I have read that thread, but I can review it again. I was trying to automate more than it looks like I can. Unfortunately I have made several partial attempts to organize my collection over the years and this has resulted in many sets of duplicates (think terabytes of duplication). I was working through some deduplication tools and discovered far into the process that they were not 100% accurate, which is necessary for my purposes in using such tools.

So that has left me with a very large collection of files. Many (probably at least half) of these files are indie music so I can’t rely on a database for tagging them or even recognizing. They have often been distributed digitally and the creators had inconsistent methods of bundling associated readme files, multiple associated image files (various covers for the same album or individual covers for reach disc, for example), and tagging.

I’ve used MP3tag for a long time (mostly on Windows and since the Mac release, on Mac). I never went especially deep with it, but I’ve been going deeper with the actions over the past year or so.

Since it looks like I will need to dedup by hand, I was hoping to nearly fully automate the work of tagging, renaming files, and renaming or moving directories with all the associated audio and non-audio files contained within them. I have run the collection through using the _FILENAME placeholder in the past and then discovered I had a lot of empty disc folders, as well as orphaned image and text files belonging to specific albums. That was expected behavior of course and that what lead me to the _DIRECTORY option as a possible solution.

So MP3Tag is still saving me a ton of time and is still my favorite music organization tool (especially for the Mac), but it just isn’t going to save on manually organizing some of those albums with discs subdirectories and non-audio files. That’s where it sounds like I’ll need to adjust my workflow and do it manually or employ some other tools.

I hope that explains more fully. Once again I’m typing while tired which is always dangerous. :sweat_smile:I’ll review that linked thread and see if I’m missing something.

Thanks again for your help gents!

This is now fixed with Mp3tag for Mac 1.5.1. Thanks for pointing!

1 Like