End of Track
This event is not optional. It is included so that an exact ending point may be specified for the track, so that it has an exact length, which is necessary for tracks which are looped or concatenated.
I've never seen a midi file that uses looping.
I attach two 'decode' .TXT files for your information.
I've tried the ex1.mid file in a couple of midi players, and they play the file fine, and seem to take no notice at all of [...] the spurious EoT time. They treat the file as being 3 seconds (or thereabouts) and play it happily. Then finish.I noticed the same thing in some MIDI players I use: playback ends after the last note (or other non-meta MIDI event). Although I feel it's technically correct to play until the End of Track event is reached in all tracks, there are some MIDI players that end playback after the last non-meta MIDI event is completed.
I've tried the ex1.mid file in a couple of midi players, and they play the file fine, and seem to take no notice at all of the SMPTE [...].I think the SMPTE Offset is only used if your MIDI player is able to sync with a tape system. Something like you start the tape and once the timecode on the tape matches the SMPTE Offset value, the MIDI file will start. A MIDI player designed for just listening to MIDI files doesn't need to do anything with the SMPTE Offset.
I fully accept that my reference to an offset of 33 days will be wrong, and the offset should actually be 1 day
about the SMPTE, [...] we have now determined that the setting in that will be about 1 hourNote that the SMPTE Offset in the examples is exactly 1 hour (not 1 day). Evidently, a timecode of 1 hour is commonly used as a starting point in video production. See Video Production Stack Exchange Why does all timecode start at 1 hour? (01:00:00:00).
As for the SMPTE, when did the spec change to allow for the use of the hight bits in the 'days' value for 'time code type'. Was this parameter active when the software was written in 1991/2.Hm, I don't know. I don't use SMPTE time myself, but when I noticed the SMPTE Offset hour value in a sequencer I use was different than the hour value in text file you made, I peeked in the specs to see what could be going on.