Skip to content

Commit

Permalink
Ensure MIDI devices show in connected devices menu
Browse files Browse the repository at this point in the history
  • Loading branch information
neilenns committed Feb 9, 2025
1 parent 11b45ab commit 1dfbef2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
20 changes: 14 additions & 6 deletions MobiFlight/ExecutionManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,22 +148,30 @@ public ExecutionManager(DataGridView dataGridViewConfig, DataGridView inputsData
joystickManager.Startup();
OnJoystickConnectedFinished?.Invoke(sender, e);
};
if (Properties.Settings.Default.EnableJoystickSupport)
{
joystickManager.Connect();
}

midiBoardManager.OnButtonPressed += new ButtonEventHandler(mobiFlightCache_OnButtonPressed);
midiBoardManager.Connected += (sender, e) => {
midiBoardManager.Startup();
OnMidiBoardConnectedFinished?.Invoke(sender, e);
};

mobiFlightCache.Start();
}

public void StartJoystickManager()
{
if (Properties.Settings.Default.EnableJoystickSupport)
{
joystickManager.Connect();
}
}

public void StartMidiBoardManager()
{
if (Properties.Settings.Default.EnableMidiSupport)
{
midiBoardManager.Connect();
}

mobiFlightCache.Start();
}

private void ModuleCache_ModuleConnected(object sender, EventArgs e)
Expand Down
8 changes: 6 additions & 2 deletions UI/MainForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,10 @@ private void MainForm_Shown(object sender, EventArgs e)
execManager.OnJoystickConnectedFinished += ExecManager_OnJoystickConnectedFinished;
execManager.OnMidiBoardConnectedFinished += ExecManager_OnMidiBoardConnectedFinished;

// Now that the joystick and midi handlers are configured it's ok to start them
execManager.StartJoystickManager();
execManager.StartMidiBoardManager();

connectedDevicesToolStripDropDownButton.DropDownDirection = ToolStripDropDownDirection.AboveRight;
simStatusToolStripDropDownButton1.DropDownDirection = ToolStripDropDownDirection.AboveRight;
toolStripAircraftDropDownButton.DropDownDirection = ToolStripDropDownDirection.AboveRight;
Expand Down Expand Up @@ -322,7 +326,7 @@ private void ExecManager_OnMidiBoardConnectedFinished(object sender, EventArgs e
Enabled = true
};
item.Click += peripheralsToolStripMenuItemClick;
joysticksToolStripMenuItem.DropDownItems.Add(item);
MIDIDevicesToolStripMenuItem.DropDownItems.Add(item);

hasConnectedMidiBoards = false;
}
Expand All @@ -332,7 +336,7 @@ private void ExecManager_OnMidiBoardConnectedFinished(object sender, EventArgs e
{
var item = new ToolStripMenuItem(device.Name);
item.Click += peripheralsToolStripMenuItemClick;
joysticksToolStripMenuItem.DropDownItems.Add(item);
MIDIDevicesToolStripMenuItem.DropDownItems.Add(item);
}

hasConnectedMidiBoards = true;
Expand Down

0 comments on commit 1dfbef2

Please sign in to comment.