First of all, I prefer to work with IrpTransmogrifier from the command line. Not all possibilities in IrpTransmogrifier are present in IrScrutinizer, as will be illustrated below.
I put your protocol into IrpProtocols.xml, and everything worked as expected.
Code: Select all
$ irptransmogrifier -c src/main/resources/IrpProtocols.xml render --name '{D=38, S=112, X=38, F=5}' nokia32_release --raw --decode
Freq=36000Hz[][417,278,167,278,167,611,167,444,167,611,167,444,167,778,167,278,167,278,167,278,
167,611,167,444,167,611,167,278,167,278,167,444,167,444,167,89361]
[417,278,167,278,167,611,167,444,167,611,167,444,167,778,167,278,167,278,167,611,
167,611,167,444,167,611,167,278,167,278,167,444,167,444,167,89028]
Decode succeeded!
(Long line broken for Rob-friendliness

.) The --decode argument makes IrpTransmogrifier test-decode the signal it has just rendered.
But here is the catch that bothered you:
Code: Select all
$ irptransmogrifier -c src/main/resources/IrpProtocols.xml render --name '{D=38, S=112, X=38, F=5}' nokia32_release --raw -# 4 | \
irptransmogrifier -c src/main/resources/IrpProtocols.xml decode --all --input -
Nokia32: {D=38,F=5,S=112,X=38}, beg=0, end=143, reps=4 {UNDECODED. length=36}
Nokia32_release: {D=38,F=5,S=112,X=38}, beg=0, end=179, reps=4
(The first part generates a Nokia32_release with 4 repetitions, then the second part decodes the just computed signal; the option --all discards all prefer-overs.) So in the first decode, it stops after the 4 T=0-sequences. However, there is an option --recursive, that calls the decoder again there:
Code: Select all
$ irptransmogrifier -c src/main/resources/IrpProtocols.xml render --name '{D=38, S=112, X=38, F=5}' nokia32_release --raw -# 4 | \
irptransmogrifier -c src/main/resources/IrpProtocols.xml decode --all --input - --recursive
Nokia32: {D=38,F=5,S=112,X=38}, beg=0, end=143, reps=4 {Nokia32: {D=38,F=5,S=112,T=1,X=38}, beg=144, end=179, reps=1}
Nokia32_release: {D=38,F=5,S=112,X=38}, beg=0, end=179, reps=4
which, I think, is exactly what you want. --recursive is not the default, because it sometimes generates output that is really hairy...
BTW, you can request the output in any basis between 2 and 36:
Code: Select all
$ irptransmogrifier -c src/main/resources/IrpProtocols.xml render --name '{D=38, S=112, X=38, F=5}' nokia32_release --raw -# 4 | \
irptransmogrifier -c src/main/resources/IrpProtocols.xml decode --all --input - --recursive --radix 4
Nokia32: {D=212,F=11,S=1300,X=212}, beg=0, end=143, reps=4 {Nokia32: {D=212,F=11,S=1300,T=1,X=212}, beg=144, end=179, reps=1}
Nokia32_release: {D=212,F=11,S=1300,X=212}, beg=0, end=179, reps=4
Both --recursive and radix different than 2,8,10,16 are presently not supported in IrScrutinizer. Presently...
Finally, I would prefer the name "Nokia32_endsequence" (for example) over "Nokia32_release", because the latter makes you think of software releases instead of key releases.