The latest version of the Complete MIDI 1.0 Detailed Specification, as stored here for download in the Specs section of the MMA web site is the Third Edition 96-1-4.
If you look in that document at the Standard MIDI Files 1.0 section, and then at the part that describes Formats 0, 1 and 2, in the third paragraph where it's talking about tempo maps it uses the word "must" when referring to type 1 files. I quote "for a format 1 file, the tempo map must be stored as the first track,"
Agreed, it uses "should" in other parts of the document, but I feel this sentence makes it absolutely clear.
I think we should interpret "should" as that track 1 is the correct place for tempo events, but they might not always be there because of non-standard programming..
However, having said that, I too have come across tempo, time signature and key signature events dotted all over various, shall I call them, non-standard MIDI files.
A good, well-written sequencing program should, in my view, be able to handle these misplaced events and, upon re-saving the file after editing, move them to the correct place, that is into track 1.
I'd just like to reiterate, in different words, that a tempo map is a concept not an actuality.
A tempo map can be viwed as the sum of all Set Tempo and Time Signature events stored (hopefully, if the program is well written) within track 1, alongside various other bits of meta data. A SMPTE may also represent part of that tempo map data.
Max, it's not unusual in my experience to find spedifications confusing. They are often written by a committee or at least more than one person.
Many years ago when I was working in Germany, before a major exhibition, my team had to sort out why the German ISDN network wouldn't communicate with the French network.
One of my protocol analysts found the problem - a difference in interpretation of the standards. Mark you, these particular standards occupied a whole shelf.
Any clearer?
JohnG.