// Token: 0x06003268 RID: 12904 RVA: 0x001478A8 File Offset: 0x00145AA8 public int Compare(SingleTrackChunksConverter.EventDescriptor x, SingleTrackChunksConverter.EventDescriptor y) { long num = x.AbsoluteTime - y.AbsoluteTime; if (num != 0L) { return((int)(num / Math.Abs(num))); } MetaEvent metaEvent = x.Event as MetaEvent; MetaEvent metaEvent2 = y.Event as MetaEvent; if (metaEvent != null && metaEvent2 == null) { return(-1); } if (metaEvent == null && metaEvent2 != null) { return(1); } if (metaEvent == null && metaEvent2 == null) { return(0); } int num2 = x.Channel - y.Channel; if (num2 != 0) { return(num2); } ChannelPrefixEvent channelPrefixEvent = x.Event as ChannelPrefixEvent; ChannelPrefixEvent channelPrefixEvent2 = y.Event as ChannelPrefixEvent; if (channelPrefixEvent != null && channelPrefixEvent2 == null) { return(-1); } if (channelPrefixEvent == null && channelPrefixEvent2 != null) { return(1); } return(0); }
// Token: 0x060033A3 RID: 13219 RVA: 0x00148300 File Offset: 0x00146500 public MidiEvent Read(MidiReader reader, ReadingSettings settings, byte currentStatusByte) { byte b = reader.ReadByte(); int num = reader.ReadVlqNumber(); string typeName; MetaEventReader.TryGetEventType(b, out typeName); MetaEvent @event = this.GetEvent(typeName, b); long position = reader.Position; @event.Read(reader, settings, num); long num2 = reader.Position - position; long num3 = (long)num - num2; if (num3 > 0L) { reader.Position += num3; } return(@event); }