From: Ken H. <ke...@ha...> - 2006-10-30 14:42:05
|
Lennon Cook wrote: > MusicBox currently strips any part of a filename after a '.'. This is > annoying when I have files named without extensions, but which do have > dots in the filename. I propose that this behavior be modified such > that there is a reasonable limit to what defines an 'extension'. > Convention seems to be that extensions are between two and four > characters (inclusive), and don't contain whitespace. In regex terms, > instead of matching '\..*\Z' for a file extension, MB should match > '\.\S{2,4}\Z'. Another option may be '\.\w{2,4}\Z', which limits > extensions to alphanumeric characters. > This would keep the current behavior (which has the desirable effect > of not putting '.ogg' onto every song title), but not use it over > zealously (so, 'Sgt. Pepper's Lonely Hearts Club Band' is reported > properly; current, it is reduced to 'Sgt'). > A previous draft of this post suggested a user-visible option to > control whether to attempt matching extensions or not, however I feel > that the auto-guessing solution is better on two counts: it avoids > complicating the preferences dialogue further; and will work properly > most of the time, so that I can have some files using extensions and > others not playing at the same time, and have everything reporting > properly. > > It may also be beneficial to put this function into ROX-Lib, since it > could be useful to other apps, and it would be better for everyone to > use the same rules. Well, I'm just using the python os.path.splitext() function, so if the extension is not split properly it is not 'my fault'. Second, not that it matters here, but Gnumeric uses '.gnumeric' for its file extension, so your ~3-5 characters doesn't always fit. Anyway, I'll think about it. I'm curious what files you are playing that don't have any metadata in them? The guessing is just supposed to be a fallback, and to be used for (e.g. WAV) files that don't support metadata. Ken |