Fix incorrect port lists due to custom sort
Previously the following were treated as equal "MIDI_foo" == "MIDI bar" So std::map<> PortManager::_ports and PortEngineSharedImpl:_ports could only have either. This resulted in missing ports and missing calls to existing ports in cycle_start(). This mainly affected MIDI tracks with imported files, since there is "MIDI Clock in", and imported files result in tracks "MIDI_file-name". This issue was introduced in 6.6-200-g60ff3ef764
This commit is contained in:
parent
bfd52fd94d
commit
98f5224d4c
@ -139,6 +139,12 @@ naturally_less (const char* a, const char* b)
|
|||||||
#if 1
|
#if 1
|
||||||
/* treat underscore as space, this works around idiosyncratic
|
/* treat underscore as space, this works around idiosyncratic
|
||||||
* ffado port-names: "foo_in", "foo0_in", "foo2_in", etc */
|
* ffado port-names: "foo_in", "foo0_in", "foo2_in", etc */
|
||||||
|
if (*a == '_' && *b == ' ') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (*b == '_' && *a == ' ') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (*a == '_') {
|
if (*a == '_') {
|
||||||
return ' ' < *b;
|
return ' ' < *b;
|
||||||
} else if (*b == '_') {
|
} else if (*b == '_') {
|
||||||
|
Loading…
Reference in New Issue
Block a user