Is there a way to dynamically load (on the fly) .mid files and play them in C#, allowing me to play multiple files at the same time while also being able to change volume and frequency/speed?
I've tried using multiple Libraries like:
DirectX.DirectSound (only for .wav's),
DirectX.AudioVideoPlayback (works with MIDI's, but is outdated and no control over speed or frequency),
DirectX.DirectMusic (sounds perfect, but isn't managed and I'm working in C#...), and
XNA.Framework.Audio (can't load files at runtime, to my knowlege).
At this point AudioVideoPlayback seems to be my best
option, but I'm sure one of you knows better than I do, so if you think
you know a way to use any of these Libraries or a different one to do
what I'm asking, please post a reply!
Also, I'm sure at this point someone's about to suggest not using MIDI
files. I understand where you're comming from, but I'm trying to make
my program be able to load, play and mix a variety of audio types, to
be as user friendly as possible.
If it helps, here's a brief description of my project:
-uses XNA (though, I don't think that makes much of a difference)
-is a Windows App
-designed to help the user create RPG-esque games (thus the dynamic loading of sounds)
Thank you in advance for any help you can give me! I await you reply.
P.S. I know I've probably said something silly at this point, but please bear with me. I've a right to foolish aspirations!
-Thomas
-Thomas