这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

Fix connection list regression from PR #61 MUID type change

Problem

After PR #61, the Qt GUI "Device:" combo box on the "Initiator" tab no longer populates with discovered connections when clicking "Send Discovery". The InitiatorWidget::updateDeviceList() method receives an empty connections_vec even though discovery is working.

Root Cause

PR #61 changed the core MidiCIDevice to use uint32_t for MUIDs instead of uint8_t, but CIDeviceModel::on_connections_changed() was still using uint8_t vectors when iterating through connections. This type mismatch prevented the connection synchronization callback chain from working properly between the core device and GUI layers.

Solution

Changed all uint8_t MUID variables to uint32_t in CIDeviceModel::on_connections_changed() to align with the core device interface changes:

  • std::vector<uint8_t> current_muidsstd::vector<uint32_t> current_muids
  • std::vector<uint8_t> existing_muidsstd::vector<uint32_t> existing_muids
  • for (uint8_t muid : current_muids)for (uint32_t muid : current_muids)
  • uint8_t muid = conn_model->get_connection()->get_target_muid()uint32_t muid = ...

Testing

  • ✅ Project builds successfully without compilation errors
  • ✅ Qt GUI application starts and initializes properly
  • 🔄 Manual testing required: Run the Qt GUI, click "Send Discovery" on Initiator tab, and verify Device combo box populates

Files Changed

  • tools/ci-tool/src/CIDeviceModel.cpp - Fixed MUID type mismatch in connection synchronization

Link to Devin run

https://app.devin.ai/sessions/876ffe834a52417783bf78c600be8dfc

Requested by: Atsushi Eno (atsushieno@gmail.com)

- Change uint8_t to uint32_t for MUID variables in CIDeviceModel::on_connections_changed()
- Aligns with core MidiCIDevice interface changes that use uint32_t for MUIDs
- Fixes Qt GUI Device combo box not populating after discovery

The issue was that PR #61 changed the core device to use uint32_t for MUIDs,
but the tooling layer was still using uint8_t vectors, causing a type mismatch
that prevented connection synchronization between core and GUI layers.

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
@atsushieno atsushieno merged commit c7182ac into main Jun 19, 2025
3 checks passed
@atsushieno atsushieno deleted the devin/1750353889-fix-connection-list-regression branch June 19, 2025 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants