WWW.APART-AUDIO.COM
16
A general discussion is necessary to better understand how smooth continuous IR
commands are executed by the Netkit. This desirable feature is utilized for smooth
volume control or repeating an operation without the appearance of choppy
actions. The approach of sending an IR command with very large repeat counts
and stopping it upon request will work, but can lead to undesirable incidents.
Consider the scenario of large repeat count IR command for raising the volume in
a smooth fashion. The command works properly until the connection is broken. A
repeating IR command is sent, volume continuously increases, then the controlling
iPhone is unexpectedly dropped. The volume continues to rise (possibly damaging
equipment) until a stopir command is ultimately received.
The Netkit solution is to limit the repeat count. Hence, to create a smooth IR
operation, the Netkit resets the IR repeat count each time the identical IR command
(from the same IP connection) is resent. This method will not interrupt and restart
the IR command, but reset the IR repeat count back to the original value.
Example: If the IR repeat count is set to 5, and the IR command has transmitted
3 times, receipt of the same command causes the repeat count to be reset back
to 5. This process can continue indefinitely while a volume button is held down to
create a smooth operation. However, at no time can the command repeat more
than 5 times after the button is released or an IP connection is inadvertently lost,
preventing a potentially serious issue.
By selecting an appropriate <repeat> value, the need for a stopir command
is eliminated. In this example the volume continues to increase smoothly by
retransmitting repeated IR commands due to the volume button being pressed. As
long as the next repeated IR command is received before the previous command
finishes, smooth operation is realized. By choosing a low repeat value, the volume
increase will stop when the volume button is released. Also, proper IR operations
happen even with unintended network delays due to traffic or WiFi connectivity. In
this unlikely event, only small hesitations will be experienced during IR operation.
In the event that the identical command is not received before the original
command is finished, the command will be registered as a brand new command,
and is sent as such. The command in question will operate functionally the same,
but delays between commands may be evident when used in this way.
Increasing the <repeat> value will likely eliminate these discrepancies.
5.3.7 Smooth Continuous IR Commands