//opens the midi device for playback private static void OpenMidiDevice() { try { MCI_OPEN_PARMS mciOpenParms = new MCI_OPEN_PARMS(); mciOpenParms.lpstrDeviceType = "sequencer"; mciOpenParms.lpstrElementName = fPath; if (mciSendCommandOpen(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, ref mciOpenParms) != 0) throw new Exception("Could not open MIDI Device."); deviceID = mciOpenParms.wDeviceID; isOpen = true; isOpening = false; } catch (Exception e) { GameState.AppendToLog(e.Message + "\n" + e.StackTrace); } }
private static extern int mciSendCommandOpen(int wDeviceID, int uMessage, int dwParam1, ref MCI_OPEN_PARMS dwParam2);