Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Export entire library with file fullname and metadata in a file (Read 4740 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Export entire library with file fullname and metadata in a file

Is it possible foobar2000 export entire library with file fullname and metadata in a file?
Playlist like m3u, m3u8 and flp only store file fullname.

Export entire library with file fullname and metadata in a file

Reply #1
You can use the component foo_texttools or foo_utils.

You will want to familiarize yourself with titleformatting as well to set up what exactly gets copied.


Export entire library with file fullname and metadata in a file

Reply #3
I tried all three components.
foo_utils and foo_json_library_export are what I am looking for.
foo_texttools is also convenient, but it is not able to copy and paste large number of tracks.
I selected thousands of tracks and right click on them, Utilities->Text tools->Advanced...
Track pattern: %list_index%,%tracknumber%,%artist%,%title%,%path%,
Then I click the Copy button and paste to see the result. It only paste first 371 tracks.

Export entire library with file fullname and metadata in a file

Reply #4
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):
Code: [Select]
//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.
 

Export entire library with file fullname and metadata in a file

Reply #5
Thank you for your detailed reply.
I tried your method with notepad2-mod. Search-Replace-Regex is very powerful.
With this technique I can get all custom tag names fast. And I can export all the metadata now.