2.0.7: mAirListTag bugs

All of these refer to mAirListTag, so I guess they apply to the ExtraPFL player as well. :slight_smile:

  1. When a loaded track is at EOF, clicking PLAY starts playing the track from the beginning. Is this really the way it is intended to work? I find it very annoying, and wastes a lot of time. If I want to play from the start again, I’ll click the 0 button. When the track is at EOF, I am more likely to be setting an Outro or Fade Out point; so if I click PLAY (by mistake!), the last thing I want is to go back to the start of the track.

  2. The Enter and spacebar keys seem to ‘operate’ the last control clicked with the mouse. This can mis-set a cue point if I hit either of those keys by mistake. I wonder if this is the ‘default Windows behaviour’ for controls like buttons? It would be helpful if those keys could be disabled completely in mAirListTag.

  3. Dragging the gauge completely to the right-hand end does not move the current play position to EOF: instead, it moves it to the last whole second before EOF (example: track is 1:52.45 long, dragging gauge to RHS moves position to 1:52.00). Clicking PLAY at this point will play most but not all of the fraction of a second beyond the ‘gauge end:’ typically it stops about 0.08s ‘short.’ When stopped, clicking 0 moves track to start, but Remain time is now incorrect by the amount the track stopped ‘short’ at EOF (typically about 0.08s). If you now carefully drag the gauge to about 0:01.00, then back to the left-hand end, voila! the Remain time is now correct again.

Bug 3) in particular is rather worrying! It seems like the gauge and the Remain time are not quite in sync.?

Hope some or all of these can be fixed easily: thanks in advance.

Sorry I haven’t noticed these before; I’m only now using mAirListTag ‘a LOT.’ :slight_smile:


Bug #1 seems to “inherit” from BASS.DLL. It seems that, when a BASS output channel has finished, and I issue another BASS_ChannelPlay, it will reset itself and play from the start again. There is a “restart” parameter to BASS_ChannelPlayer, but this happens even when I set it to “false”. Interestingly, this behavior is not even consistent - some files will reset their position automatically at EOF, even before you click PLAY. I will try to confirm this odd behavior, and then find a solution.

#2 is default Windows functionality. This is how you operate a Windows PC without a mouse :wink: I don’t know if it can be turned off.

The slider part of bug #3 is quite easy to explain. There are only ticks for the “full second” positions of the file, but no extra tick for the EOF position. I have tried to add one, but even then BASS.DLL doesn’t want to seek to the EOF position. Could be a rounding error (BASS.DLL and mAirList use different time scales, and I need to convert the position back and forth all the time).

The faulty time display is very odd. Remain and Elapsed should always add up to the same value. Obviously, BASS.DLL reports a wrong duration value aftern having seeked near the end. I will have to investigate that.


Ok, I found the reason for the wrong time display. Without the BASS_STREAM_PRESCAN option, BASS just estimates the duration of the stream. It will only know (and report) the correct, accurate duration when reaching EOF. This is why a different duration (and a different remaining time )is reported during playback and at EOF. When you switch BASS_STREAM_PRESCAN on, all reported durations and positions are accurate, and so is seeking.

Unfortunately, I have just noticed that mAirList ignores the BASS_STREAM_PRESCAN option unless you also activate File Management on the BASS.DLL config page. Try to switch on both, and the problem should be gone.


Unfortunately that didn’t seem to help (though I will try a reboot later, out of goodwill). mAirListTag does the same misbehaviour whether those BASS and file management options are on or off. :frowning:

And I’ve found a #4:

a) Set a Fade Out point.
b) Click the Fade Out TEST button and allow to play to EOF. Note that the Remain time is now zero but the Elapsed time is approx. 0.5s to 0.9s less than it was.
c) Repeat step b). Note that each TEST reduces the Elapsed time at EOF.
d) When the Elapsed time at EOF eventually becomes less than the Fade Out time, clicking TEST will play the track from the start, and the TEST button will no longer work.

Sorry to spoil your weekend, Torben, but that’s one heck of a rounding/conversion error! :wink:


I did another test with mAirList 2.0.7, and I can confirm bug #4. However, it disappears as soon as BASS_STREAM_PRESCAN is activated, which is unfortunately only possible if you activate File Management as well, and if you use WDM hardware mixing (but not software mixing or ASIO).

You will notice that BASS_STREAM_PRESCAN is active when you quickly drag the slider all the way from left to right; you will hear the little clicks, just like a DJ CD Player in fast forward/seek mode. This is because seeking is much faster with the prescan option enabled.

I have already prepared a version in which the option is set correctly. I have also modified the slider so that you can seek to EOF, however only in mAirList 2.1 so far, which has a slightly modified underlying architecture. Tomorrow, I will try to back port the changes to the 2.0 branch.



Hm, maybe not … I was asked to do the charts show tonight on eldoradio*, 19:00 to 20:00 CET, http://www.eldoradio.de - just in case you want to listen … :wink:


Torben, I’ve PMd you about this.

That’s a very pretty site, eldo*Radio!

Though I think it would raise a few eyebrows if Leith FM were to produce and sell, uh, eldo*Blätten.

That is however a splendid idea for promotional merchandise for a campus station! Kudos to whoever came up with it: I nearly cried with laughter when I looked at the larger images and figured out precisely what one was getting ‘2 stucks’ of for €1,50. Sheer bonkers lunatic genius brilliance!

Now then men: I think that small peak WAY over there in the distance is the topic thread, so with luck we should make it back there before darkness … >ahem!<


I’m glad that you like them :slight_smile:

Our slogan is “lebt mit dir” (“lives with you”). When we introduced our merch shop, I proposed to label them “schwebt mit dir” (“floats with you”) instead, but this was considered a little over the top :wink:

Our slogan is "lebt mit dir" ("lives with you").
That's slightly spooky: [b]our[/b] slogan is "where Leith lives" (!).

[FX: Twilight Zone intro music]

PS: Bonus points to anyone who correctly spots the, uh, >cough< inspiration for our slogan. :wink:


Looks like Torben has nailed all my reported problems 100%. (We exchanged thoughts by PM to avoid boring the pants off all you non-programmers out there!)

The only very minor issue is that one still can’t drag to true EOF (only to the last whole second) in v2.0, but that one will be fixed soon as well, AND one can now PLAY to true EOF after the drag. :slight_smile:

VERY happy bunny! Sincere thanks, Torben.

CAD (300 tagged and counting…)

Sorry, I won’t be able to add the extra EOF slider position in the v2.0 release. Internal tests demonstrated that, the way the BASS interface is implemented in v2.0, it does not allow seeking to EOF. I did manage it in the v2.1 release, but I had to make significant changes to the BASS channel handling, which I consider too “hot” to apply to the stable release.

I hope you understand.


Torben, no problem. As a programmer myself, I completely understand all you say. :slight_smile:

I shall add a note to the Tagging section of the Wiki (which I’m preparing right now, while I’m ‘heavily into’ tagging :wink: ) to the effect that the 2.0 slider will only move to the final whole second, i.e.: m:ss.00, regardless of the actual file length.

The correct file duration will always be displayed correctly in the Elapsed/Remain labels—if you have the PRESCAN/SETPOS an mAirList File Management options both switched on.

(Torben: I tested all this extensively last night and yes, that option is necessary, as you correctly predicted.)

Can I therefore suggest, Torben, that the file management and PRESCAN options are set on by default in all new stable and development versions of mAirList? The options can always be switched off in the unlikely event that they cause problems on a specific PC; and one really does need to 100% trust the tagging facility in any playout software! In my opinion, it is simply too dangerous to risk anyone else finding the ‘nasty alternative’ which I stumbled upon.

I am presuming that V2.0.8 (aka mAirList-Cad :wink: ) will be appearing very soon, incorporating the PRESCAN-in-tag-mode fix? Ditto a new 2.1.n version? :slight_smile:


In v2.0.8 (and in the preliminary version I sent to you), the prescan option should also be effective even when File Management is turned off. If not, it’s a bug. I will check it tonight, and then upload the new v2.0 version.

At the moment, prescan is disabled by default, but I can change that quickly. You just need to be aware that loading of audio files takes slightly longer when prescan is enabled, especially when the network is involved.

A new development version will be on its way soon, too. I just need to finish that secret new feature :wink:


Just confirmed it - it does work with File Management turned off. 2.0.8 should be ready for release now.