Skip to content

Instantly share code, notes, and snippets.

@jmorenoamor
Last active December 23, 2015 17:59
Show Gist options
  • Save jmorenoamor/6672957 to your computer and use it in GitHub Desktop.
Save jmorenoamor/6672957 to your computer and use it in GitHub Desktop.
MP3Tag export script for generating a JSON structured library file
$filename(json,utf-8){
"songs": '['
$loop(%_filename_ext%) {
"title": "%title%",
"album": "%album%",
"artist": "%artist%",
"album_artist": "%albumartist%",
"composer": "$meta(composer,1)",
"publisher": "%publisher%",
"genre": $meta("%genre%",1),
"year": $left(%year%,4),
"track": $num(%track%,1),
"codec": "%_codec%",
"bitrate": %_bitrate%,
"vbr": $if($or($eql(%_vbr%,VBR),$eql(%_tag%,FLAC)),true,false),
"mode": "%_mode%",
"samplerate": %_samplerate%,
"length_seconds": %_length_seconds%,
"tag": "%_tag%",
"tag_read": "%_tag_read%",
"tag_size": %_tag_size%,
"tag_size_appended": %_tag_size_appended%,
"tag_size_prepended": %_tag_size_prepended%,
"id3v2_encoding": "%_id3v2_character_encoding%",
"filename": "%_filename%",
"extension": "%_extension%",
"directory": "%_directory%",
"file_size": %_file_size_bytes%,
"genres": '['$if(%genre%,"$meta_sep(genre,"', '")",)']',
"composers": '['$if(%composer%,"$meta_sep(composer,"', '")",)']',
"covers": '['$if($grtr(%_covers%,0),
{
"mimetype": $if2("%_cover_mimetype%",null)','
"type": $if2("%_cover_type%",null)','
"size": $if2(%_cover_size%,0)','
}','
,)'],'
"n_genres": $if(%genre%,$add($len($regexp($meta(genre),'[^,]',)),1),0),
"n_composers": $if(%composer%,$add($len($regexp($meta(composer),'[^,]',)),1),0),
"n_covers": $if2(%_covers%,0),
},
$loopend() ']'
}
@mossspence
Copy link

Thanks for helping me get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment