The Problem
A Mac customer wanted to use Jaikoz to only fix some compilation albums that had been broken up into different folders by another application, so typically each song was the only file within its own folder.Now Jaikoz can put albums back together again, but the difficulty is finding all those orphaned files in the first place, the following script can help:
find "$1" -type d -exec sh -c '[[ $(find "$0" -mindepth 1 | wc -l) -eq 1 ]] && [[ $(find "$0" -mindepth 1 -type d | wc -l) -eq 0 ]] && find "$0"' {} \; |egrep ".mp4|.mp3|.ogg|.flac|.wma|.m4a"
This checks all the folders under the provided one looking for folders containing only one file, and then filters out any non music files to leave you with a list that Jaikoz can process.
Then if we redirect the output to a file, and we name it as a unicode playlist we can load the list of files straight into Jaikoz
The Solution
Finding the list of orphaned files
Save this file to your Documents folderOpen Applications/Terminal,
Within Terminal enter
chmod 777 Documents/findodd.sh
and press <ENTER> then
./Documents/findodd.sh MusicFolder > playlist.m3u8
and press
where MusicFolder is the full path of the root of your music directory
i.e. I might enter:
./Documents/findodd.sh /Users/paul/Music > playlist.m3u8
this may take a few minutes depending on how much music you have
Start Jaikoz
Drag playlist.m3u8 onto Jaikoz to load the files
Matching files to releases
Ensure View:Show Column Browser is enabled , and use it or the search so that at any one time you only have the songs from one of the album you want to reconstruct listed.
If you know the release exists in MusicBrainz use Action:Match to Release:Match Songs to Specified MusicBrainz Release and then move onto the next release.
Or if you know the release is in Discogs use Action:Match to Release:Match Songs to Specified Discogs Release and then move onto the next release.
If it doesn't exist in either database you can still use Jaikoz to manually fix the metadata
Then use Action:File and Folder Correct:Correct Filename from Metadata and Correct SubFolder from Metadata to rename the files and folders to bring the files back together.
Now check the results and then Save Changes