Export entire library with file fullname and metadata in a file
Reply #4 – 2015-06-07 01:58:35
Another way, using a text editor... If you have a very big media library containing files from many different sources, you may discover that you have A LOT of custom tag names (apart from the foobar2000 standard tags). To export the tags of your "entire media library" requires that you make a formatted list of every single tag name! To do that, you drag the root folder of your entire media library into a blank foobar2000 playlist, select all [CTRL+A], and go to 'Properties' [Alt+Enter]. At the 'Metadata' tab, select all [CTRL+A], and copy [CTRL+C], and paste into your text editor [CTRL+V]... Below here, I am using the text editor Notepad2-mod (DO NOT use Windows Notepad). An example of the pasted text from part of my media library (with some added comments)://These are the foobar2000 standard tags with their values (truncated for visual clarity) Artist Name : «multiple values» Alain Goraguer; The Church; Danger Mouse and Sparklehorse; Flipper; Iggy And The Stooges; Jan & Dean ... Track Title : «multiple values» Deshominisation (II); Deshominisation (I); Generique; Le Bracelet; Ten Et Tiwa; Maquillage De Tiwa ... Album Title : «multiple values» La Planete Sauvage; Heyday; Dark Night of the Soul; Album - Generic Flipper; Who's Your Step Daddy? ... Date : «multiple values» 1973; 1985; 2010; 1982; 2003; 2006; 1983; 1981; 1986; 1995; 1965; 1976; &y; 1969; 1979; 1998; 2002; 1997 ... Genre : «multiple values» Soundtrack; AlternRock; Indie; Punk; Hip-Hop; Rap; Rock; Noise Rock; Americana; Organ; Ska; Hip Hop ... Composer : «multiple values» J.S. Bach; Les Baxter; Eazy-E/Ice Cube/M. C. Ren; Jim Heath; Anti Establishment; Peter Ilyich Tchaikovsky ... Performer : «multiple values» Ton Koopman; Seiji Ozawa & Orchestre De Paris; Sir Colin Davis, BBC Symphony Orchestra ... Album Artist : «multiple values» G.B.H.; Herman's Hermits; Iggy And The Stooges; Jan & Dean; Johnny Cash and Bob Dylan ... Track Number : «multiple values» 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25 ... Total Tracks : «multiple values» 25; 13; 11; 14; 12; 17; 27; 23; 15; 3; 7; 2; 22; 16 Disc Number : «multiple values» 1/1; 1 Total Discs : «multiple values» 1 Comment : «multiple values» original French LP, EMI Pathe Marconi; CLAY LP 4; CLAY LP 8; CLAY 11; CLAY 8; PLATE 3; ExactAudioCopy v0.99pb3 (...) //These are the custom tags //Each tag was on a separate line and had a long string of values like the foobar2000 standard tags //but for visual clarity I have stripped all their values and joined all the lines in Notepad2 (Selection-> CTRL+J) <ALBUMARTISTSORT> <ARTISTSORT> <CATALOG> <COMMENT CDDB DISC ID> <COMMENT COMMENT> <COMPILATION> <COPYRIGHT> <COVERART> <COVERARTMIME> <DESCRIPTION> <DISCID> <DISCOGS_ARTIST_ID> <DISCOGS_ARTIST_ID> <DISCOGS_ARTIST_LINK> <DISCOGS_ARTIST_NAME> <DISCOGS_CATALOG> <DISCOGS_COUNTRY> <DISCOGS_DATE> <DISCOGS_LABEL> <DISCOGS_LABEL_LINK> <DISCOGS_ORIGINAL_TRACK_NUMBER> <DISCOGS_RELEASE_ID> <DISCOGS_RELEASED> <DVDA_TITLE> <DVDA_TRACK> <ENCODED BY> <ENCODER> <ENCODING PARAMS> <ENCODING SETTINGS> <ENGINEER> <ISRC> <LANGUAGE> <LOG> <LYRICS> <MEDIA TYPE> <MEDIATYPE> <ORIGINAL ARTIST> <PUBLISHER> <PUBLISHER URL> <RELEASE TYPE> <REPLAYGAIN_REFERENCE_LOUDNESS> <RIP DATE> <RIPPING TOOL> <SOURCE> <STYLE> <SUPPLIER> <TEMPO> <UNSYNCED LYRICS> <WWW> [/size] Let's format the text of the above text file using Search-Replace-Regex...For all lines having custom tags, we do this: For this example, let's look at one line which originally looked exactly like this:<DISCOGS_ARTIST_ID> : «multiple values» 10463; 88606; 59249; 135946; 135947; 135948; 26592; 56799; 164252; 323533; 61686 we select the line, and open the 'Replace Text' dialog box [CTRL+H], and check 'Regular expression search' Let's replace all text to the right of a matching string pattern with some text Search string is "> : .* " ««« remove the quotes Replace with "> " ««« remove the quotes Result:<DISCOGS_ARTIST_ID> Let's replace the last character in each line with some text... Search string is ">$ " ««« remove the quotes Replace with " " ««« field is empty Result:<DISCOGS_ARTIST_ID Let's replace the first character in each line with some text... Search string is "^< " ««« remove the quotes Replace with " " ««« field is empty Result:DISCOGS_ARTIST_ID Let's add some text to beginning and end of the line... Search string is "^(.+)$ " ««« ^ means start of the line | . means any character | + matches the preceding one or more times | $ means end of the line Replace with "$meta(\1) " ««« \1 means the source match within the parentheses Result:$meta(DISCOGS_ARTIST_ID) For all lines having foobar2000 standard tags, we do this: For this example, let's look at the string of the 'Artist Name' tag:Artist Name : «multiple values» Alain Goraguer; The Church; Danger Mouse and Sparklehorse; Flipper; Iggy And The Stooges; Jan & Dean ... Let's replace all text of a matching string pattern with some other text... Search string is "Artist Name : .* " ««« . means any character | * matches the preceding zero or more times Replace with "$meta(artist) " ««« has been converted to foobar2000 title formatting syntax Result:$meta(artist) So after operating on all lines of the text file ... we will have a flat list of tag names formatted as foobar2000 title formatting syntax. These formatted tag names can now be used as input for the components foo_texttools or foo_utils as mentioned by Daeron.