3FG wrote:Thanks for testing. I haven't done anything which was intended to deal with needing to call decode() twice. DecodeIR uses somewhat complicated logic to handle protocols with start and/or end frames, and the need to call twice may result if a two part IR signal is recognized for the first part but not for the second.
Some of the try*-functions set an internal flag (function local, "static") and expect to reset it in a subsequent call, if successful. So, what happens in the subsequent call does not happen, or is not successful? The internal flag remains in a non-virgin state. This holds even if the decoder starts working on a new signal. There is no way to reset the internal memory, except for the successful subsequent call. The function initDecoder() (from Java) does not do what the name suggests, because of this local memory. Also calling the "constructor" leaves that state alone, and the "newly constructed object" has the same state as the "old".
This is not dangers I make up: in the course of the latest development, as reported in this thread, erroneous behavior came and went again, without being explicitly addressed. (Please take what I am saying as constructive criticism, not bashing.)
Don't shoot the messenger, but regarding 64 bit Windows, the current
recommendation from Oracle is: "we recommend using the default 32-bit browser and downloading 32-bit Java". Apparently the 64 bit version of Internet Explorer and some other browsers work poorly with 64 bit Java.
They say that they recommend 32 bit browsing, and in that context 32-bit Java. At least in that note, I cannot find any recommendation against 64 bit Java for applications. I installed IrMaster on 64 bit XP/64 bit Java, and everything seemed to run fine,
except DecodeIR.
Moreover, DecodeIR is not a Java issue (only).
Has someone succeed compiling DecodeIR for Windows with mingw (32 or 64 bit?)
but maybe using 32 bit Java is something of a universal workaround at the present time.
yesss..... but for the upcoming new release of IrMaster/IrpMaster I would hate to write "if using 64 bit JVM, everything will work fine except DecodeIR".
