| .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.md | ||
| TODO.md | ||
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.
Invoke make to compile. Requires libcurl.
Invoke mcat_dl with catalog ID as extra arguments to download.
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 used to tag files
MP3 and FLAC folders
Separate folders if more than 1 track otherwise put in main folder.
Extended folder
This is where extended mixes are put into. They are in their original format.
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