Control API: Enforce driver/internal parameter order.
commitcf36c02aeb303ba8ae7fe37819a210d223004823
authorNedko Arnaudov <nedko@arnaudov.name>
Thu, 24 May 2012 23:25:14 +0000 (25 02:25 +0300)
committerNedko Arnaudov <nedko@arnaudov.name>
Sat, 26 May 2012 14:09:04 +0000 (26 17:09 +0300)
treeedfba3e131be161c19e15380867de910465c8c8e
parent3b12bcf1861a640361af3591e53fb28b68d68c91
Control API: Enforce driver/internal parameter order.

This changeset is required for proper jackdbus handling of
parameters. jackd handling of parameters is improved by making
driver/internal parameters order on commandline irrelevant. E.g.
"jackd -d alsa -d hw:Intel,0 -P hw:Intel,3" should now give same
result as
"jackd -d alsa -P hw:Intel,3 -d hw:Intel,0".

The code used to create the driver parameter list in
jackctl_parameter_set_value(). Apart from the ordering problem,
the old implementation was not properly handling reset of
driver/internal parameters, because upon reset the parameter was not
removed from the set_parameters list which is supplied to
driver/internal.

This commit shifts driver/internal parameter list composition just
before it is needed. I.e master or slave driver open, switch master,
or internal load. The order of parameters is ensured to be the one
defined by the driver/internal.
common/JackControlAPI.cpp