Automatic Monstercat downloader and auto-tagger
| .gitignore | ||
| common.cpp | ||
| common.h | ||
| config_example.json | ||
| curl_dl.cpp | ||
| curl_dl.h | ||
| example_download2.json | ||
| example_download.json | ||
| example_login.json | ||
| json.hpp | ||
| main.cpp | ||
| Makefile | ||
| monstercat_dl.cpp | ||
| monstercat_dl.h | ||
| README | ||
| TODO | ||
# Usage There must be a file named "config.json" in the working directory with your monstercat credentials and other configurations. See config_example.json for the template. # Download File Structure ### Release Folder **download_path/Type/YYYY-MM-DD - CatalogID - Artist - Title** * download_path - Set in config.json * Type - Album/EP/Single * YYYY-MM-DD - Release Date in ISO format for easy sorting * Artist/Title - removed featuring artists from "Artist" and added to "Title" ### Cover * Cover(.jpg/.png) - Full resolution from Monstercat * Cover_small.jpg - 750x750 added to files ### MP3 and FLAC folders Separate folders if more than 1 track otherwise put in main folder ### File Naming * Artist - Title.(mp3/flac) - Used when only 1 track * Number - Title.(mp3/flac) - Used when track artist **matches** release artist * Number - Artist - Title.(mp3/flac) - Used when track artist **does not match** release artist # JSON Library Source https://github.com/nlohmann/json Release - 3.10.5 Commit - 4f8fba14066156b73f1189a2b8bd568bde5284c5 # eyeD3 https://eyed3.readthedocs.io/en/latest/ * For MP3 tagging * TODO: Add info here # metaflac https://xiph.org/flac/download.html For FLAC tagging ``` metaflac // Common --preserve-modtime --no-utf8-convert // First Step - Remove Tags --remove-tag=TITLE --remove-tag=ARTIST --remove-tag=ALBUM --remove-tag=TRACKNUMBER // Second Step - Remove Pictures --remove --block-type=PICTURE // Third Step - Add --import-picture-from=3|image/jpeg|||"/path/to/cover" "--set-tag=TITLE=..." "--set-tag=ARTIST=..." "--set-tag=ALBUM=..." "--set-tag=TRACKNUMBER=..." --dont-use-padding file.flac ``` # imagemagick https://imagemagick.org/script/download.php For Image Resizing ``` convert Cover -resize 750x750 Cover_small.jpg ```