m.lnFile = FOPEN(GETFILE()) >FSEEK(m.lnFile,-128,2) >m.lcTag = FREAD(m.lnFile,128) >? "Title:",STRTRAN(SUBSTR(m.lcTag,4,30),CHR(0)) >? "Artist:",STRTRAN(SUBSTR(m.lcTag,34,30),CHR(0)) >? "Album:",STRTRAN(SUBSTR(m.lcTag,64,30),CHR(0)) >? "Year:",VAL(SUBSTR(m.lcTag,94,4)) >FCLOSE(m.lnFile)I was not aware of that structure. I'm happy to know it can be manipulated directly. I tried your code and it works ok. For what it does, it's pretty robust for me enough. I understand it is not as flexible as instantiating an object and calling its method, but, that's cool.