About mAirlist and Xml


As i understan is it faster to add a mmd file to all audiofile insted to let mAirlist read the audiofile is that right? (I trying to load a m3u file with 800 items. No good idea. But the program dident hang. Thats good.)

Did mAirlist care about <?xml version="1.0" encoding="ISO-8859-1"?> header in xml files can i add other comments? As Which tags are valid?

Can i add any type off in the file? Can i when the file is loding see the Attribut without to open the property dialog?

That all for now

Patrik Ekman
Vårgårda Sweden

When there’s no MMD (or special mAirList ID3 tag) present, and the file isn’t registered in any connected mAirListDB either, mAirList will open the file to gather the required information. In particular, it will read the native file tags, and also perform Auto Cue (if enabled) to determine the Cue In, Fade Out and Cue Out points according to the dB threshold values you specified in the configuration. Auto Cue is what makes the file import (or M3U import, which is basically the same thing) so slow. You can still turn it off in the config, but then you won’t have any Fade Out points, and thus no crossfades.

If you plan to import M3U files alot, you should either create an MMD file for each of your files, or simply use a mAirListDB database and import all files into it.

mAirList (more precisely: the XML library it uses) should be able to parse any well-formed XML file including encoding headers and comments. As mentioned earlier, there’s no documentation or schema for the XML format. mAirList won’t validate the input file either, it will just ignore tags that it doesn’t know about.

You can add as many Attributes as you like, it’s a simple name->value mechanism.

And if it is no cue info in mmd file? What happend?

Then you won’t have any cue points.


I try to create a mAirListDB but nothing happend! I cant type any name an tha dialog onli flash a little when i press Create New Database…

How will i do to use mAirListDB.


Is that a 64 bit Windows? Please download the latest snapshot, there was a bug.


No! Negative! I cant create any mAirListDB. I cant write a filename. It feel like the editbox is zerolength;

You’re not supposed to type in the file name manually. Just click the “Create new database” button, and a file dialog will pop up and let you choose one.

That dialog never popup!

Seems to be some very strange bug. There’s a user in the German forums reporting the same thing, while it works fine here on my machines.

What Windows version? 32 or 64 bit?

32bit WinXp sp2 swedish

And i have 3 monitors.

Tested it on a German 32-bit XP, works fine.

What about the other Open File dialogs in the config app, e.g. on the Cartwall Favorites page, do they work?

Yes that dialogs work.

I hook it up in my delphi but no exception on create database…

I assume TSaveDialog.Execute returns false for some odd reason. But the code is so trivial, what could be wrong about it?

procedure TDBLiteConfigForm.btnNewClick(Sender: TObject);
  with sdNewInstance do begin
    Filename := GetRootFolder + 'database.db';
    if Execute then begin
      edFilename.Text := Filename;
      if FileExists(edFilename.Text) then

  object sdNewInstance: TSaveDialog
    DefaultExt = 'db'
    Filter = 'Database Files (*.db)|*.db'
    Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]
    Title = 'Create New mAirListDB Instance'
    Left = 18
    Top = 74

Very confusing! That is exact as i do that kind things!

And i cant chose an empty s3db file either… i think the opening is exepted some db structure…

I have re-create the error.

SaveDialog1.FileName := ‘\yyyshhs’;

I have everything om my server so then i put in the string over no dialogs apear!

GetRootFolder is returning something wrong.

You can check what GetRootFolder returns on the new Advanced -> Data Folders page in the config app. It’s called “root data folder” there.

The structure (schema) is created as part of the “create new database” process (that’s what’s inside the DoSetupDatabase method).

I have created and uploaded an “empty” database you can use as a workaround: http://www.mairlist.com/download/tmp/empty.db
(download and save it and use “open existing database file” to connect to it). Note that it needs the latest snapshot, but I think you already did so.

Regarding the save dialog problem, it seems that we’re not the only ones: https://forums.codegear.com/thread.jspa?threadID=27967&tstart=0

(By the way, I hate it when people don’t report back after they solved a problem, or just write “solved” but don’t mention how they did it.)

I have prepared a debug build that write the return value of GetLastError to a debug window, can you please try it and report what it says? http://www.mairlist.com/download/mAirList/v3.0/debug/

I’m away from home now until tonight. Get back to you later.

Advanced -> Data Folders Looks normal!

And debug window:
13:58:42.984 (1) Dispatch thread id: 4812
13:58:53.453 (0) Last error: 0

Not mutch!

I check with our component guy tomorrow. He if anybody can answer on that question.


I have the same problem with Mairlist. Now I use the empty database and it works.

Best regards

    Filename := GetRootFolder + 'database.db';

Could it be that there is a missing (or extra) \ character in that string somewhere?

For example, if GetRootFolder returns a string without a trailing \ character, then Filename will be wrong; and from my limited knowledge of Delphi (being a VB programmer), I would guess that sdNewInstance would ‘fail’ and thus return False without displaying the dialog for more than a few mS?