The backend will replace the information in the last bracket (IO)
of the name with (In/Out) when creating pretty port-names from the
device-name. -- see replace_name_io().
This fixes an issue with device-name number suffixes in brackets.
The engine setup identifies devices by name (device list is a map<>
with the device-name as key). To support multiple devices with the
same name, the name needs to be unique.
So far this is achieved by simply adding a number suffix starting with
the 2nd device (this allows to re-use configurations).
Ideally we'd use UUIDs or unique device IDs to handle this, and also
somehow clarify which device is which...
Use pbd/string_convert.h API instead of std::ostream for numeric formatting to
remain locale independent and not have to use a LocaleGuard. The formatting is
equivalent
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.
bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.