diff --git a/libs/pbd/pbd/natsort.h b/libs/pbd/pbd/natsort.h index c3a24546a1..bd03b555a4 100644 --- a/libs/pbd/pbd/natsort.h +++ b/libs/pbd/pbd/natsort.h @@ -136,6 +136,15 @@ naturally_less (const char* a, const char* b) if (*a == *b) { continue; } +#if 1 + /* treat underscore as space, this works around idiosyncratic + * ffado port-names: "foo_in", "foo0_in", "foo2_in", etc */ + if (*a == '_') { + return ' ' < *b; + } else if (*b == '_') { + return *a < ' '; + } else +#endif return *a < *b; }