Of course, this is a simplistic use of variables - with a little creativity and a lot of devices to work with some remarkable configurations can be created.
Variables are a great aid for working with difficult devices, but they aren't a bulletproof solution. If the MX-950 isn't the only remote operating a system, if someone operates a device directly, or if a command is simply not received then devices that rely on variables can still become out-of-sync. To work around this issue it would be possible to program an interactive "Help" section on the remote that asks what devices should be on and whether or not they are, but far better is buying brands and models that support true discrete codes in the first place.
To further combat this problem Universal Remote Control is developing a new high-end backend system that can connect to voltage, current and video sensors to manually determine whether a device is operating or not. Specific details on this and whether it will work with the MX-950 are unknown at the time of this publication.
6. Punch some buttons through.
The Aurora no longer supports key aliasing, which was a method of directing one button to perform another button's commands. That capability has been turned over to macros, which now support repeating a command when a single-step macro button is held. Technically this works fine, except that programming a macro is slower than the old aliasing process. So, for situations where you need the same commands duplicated over several devices, the MX-950 provides a versatile punchthrough capability to speed up the whole programming process.
Punchthroughs are available for six different clusters of hard buttons: the two power keys, volume and mute, channel and jump, the nine menu related keys, seven transport keys, plus the numerical keypad. These can be enabled device by device, feature by feature - just select one or more devices and then use the drop-down list to choose what device a key cluster should punch through to.
The MX-950's buttons can hold a total of four different types of data: a learned command represent by an "L" icon, a macro represented by "M", a preprogrammed command represented by a small red dot, and a punchthrough represented by a "PT" icon. Punchthroughs override everything, but if one button contains all three other types then the learned command will be sent before the macro and the preprogrammed command will not be sent at all.
Working with custom bitmaps.
As mentioned earlier, the MX-950 sports a fairly large dot matrix screen capable of displaying images, but due to the extremely low resolution its graphic reproduction is crude at best.
As near as I can determine, the full screen resolution is 64 pixels wide by 105 pixels tall. Mapped over the physical dimensions of the dot matrix portion this results in a PPI (pixels, or dots, per inch) of 56 by 48 (compared to 111 PPI for the MX-3000). Yes, those are rectangular pixels, so if you create a perfect square or circle it will appear 17% taller than intended. The screen is in theory capable of reproducing four greyshades: black, dark grey, light grey and white. And yet after adjusting the contrast so that text was acceptably dark under the intense backlighting, I found that the two intermediary shades were rendered almost completely useless. Dark grey was indistinguishable from black, and light grey looked as dark as dark grey should have been. So, in the end, simple black-and-white images are going to be the most legible.