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?
Asked
Active
Viewed 197 times
1 Answers
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