dano export configs

Mp3tag v2.38 required!

How do I install the export config?
The *.mte files must be copied in the corresponding profile folder %appdata%\Mp3tag\export

Sampler/VA detection relies on the tag %ALBUM ARTIST%. If you use a different tag, you must replace it in the config.
iTunes and WMP users must use %BAND%


  • Sorts by Artist > Album
  • Sorts by Artist > Album, relies only on the folder structure to build the sorting. (Should be Artist\Album\Tracks)
  • Sorts by Genre > Artist > Album
  • A simple NFO file for each album
More album list export configs

NFO_dano__simple_design.zip (577 Bytes)

dano_export_2008_03.zip (5.41 KB)

I don't understand this. Do you mean we somehow create a new tag field or simply use a specific way of filling the existing "album" and/or "artist" tag fields?

Apologies from a newbie and thanks for all this amazing work you guys have done! I'm incredibly excited to have discovered all this stuff and already I find Dano's album list export to be a beautiful and useful tool!

Another newbie question. I've actually been using Mp3tag for a while and love it an I'm just now exploring the export features. dano_List_Album_dir_js_ex is exactly what I'm looking for but there are a few things I want to change and don't have the programming knowledge to figure out how.

First is Various Artist albums, it seems in the exported html file the tracks are sorted by file name not by track. Since my file naming structures is "[artist] [track #]-[track name]" the artist/album is fine but the tracks are all out of order.

Second, I wanted to turn off the link on each track to play/download the file when it's clicked on when i post this to some web pages (I'm not running a download service).

What strings do I need to add or change in the configuration to make this possible?

These are really only minor issues to me, I just thought I'd bring them up. Those exports are awesome, perfect for posting a quick artist discography that can easly be sent or posted to a website. I wish I had this when I was DJ'ing as a side job so soon to be married couples could choose their favorite songs.

I changed it for you..

dano_List_Album_dir_js_ex_Kerensky97_.zip (1.76 KB)

I've been using your export for a long time... really like the simple layout and the fact that I can start playing a song while I'm browsing. One request... Would it be possible to add a "enqueue" option of some sort to go along with the "Play" option?


I very much like the first template. However, I'm considering embedding lyric tags in my flac files and am wondering if it would be possible to modify that template to allow viewing lyrics when clicking on a track if such lyrics exist. I would guess the track would show up as a link only if lyrics exist, or there would be a lyric link button of some sort next to the track listing. Is this possible and, if so, would the lyrics show up nicely formatted, or would it just be a long string?

I would like to learn how to edit these templates. I'm pretty clueless of what an mte file is. What program do you edit them in? Is there a primer somewhere on mte files and how to compose/edit them? (I opened your template up in word. Does word reveal all that's there?)

Two other questions for you:

(1) I noticed your script for downloading lyrics. It says it works on mp3 tags. Will it work with flac tags?
(2) I posted a question in the General Discussion Forum asking if there are any downsides to embedding lyrics in flac tags. I take it you think not, at least for MP3 files. Do you have an opinion with regard to flac files?

Thanks in advance for your help.


I don't know how to do this or if it is even possible. If you have a player with a web interface maybe yes.

Sure it is possible. Everything you can do with html, java script or other web coding can be applied here, too.

mte = plain text file with a certain syntax, just like other programming formats html vbs cpp pas

I don't know if word is suitable for plain text formats, I'd rather user Notepad or a more advanced text editor with syntax highlighting like Notepad++ or PSPad
You should know html basics and maybe a little java script.

Sure why not. Only the tag field name maybe needs to be changed. flac has no real lyric field standard but it seems most apps use LYRICS wheras in Mp3 the standard frame is triggered by UNSYNCEDLYRICS in Mp3tag.

hey, I love the dano_List_Album_dir_js export, although I haven't messed around with the dano_List_Album_js_ex yet.

My only complaints, and this may be addressed with the non-directory based one is that albums are sorted alphabetically and not by year. Since it's relying on directories for sorting, I imagine this is the intended behaviour. Is the other one different?

Here is an edited version I'm using now:


One other thing I noticed it that some albums do not expand... any idea why this is?

For instance,

Unknown Album

It says there's one song, but doesn't expand.

***Hi there, firstly I would like to thank you for the excellent gizmo you made am really impressed...being new to MP3Tag I would like to ask and please forgive my ignorance.

I have tried using your tool dano_List_Album_dr_js_ex however I keep getting this when I open the web page it creates...

In the Export window I have tried both append data and one file per directory together and individually but can't seem to get it to give the artist with each album under it like yours...what am I doing wrong please...

Thanks for your time with this



i like very much this result of the mte file: http://www.nolageek.com/music/
but i can't figure it out how i should use this mte file for my music or whatever?
can somebody help me?


Hey dano,

I am working with your "dano_List_Album_js_ex" and "dano_List_Genre_js_ex" exports (Great exports...thanks!).

I wanted to know if there is a way to format the exports in such a way to limit what opens when clicking on items.

Within an artist for instance, if I click to expand an album, then click to expand a different album of the same artist it currently keeps both albums expanded. Is it possible to have it only expand the last selected album. So when I click on a new album, it closes the other.

Something along the same line. When you go from one artist to another, is it possible to have it close the last artist, as well as close the album(s) expanded beneath that artist.

I noticed that you can close an artist, but if you don't close the album(s) beneath, the tracks will still be listed. This results in seeing the list of tracks without seeing the album title.

Just a thought. I am not too familiar with the script functions, so I am not sure how this could be done, or if it can be done at all.

I hope you understand what I am talking about.


I've noticed a weird behavior when exporting from directories with weird filenames. In my case, I was trying to export the info of the tracks on my iPod. I opned the the root of the iPod with MP3Tag, select all and export. When the export finished and switched to firefox to see the html, I noticed that when I clicked the artist name, there were several copies of the same album listed.
I knwo a couple of things on programming and MP3Tag scripting, so I opened the mte in notepad2 and search for my problem. After some looking at the code, I finally found what I was looking for. Apparently you loop the files first by the ID3 tag Artist, and then you loop again by each folder in the directory. This works OK if your directory is well organized, but in some cases (as the iPod wich has it's own folder structure) this results in several copies of the same album getting listed.
The solution I've found was to change the "loop by" variable from %_folderpath% to %album%.

There's another "bug" that I've faced: If some artist has a name with a single quote " ' ", you can't expand that artist's name to see the albums. For example, if you have "Guns N' Roses", you couldn't see their albums.
The way I found to solve this was to add a replace just like in it's done in the album's section, replacing the single quote in the javascript function show() with an escaped single quote " ' ":

Replace this:

<td id="id%artist%" class="row2" width="40%%"><b><a href="java script:show(''%artist%_'');">%artist%</a></b></td>

With this:

    <td id="id%artist%" class="row2" width="40%%"><b><a href="java script:show(''$replace(%artist%,'','\''')_'');">%artist%</a></b></td>

Another add-on that I made was that if the artist has more than 1 album, it writes "Albums", otherwise it just writes "Album".

Just replace this line:

<td class="row2" align="right" width="32%%">$loop(%album%,1)$loopend() %_max_counter% Album(s) %_total_size% | %_total_files% Files | %_total_time% hrs </td>

With this other:

<td class="row2" align="right" width="32%%">$loop(%album%,1)$loopend() %_max_counter% Album$ifgreater(%_max_counter%,1,'s',) %_total_size% | %_total_files% Files | %_total_time% hrs </td>

Finally, if you're a format maniac like me, you won't like to have the tracks numbers listed with different lenghts (ie: 1,2,03,04,05,6,7). To normalize all tracks to 2 digit format replace this:

                           [%track% | ]%title%


With this:

                           [$num(%track%,2) | ]%title%


I hope this helps in someway to the developing of this great template!!

:wink: Peregrino

Hi dano,

I still haven't been able to figure out how to collapse an album (and/or artist) when I select another, or how to close an album at the same time if I close just the artist.

However, I did find that there is a problem with the ALBUM section of the "dano_List_Album_js_ex" file

In this part of the MTE:

	<table style="display:none;" id="show$replace(%artist%,'',)_" width="100%%">$loop(%_folderpath%)
		<td class="row4" align="center" width="5%%"><a href="$replace(%_folderpath_rel%,\,/)">-$num(%_counter%,2)</a></td>
		<td id="id$replace(%album%,'',)" class="row4" width="40%%"><b><a href="java script:show(''$replace(%album%,'',)'');">%album%</a></b></td>
		<td class="row4" align="right" width="32%%">%_total_size% | %_total_files% Files | %_total_time% hrs </td>
		<td class="row4" align="center" width="5%%">%year%</td>
		<td class="row4" align="center" width="18%%">%genre%</td>
	<tr style="display:none;" id="show$replace(%album%,'',)">
		<td class="row3" align="center"><a href="$replace(%_folderpath_rel%,\,/)%album%.m3u">Play</a></td>
	   	<td class="row3">$loop(%track%)
                    	   [%track% | ]<a href="$replace(%_folderpath_rel%,\,/)%_filename_ext%" title="%comment%">%title%</a>


		<td class="row3" align="right">$loop(%_filename_ext%)%_file_size% | %_bitrate%kbps | %_length%min | $replace(%_codec%,Free Lossless Audio Codec,FLAC)


	  	<td class="row3" align="center"></td>
	  	<td class="row3" align="center">%_total_size%

%_total_files% Files[



The section $replace(%album%,'',) doesn't work if the same album name occurs under different artists. I found this out when a couple of "Greatest Hits" albums wouldn't open.

That "$replace" function works if you change it to this:

$replace($if(%album artist%,%album artist%,%artist%)%album%,'',)This makes it more specific for each album.  I haven't had a problem with it once I change to that code, but there are a few places it needs to be changed.

I pulled the different $replace function from the Genre version of your awesome exports! Thanks.



That happens because of the ID the funtion show() looks for. The way Dano coded it is seriously ambiguous, I mean, is really likely to happen that two albums by different artists would have the same name. The way I got around this was modifying the ID system to a more specific one.
I took advantage of the arist and album loops and made a unique ID with the following pattern: XXXYY, where XXX is the number of artist and YY the number of the album by that artist, this way there's no chance two albums getting the same ID.
In addition, as now the IDs are way much short, I wonder if it would be some kind of improvement to the code. At least filesize will be shorter.

The artist part of the ID is generated this way:



Using that stored number, I generate te unique Album ID:


Notice that in this part, I had to increment _idArtist by 1. I still have no idea why the value of _idArtist in my code is reduced by 1 spontaneously!

Later, you have to change the ID's of the different parts of the HTML accordingly.

Regarding the collapse issue, search in this section of the forum. I'm sure I've seen an export template that does what you are loloking for.

Hi there!

I was quite a time searching for a good html export tool and when I discovered the dano_List_Album_dir_js_ex I knew this is absolutely perfect for me. There's just one little thing that I hope one of you guys can help. I got some trouble here with export lists that contain more than 2 levels. This is because I usualy work with several subfolders so it's not the typical 2 layer structure artist-album. Let's say there's a folder "Bowie" (level 1) and several subfolders with all the albums (level 2). Now one of those folders is named "Outside" that contains another 2 folders ("Outside" and "Outside Bonus Disc"). If I make an export file it does not have the correct tree structure but shows the "Outside" folder (containing "Outside" and "Outside Bonus Disc") als level 1 (next to the Bowie folder). This is quite annoying. I tried to fix it myself - unfortunately with no luck. Am I the only one with that problem? Any ideas?


If you look some posts above your's, you'll se a post by me, solving a very simmilar issue...

:wink: Peregrino

Hi Peregrino,

I followed your instructions and changed all loop variables that contains "%_folderpath%".
This was: "$loop(%_folderpath%,1)" and "$loop(%_folderpath%)".
I changed it to: "$loop(%album%,1)" and "$loop(%album%)". Unfortunately there was no effect. Still the same error. Maybe I made a mistake (my programming skills with JavaScript are near zero).
Any help is highly appreciated.


You should download the configs again and use dano_List_Album_js_ex (without dir in the name).

Of course the dano_List_Album_js_ex works fine. It's just that the dano_List_Album_dir_js_ex is absolutely what I am looking for.
If only the export file would show EXACTLY the structure of the folders/files on my hard disk. I bet a slight modification of the code will avoid this effect of a wrong display of subfolders.
Maybe someone here can help. :wacko:

Oh well...

The problem for you is

You can change it to something like


What does this do? It makes sure it gets always the artist directory whether you have 2 levels or 3 or more

The amount of .+?\\ groups depends on when your artist directories start
c:\my music\Bowie\Outside\Outside{files}
Here it would be two groups before (.+?)\\.+$
You must adopt it to your file structure it can't be made automatically... (can be probably improved but that's now for a start)

When you have the right expression, you must also put it in the id / show parts by replacing %_parent_directory% (lines 57 and 63)

<td id="id$replace(%_parent_directory%,'',)" class="row2" width="40%%"><b><a href="java script:show(''$replace(%_parent_directory%,'',)_'');">%_parent_directory%</a></b></td>

First 2 %_parent_directory%

<table style="display:none;" id="show$replace(%_parent_directory%,'',)_" width="100%%">$loop(%_folderpath%)

First %_parent_directory%
3 times in total, not more