0

I want to parse out the beat count information, but I can't figure out how to do that from the API it provides.Anybody know?

Maxim
  • 1,995
  • 1
  • 19
  • 24

1 Answers1

0

I'm the author of DryWetMIDI. Here small sample program:

using System.Linq;
using Melanchall.DryWetMidi.Core;
using Melanchall.DryWetMidi.Interaction;

namespace DwmExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var midiFile = MidiFile.Read("My MIDI file.mid");
            var timeSignatureTimedEvents = midiFile
                .GetTimedEvents()
                .Where(e => e.Event.EventType == MidiEventType.TimeSignature)
                .ToArray();

            var firstTimedEvent = timeSignatureTimedEvents.First();
            var timeSignatureEvent = (TimeSignatureEvent)firstTimedEvent.Event;
            var timeSignatureTime = firstTimedEvent.Time;
        }
    }
}

You can also use Events property of specific track chunk within a MIDI file:

var firstTrackChunk = midiFile.GetTrackChunks().First();
var firstTimeSignatureEvent = firstTrackChunk
    .Events
    .OfType<TimeSignatureEvent>()
    .FirstOrDefault();
Maxim
  • 1,995
  • 1
  • 19
  • 24