THIS FILE IS NO LONGER MAINTAINED; SEE git log AND IrScrutinizer.releasenotes.txt. DecodeIR.loadLibrary() searches the architecture dependent local libraries in subdirectories of system property harctoolbox.jniLibsHome, if it is defined. Improved debug messages by library loading. On request from Alec Leamasm it also now takes a system property harctoolbox.decodeir.library.path, from which, if defined, the library is unconditionally loaded. Bugfix GlobalCache.newGlobalCacheIrTransmitter(Transmitter): Make sure that it returns a usable GlobalCacheIrTransmitter even if called with argument null. New function ModulatedIrSequence(boolean alternatingSigns, boolean noSigns, String separator, boolean includeFrequency) IrpProtocols.ini: Changes to Blaupunkt, Kaseikyo (was Kaseikyo-???-???) and Kaseikyo56 (was Kasekeikyo56-???-???), for compatibility with DecodedIR 2.45. new public API functions:Protocol.getParameterNames(), Protocol.hasParameterMemory(String name), ParameterSpec.hasMemory(), ModulatedIrSequence.toPrintString(...) (4 different versions). new constructor IrSignal(String[] ccf, int begin) new functions Pronto.ccfSignal(String[] array, int begin), Pronto.parseStringArray(String[] array, int begin) new function Protocol.parseParams(String[] args, int skip) 2014-09-27: Version 1.0.2 Pioneer-Mix new IR protocol. DecodeIR.toPrintString now with argument censor, defaulted to false. API improvements in IrSignal: functions taking an IrSignal to an IrSequence now clearly states if they obey the repeat- or the count-semantic. IrSequence(String str) handle strings without minus chars correctly. toInts now takes argument boolean alternatingSigns. User visible changes in IrpMaster 1.0.1. The main routine, with the --ccf argument, can now take explicit intro, repeat-, and ending sequences. XmlUtils.printDOM now takes an encoding argument. Added IrSequence.chop, IrSequence.noisify, IrSequence.flashExcess, IrSeqeunce.addToGap, IrSequence.addToFlash, ModulatedIrSequence.chop, IrSequence.containsZeros, IrSignal.containsZeros, IrSequence.replaceZeros, IrSignal.replaceZeros(double), IrSignal(int). Replaced equality-comparision in IrSequence.isEqual. User visible changes in IrpMaster 1.0.0 This version is promoted to version 1.0.0! DecodeIR.DecodeIrException new. XmlExport new file. Moved some stuff from IrpUtils to XmlExport. ICT class reconstructed (visible only from API). Improvements to toPrintString functions in ModulatedIrSequence. Bugfix and improvement in ExchangeIR.interpretIrSequence. Implemented infinite bitfields (X::C) better. If trying to convert an infinite bitfield to bitsequence, an error is thrown. Reject negative values for bitfield width and chops. Iterating over parameter sets (including single values) complains for missing parameter specs only when necessary, i.e. for iterations of type * and #. Protocol inheritance now works also in the absence of parameter specs. LircExport now does frequencies. ExchangeIR.interpretString now interprets a raw signal with multi-line string as already split in intro-, repeat-, and ending sequence. Fixed bug in parsing - chars in BitFields. User visible changes in IrpMaster 0.2.2 Make System.getProperty("os.arch") lowercase when searching for the DecodeIR shared library (see http://www.hifi-remote.com/forums/viewtopic.php?t=14219&start=49 for background.) Accept '*' (three characters) as synonym for *, since some Windows/Java enviroments seem to defy all logic when passing parameters. IrpProtocols.ini: add RECS80 in three variants Interpretation of extent: every extent executed resets the duration counter. Thus, the Kathrein IRP {38k,540}<1,-1|1,-3>(16,-8,D:4,~D:4,F:8,~F:8,1,^105m,(16,-8,F:8,1,^105m)+) (note: there are extents both in the intro and the repetition) now makes sense. Allow for separate 32 and 64 bit versions of decodeIr for windows. New IrpProtocols.ini courtesy of 3FG (thanx!). DecodeIR decoding adapted to this version -- several special cases of "funny names" (for example with spaces) requiring special treatment. Parameter intervals can now be given as #, which is really the old a:b#c notation, with a and b taken from the protocol parameter as its min and max value respectivelly. Protocol order in IrpProtocols.ini are now preserved by --dump. They contain TAB instead of : after the protocol name -- makes it better to import into a spread sheet. Protocol names are now *really* compared case insensitively. The --ccf command in the main routine can now parse raw signals, signalled by a trailing `+'. ================================================================ User visible changes in IrpMaster 0.2.1 General code cleanup, partially suggested by static code analysis. Never throw org.antlr.runtime.RecognitionException in public methods: That would break encapsulation and force use to install the antlr*.jar just to compile. Now bit streams can be of unbounded length, previously 64 bits. Suggested by 3FG, see http://www.hifi-remote.com/forums/viewtopic.php?t=13396&start=33 . Main routine: new option -u|--uei. Can now interpret CCF strings as UEI learned format. It interprets the "ccf" string either as Pronto or as UEI learned, according to the number of characters in its digits. Using ExchangeIR 0.0.8.2. For this, uses a new class ExchangeIR, with some new functions, see API documentation. Since the previously used com.hifiremote.decodeir.DecodeIRCaller produced pesky outputs on stderr, use my own version (just removing the LibraryLoader.loadLibrary stuff). Although the changes are trivial, my fixed source is available on my website, in accordance with the GPL: http://www.harctoolbox.org/downloads/DecodeIrCaller.zip DecodeIR is not limiting the number of decodes any longer (was 10 previously). New option --quiet, limits outputs. Misc. minor bugfixes, documentation fixes, etc. ================================================================ Releasenotes for IrpMaster 0.2.0 User visible changes: New export format Lintronic. Wave import. --analyzeIR --ccf .... was not working; fixed. IrProtocols.ini: MCE: make the T toggle. rs200 and intertechno new protocols. A few toggling protocol (like rc6 and rc5x) was erroneously written like (...,T=1-T)+, changed to ((...)+,T=1-T). Internal improvements: Many internal improvements in API and its documentation. made exit codes uniform, see IrpUtils Use jcommander for the decoding of command line decoding of the main class of class Wave. Macro new class, presently not really used yet. ModulatedIrSequence new, use that in the API when appropriate. append(double) and parseMacro new. use IrSignal(protocolIni, arg_i, args) in main. Improved API: use doubles for data (in microseconds, not periods) and for modulation frequency. Version info moved into class Version (both IrMaster and IrpMaster). use odd/even index in IrSequences instead of sign. Improved Help message in Plotter. Put Time in Plotter header. Implemented plotting