Hi guys, I've taken a look at our multimidi code, in particular this issue RJ came across where changing the output device combobox would cause a segfault due to infinite recursion.
The short history of the problem is this: Originally I tried to deal with input and output appearing as separate devices by having two MidiDevices be created (one input-only, one output-only), and then calling this MidiDevice::setCorrespondingOutputDevice(...) function on the input one. That turned out to be a crappy approach because juggling MidiMapping turned out to be awkward. The better way turned out to be passing the input and output device indices to MidiDevice and aggregating two half-duplex device streams into a single full-duplex MidiDevice. Sean's auto-pairing code works by matching up those input and output device indices before creating the MidiDevices. However, I still had leftover code that called MidiDevice::setCorrespondingOutputDevice() kicking around, and that's where the combobox crash came from. What I've done for now is removed this obsolete "correspondingOutputDevice" stuff, since it probably caused Sean, Phil, and RJ some pain (my bad). I've also greyed out the output device combobox. The correct device name does get highlighted though at least now. In the future, if we want to allow people to choose output devices other than the one we auto-select, MidiDeviceManager::queryDevices() will have to be modified to take that into account. I don't think we'll need that for 1.8, however, I need someone to confirm that their MIDI devices (with output) work on Windows in the features_portmidi branch [1]. Thanks! Albert [1] bzr co lp:~mixxxdevelopers/mixxx/features_portmidi ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
