<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Name="Configuration Tree" Expanded="True" Version="851" Guid="{80C3CC27-5FDB-4520-AD40-356AEC409740}" Time="1242399381.02">
    <Autostart Name="Autostart" Expanded="True" />
    <Macro Name="Python Script_old" Expanded="True">
        <Action>
            EventGhost.PythonScript(u'# To be documented when/if used...\n# A script that converts raw pronto to KeeneIR\n# code\n\n\ndef averageThis(p_data):\n    X = 0\n    y = 0\n    tmpStr = ""\n    Pair_Count = 0\n    Burst_Time = []\n    MyInt = []\n    codeLength = len(p_data)\n    last_code = 0\n    timeA = 0.0\n    timeB = 0.0\n    zzz = 0\n    error = True\n\n    #try:\n    for X in range(0,255):\n        Burst_Time.append(0)\n\n    for X in range(0,codeLength,5):\n        tmpStr = p_data[X:X+4]\n        Burst_Time[y] = int(tmpStr, 16)\n        y += 1\n\n    last_code = y\n    Pair_Count = Burst_Time[0] % 256\n    \n    for zzz in range(2,last_code - 2):\n        timeA = Burst_Time[zzz] * 0.75\n        timeB = Burst_Time[zzz] * 1.30\n        MyObjList = []\n        \n        for X in range(zzz,last_code):\n            tstTime = Burst_Time[X]\n\n            if (tstTime &gt; timeA and tstTime &lt; timeB):\n                MyObjList.append(X)\n                MyObjList.append(tstTime)\n\n        L = len(MyObjList)\n        total = 0\n    \n        if L &gt; 0:\n            for X in range(1,L,2):\n                MyOb = MyObjList[X]\n                total = total + MyOb\n\n            average = total / (L / 2)\n        pos = 0\n\n        if L &gt; 0:\n            for X in range(0,L,2):\n                MyOb = MyObjList[X]\n                pos = MyOb\n                Burst_Time[pos] = average\n    \n    data = ""\n    \n    for X in range(0,last_code):\n        nb = str(hex(Burst_Time[X]))[2:]\n        if len( nb ) &lt; 4:\n            nb = "0" + nb\n        data = data + nb.upper() + " "\n\n    data = "K " + data # K plus a space plus data\n    error = False\n\n    #except:\n    #    print "Some error during averaging..."\n\n    if error:\n        return ""\n    else:\n        return data\n\n\ndef convertFromPronto(p_data):\n    X = 0\n    y = 0\n    tmpStr = ""\n    freq = 0.0\n    Pair_Count = 0\n    Lead_in = 0\n    Burst_Time = []\n    MyInt = []\n    codeLength = len(p_data)\n    error = True\n    \n    try:\n        for X in range(0,255):\n            Burst_Time.append(0)\n\n        for X in range(0,codeLength,5):\n            tmpStr = p_data[X:X+4]\n            Burst_Time[y] = int(tmpStr, 16)\n            y += 1\n\n        freq = 4145 / Burst_Time[1]\n        Pair_Count = Burst_Time[2]\n\n        if Pair_Count == 0:\n            Pair_Count = Burst_Time[3]\n\n        if Pair_Count == 0:\n            return ""\n        \n        for X in range(0,y):\n            MyInt.append(0) \n        \n        MyInt[0] = freq * 256 + Pair_Count\n        cycle_time = 1000 / freq\n        Lead_in = Burst_Time[4] * cycle_time\n        MyInt[1] = Lead_in\n        MyInt[2] = Burst_Time[5] * cycle_time\n        Pair_Count = Pair_Count - 1\n        \n        for X in range(0,Pair_Count * 2):\n            MyInt[X + 3] = Burst_Time[X + 6] * cycle_time\n\n        MyInt[X + 3] = 8192\n        data = ""\n\n        for X in range(0,(Pair_Count * 2) + 3):\n            nb = str(hex(MyInt[X]))[2:]\n            if len( nb ) &lt; 4:\n                nb = "0" + nb\n            data = data + nb.upper() + " "\n\n        error = False\n\n    except:\n        print "Some error during conversion..."\n\n    if error:\n        return ""\n    else:\n        return data\n\n\n# Main\n\n# NEXA (D 16 OFF) \n#p_data = "0000 006D 0000 0019 000D 0027 0027 000D 000D 0027 0027 000D 000D 0027 000D 0027 000D 0027 000D 0027 000D 0027 0027 000D 000D 0027 0027 000D 000D 0027 0027 000D 000D 0027 0027 000D 000D 0027 000D 0027 000D 0027 0027 000D 000D 0027 0027 000D 000D 0027 000D 0027 000D 01AB"\n\n# InterTechno (N 15 ON)\n#p_data = "0000 0073 0000 0019 000e 002a 002a 000e 000e 002a 000e 002a 000e 002a 002a 000e 000e 002a 002a 000e 000e 002a 000e 002a 000e 002a 002a 000e 000e 002a 002a 000e 000e 002a 002a 000e 000e 002a 000e 002a 000e 002a 002a 000e 000e 002a 002a 000e 000e 002a 002a 000e 000e 0199"\n\n# LG DVD Recorder RH 255 (ON)\n#p_data = "0000 006d 0022 0003 00ab 00aa 0016 003f 0016 0014 0016 003e 0016 003f 0016 0014 0016 003e 0016 0014 0016 0014 0016 003e 0016 0014 0016 003e 0016 003f 0016 0014 0016 003e 0016 0014 0016 0014 0016 003e 0016 0014 0016 003f 0016 0014 0016 003e 0016 003e 0016 003f 0016 0014 0016 0014 0016 003f 0016 0014 0016 003e 0016 0014 0016 0014 0016 0014 0016 003e 0016 06c3 00ab 00aa 0016 0014 0016 0e7d"\n \n# LG DVD Recorder RH 255 (OFF)\np_data = "0000 006d 0022 0003 00ab 00aa 0016 003e 0016 0014 0016 003f 0016 003e 0016 0014 0016 003e 0016 0014 0016 0014 0016 003e 0016 0014 0016 003f 0016 003e 0016 0014 0016 003f 0016 0014 0016 0014 0016 0014 0016 003e 0016 003f 0016 0014 0016 003e 0016 003f 0016 003e 0016 0014 0016 003f 0016 0014 0016 0014 0016 003e 0016 0014 0016 0014 0016 0014 0016 003e 0016 06c3 00ab 00aa 0016 0014 0016 0e7d"\n\nt = convertFromPronto(p_data)\nprint "KeeneIR code after conversion"\nprint t\n\nt = averageThis(t)\nprint "KeeneIR code after averaging"\nprint t\n\n\n')
        </Action>
    </Macro>
</EventGhost>
