public IMuseInternal() { _snm_triggers = new ImTrigger[16]; for (int i = 0; i < _snm_triggers.Length; i++) { _snm_triggers[i] = new ImTrigger(); } _channel_volume = new ushort[8]; _channel_volume_eff = new ushort[8]; _volchan_table = new ushort[8]; _players = new Player[8]; for (int i = 0; i < _players.Length; i++) { _players[i] = new Player(); } _player_limit = _players.Length; _parts = new Part[32]; for (int i = 0; i < _parts.Length; i++) { _parts[i] = new Part(); } _global_instruments = new Instrument[32]; for (int i = 0; i < _global_instruments.Length; i++) { _global_instruments[i] = new Instrument(); } _cmd_queue = new CommandQueue[64]; for (int i = 0; i < _cmd_queue.Length; i++) { _cmd_queue[i] = new CommandQueue(); } _deferredCommands = new DeferredCommand[4]; for (int i = 0; i < _deferredCommands.Length; i++) { _deferredCommands[i] = new DeferredCommand(); } _timer_info_adlib = new TimerCallbackInfo(); _timer_info_native = new TimerCallbackInfo(); }
protected void InitMidiDriver(TimerCallbackInfo info) { // Open MIDI driver var result = info.Driver.Open(); // if (result != MidiDriverError.None) // Console.Error.WriteLine("IMuse initialization - {0}", MidiDriver.GetErrorName(result)); // Connect to the driver's timer info.Driver.SetTimerCallback(info, MidiTimerCallback); }