The thing called backend_client_name defaulted to lowercase PROGRAM_NAME
and could be controlled with:
-c, --name <name> Use a specific backend client name, default is ardour
This value was *only* used for set_backend arg2 which only is used for
jack, where it was called session_uuid and passed to jack_client_open as
"a SessionID Token this allows the sessionmanager to identify the client
again" because JackSessionID.
It is certainly misleading to call it a uuid. It also doesn't seem
helpful to call it "client name" when the documentation calls it
"session id". And mostly: jack_client_open calls its *first* argument
"client_name" and it comes from argv1.
To clear things up, consistently call it something with "session id".
And it is not helpful to use a generic arg2 naming.
The description of is_realtime() did not match its actual use. And
client_real_time_priority() did not have any description. It was
hard to come up with good descriptions of what they actually did.
Most backends returned true from is_realtime(), but every one except
JACK used the default implementation of client_real_time_priority() that
returned 0 ... which is exactly the same as when is_realtime() returns
false. Just merge them and keep it simple.
The StandardDeviceName enum was misleadingly *not* the name - the name
only came from get_standard_device_name.
Instead, simplify things, and just use two different trivial getters.
Rename the worker functions to make it clear that their name in this
case isn't magic. These functions "are not" the waf commands. It is the
custom build context class definitions that define the i18n commands ...
which will invoke these top level worker functions which in turn invoke
the others recursively.
The bare printing of the build environment in the top level i18n command
seems to be old debug code that safely can be removed.
Regular .h files *should* be self-contained and independent of previous
includes and guarded to only include once. Make it clear which files
that *doesn't* apply for at all.
the rest from `tools/convert_boost.sh`.
* replace boost::function, boost::bind with std::function and std::bind.
This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.