Added tagging
This commit is contained in:
parent
445ba013f4
commit
c85c83f46a
2
TODO
2
TODO
@ -1,4 +1,2 @@
|
||||
Add Cover Resize via lib or command ???
|
||||
Add MP3 Tagging
|
||||
Add FLAC Tagging
|
||||
Implement main
|
||||
|
||||
104
main.cpp
104
main.cpp
@ -572,6 +572,94 @@ bool rename_cover(const string& path, bool is_jpg)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool tag_MP3(const string& path, const string& filename, bool is_single_dir,
|
||||
const string& title, const string& album, const string& artist,
|
||||
const string& tracknum)
|
||||
{
|
||||
string cmd;
|
||||
|
||||
cmd = "id3edit --set-name \"";
|
||||
cmd += title;
|
||||
cmd += "\" --set-album \"";
|
||||
cmd += album;
|
||||
cmd += "\" --set-artist \"";
|
||||
cmd += artist;
|
||||
cmd += "\" --set-track ";
|
||||
cmd += tracknum;
|
||||
cmd += " --set-artwork \"";
|
||||
cmd += path;
|
||||
cmd += FOLDER_DELIM;
|
||||
cmd += "Cover_small.jpg\" \"";
|
||||
cmd += path;
|
||||
cmd += FOLDER_DELIM;
|
||||
if (!is_single_dir)
|
||||
{
|
||||
cmd += "MP3";
|
||||
cmd += FOLDER_DELIM;
|
||||
}
|
||||
cmd += filename;
|
||||
cmd += ".mp3\"";
|
||||
|
||||
return system_command(cmd);
|
||||
}
|
||||
|
||||
bool tag_FLAC(const string& path, const string& filename, bool is_single_dir,
|
||||
const string& title, const string& album, const string& artist,
|
||||
const string& tracknum)
|
||||
{
|
||||
string cmd;
|
||||
bool ok;
|
||||
|
||||
// First command - remove metadata
|
||||
cmd = "metaflac --preserve-modtime --no-utf8-convert ";
|
||||
cmd += "--remove --block-type=PICTURE ";
|
||||
cmd += "--remove-tag=TITLE ";
|
||||
cmd += "--remove-tag=ARTIST ";
|
||||
cmd += "--remove-tag=ALBUM ";
|
||||
cmd += "--remove-tag=TRACKNUMBER \"";
|
||||
cmd += path;
|
||||
cmd += FOLDER_DELIM;
|
||||
if (!is_single_dir)
|
||||
{
|
||||
cmd += "FLAC";
|
||||
cmd += FOLDER_DELIM;
|
||||
}
|
||||
cmd += filename;
|
||||
cmd += ".flac\"";
|
||||
|
||||
ok = system_command(cmd);
|
||||
if (!ok)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Second command - set metadata
|
||||
cmd = "metaflac --preserve-modtime --no-utf8-convert --dont-use-padding ";
|
||||
cmd += "\"--import-picture-from=3|image/jpeg|||";
|
||||
cmd += path;
|
||||
cmd += FOLDER_DELIM;
|
||||
cmd += "Cover_small.jpg\" \"--set-tag=TITLE=";
|
||||
cmd += title;
|
||||
cmd += "\" \"--set-tag=ARTIST=";
|
||||
cmd += artist;
|
||||
cmd += "\" \"--set-tag=ALBUM=";
|
||||
cmd += album;
|
||||
cmd += "\" --set-tag=TRACKNUMBER=";
|
||||
cmd += tracknum;
|
||||
cmd += " \"";
|
||||
cmd += path;
|
||||
cmd += FOLDER_DELIM;
|
||||
if (!is_single_dir)
|
||||
{
|
||||
cmd += "FLAC";
|
||||
cmd += FOLDER_DELIM;
|
||||
}
|
||||
cmd += filename;
|
||||
cmd += ".flac\"";
|
||||
|
||||
return system_command(cmd);
|
||||
}
|
||||
|
||||
bool full_donwload(const string& path, const string& release_prefix,
|
||||
int release_num, const string& release_suffix)
|
||||
{
|
||||
@ -686,7 +774,13 @@ bool full_donwload(const string& path, const string& release_prefix,
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO: Tag MP3
|
||||
// Tag MP3
|
||||
ok = tag_MP3(release_dir, track_filename, is_single_dir, tags[i].title,
|
||||
release_artist_title.second, tags[i].artist, tags[i].number);
|
||||
if (!ok)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Download Track (FLAC)
|
||||
ok = download_track(info["Release"]["Id"], info["Tracks"][i]["Id"],
|
||||
@ -696,7 +790,13 @@ bool full_donwload(const string& path, const string& release_prefix,
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO: Tag FLAC
|
||||
// Tag FLAC
|
||||
ok = tag_FLAC(release_dir, track_filename, is_single_dir, tags[i].title,
|
||||
release_artist_title.second, tags[i].artist, tags[i].number);
|
||||
if (!ok)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user