/// <summary>
        /// Reads a noteevent from the filestream
        /// </summary>
        /// <param name="from">stream where to read from</param>
        /// <param name="to">where to read event</param>
        /// <returns>number of bytes read</returns>
        public new static int Read(AudioStream from, List <TrackEvent> to)
        {
            int index = to.Count - 1;

            NoteEvent n = new NoteEvent();

            n.CopyFrom(to[index]);

            int eventSize = from.Read(n, skipFields: new string[] { "Timing", "Prefix", "AbsoluteTiming" });

#if NOTEDEBUG
            this.Debug();
#endif

            to[index] = n;
            return(eventSize);
        }