I was going to post my post an hour ago but I got distracted.


I have a secondary request.

With all this wonderful IR hackery available to us now the use of button codes makes it hard to remember what hex string does what.

So, how about allowing symbolic button names in the Ir translation?
I would envisage that you can define symbolic button name and assign its button code somehwere in config.ini.
This table of symbolic names is read in and remembered.
[e.g.]

[Symbolicnames]
MUTEON=xxxxxx
MUTEOFF=yyyyyy
EMPEGPAUSE=zzzzzz
EMPEGTUNER=ttttttt
EMPEGPLAYER=pppppp
MYREMOTETUNER=mmmmmmm
MYREMOTEPLAYER=nnnnnnnnn
ENDOFCOMMAND=ffffffff

In the IR mappings section we can then say


MYREMOTETUNER=EMPEGTUNER
MYREMOTEPLAYER=EMPEGPLAYER,dddddd,EMDOFCOMMAND
PAUSE.L=MUTEON
PAUSE.CL=vkgkgkg



This makes maps (a) very much more readable and
(b) allows me to redefine what external command causes a thing to happen without having to change everything.

Only the symbolic IR code value needs to change, the rest of the map stays constant.

Symbolic button names cannot have fullstops or other 'special' characters in them [unless your parser is easily able to handle it]

So for instance this would would not be allowed:

[symbolicnames]
LONGTUNER=xxxxx.L

[irmappings]

LONGTUNER.C=EMPEGTUNER.L

As it would be adding a '.C' modifier to the '.L' modifier already active against that button due to the symbolic value.

During the 'evaluation' of the IR commands [probably during the initial parsing of the config.ini, you replace each symbolic keyname with its symbolic value - then proceed to work with the maps as now.
Maps that reference symbolic keys not present could have a message logged to the serial port (as now) and then any commands using that symbolic button name could either be ignored completely, or only the symbolic code (if a multiple code command) could be ignored.

Oh yes and can I have by 5pm today.