I looked a bit into this and we might be able to allow access to external drives in the macOS file picker when the Qt5 one is being used. It's a bit of a hack, but we already do similar manipulations to allow the multi directory selection.
For current Picard there are two workarounds:
- As discussed, disable multi directory selection in options
- Use the built-in file browser pane (View > File Browser), which will show external volumes.
The situation with external volumes on macOS is a bit awkward. All drives are generally available via /Volumes/. The main drive by default is called System. But /Volumes/System is a symlink to the root "/". By default file selectors show "/Volumes/System" but hide "/Volumes" itself.
In the file browser pane (see filebrowser.py) we work around this by making "/Volumes" the root folder for the file tree. But then it changes paths and if you have a path like "/Users/yourname/Music" you instead now need to use "/Volumes/System/Users/yourname/Music".
We can do similar things in the Qt file dialog. A quick test showed we can make same call to QTreeView.setRootIndex(model.index("/Volumes")) and then see "/Volumes" where one can select any drive.
It's not the nicest presentation, though. Also it needs some work so the previously selected directory gets set as starting directory.
Maybe we could even make the volumes visible on the left side (where it shows "Computer" and the user dir). But it's unclear whether this will work.
What I don't understand is how it apparently worked on the previous version of Picard which used Qt5 and doesn't work on the current version which still uses Qt5.
I don't think that is actually true. For me behavior on current and older version of Picard is identical. The native file picker shows the external volume, the Qt one not.
Also a quick internet search suggests that Macs require you to allow access to external drives on an app-by-app basis.
I'm not entirely sure, but this might only apply to sandboxed applications, which Picard is currently not. At least I have no trouble accessing external volumes with Picard.
And that, outsidecontext is why I think that MusicBrainz and Picard are the perfect example of how open source should work!!!! What brilliant support!!!