03-30-2017, 05:32 PM
OK, I fixed those specific situations (power and source.) In a more general sense though, this workaround will not be possible. It just happens that the readable and writable values for sources are the same, and power is boolean so it's not a problem.
But, when the readable and writable lists for a setting are different, we may not have any way of knowing if a new written state X is going to represent the same thing as the current state we are getting from the device. I.e. in some cases, it may have an "Auto" option that is only writable but what gets reported is the actual automatically selected value, not Auto. In such a case, we'd have no way of knowing that it's currently in Auto state.
This is one of those unforeseen consequences of having separate read/write fields. Though it only rears its ugly head on particularly bad protocols like the Denon/Marantz one, with enormous holes in like this. It should just freaking respond as though it happened, which is what every single user of the protocol would expect.
Anyhoo, I'll send you a driver pack to try it out. If it's happy, those changes will be in the next drop.
But, when the readable and writable lists for a setting are different, we may not have any way of knowing if a new written state X is going to represent the same thing as the current state we are getting from the device. I.e. in some cases, it may have an "Auto" option that is only writable but what gets reported is the actual automatically selected value, not Auto. In such a case, we'd have no way of knowing that it's currently in Auto state.
This is one of those unforeseen consequences of having separate read/write fields. Though it only rears its ugly head on particularly bad protocols like the Denon/Marantz one, with enormous holes in like this. It should just freaking respond as though it happened, which is what every single user of the protocol would expect.
Anyhoo, I'll send you a driver pack to try it out. If it's happy, those changes will be in the next drop.
Dean Roddey
Explorans limites defectum
Explorans limites defectum