RM on Mac

Discussion forum for JP1 software tools currently in use, or being developed, such as IR, KM, RemoteMaster, and other misc apps/tools.

Moderator: Moderators

Post Reply
bsoplinger
Posts: 37
Joined: Sun Jan 04, 2004 10:27 pm

RM on Mac

Post by bsoplinger »

I'm using Java 1.4.1 on OS X 10.2.8 and am trying to use RM. It starts up and runs fine. I can import a rdmu file just fine. However, any KM file I attempt to import shows no functions, ie it seems like the import didn't work.
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

You might see that when RM's protocols.ini doesn't contain the protocol settings. You can check the rmaster.err file to see if it offers any clues.
Mark
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

Which KM upgrade are you trying to import? It could be that the it uses a protocol that RM doesn't yet support.
bsoplinger
Posts: 37
Joined: Sun Jan 04, 2004 10:27 pm

Post by bsoplinger »

I got these from the Yahoo files section, they're ones I use in my remote: Onkyo_TX-SR601_RCVR-1135.txt ReplayTV-8811.txt

Here's a snippet of the file, I do have the whole thing saved just in case it'd be helpful. This is the .err file from only starting RM, trying to import, clicking the tab to see the remote and quitting:

DeviceUpgrade.importFile()
Searching for slashes in URC-881x / 801x / 601x
slash=9
Got a multi-model remote to import: URC-881x / 801x / 601x
Added subName URC-881x
Added subName 801x
Added subName 601x
Imported protocol id is 01 45
java.lang.NullPointerException
at com.hifiremote.jp1.ProtocolManager.findNearestProtocol(ProtocolManager.java:238)
at com.hifiremote.jp1.DeviceUpgrade.importFile(DeviceUpgrade.java:849)
at com.hifiremote.jp1.KeyMapMaster.importFile(KeyMapMaster.java:858)
at com.hifiremote.jp1.KeyMapMaster.actionPerformed(KeyMapMaster.java:728)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1797)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1850)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton.java:321)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.java:5093)
at java.awt.Component.processEvent(Component.java:4890)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
at java.awt.Container.dispatchEventImpl(Container.java:1609)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:230)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

bsoplinger wrote: Here's a snippet of the file,
...
bsoplinger wrote: Imported protocol id is 01 45
java.lang.NullPointerException
at com.hifiremote.jp1.ProtocolManager.findNearestProtocol(ProtocolManager.java:238)
at com.hifiremote.jp1.DeviceUpgrade.importFile(DeviceUpgrade.java:849)
For future reference, or for other RM users, the immediate vacinity of the actual error is almost always enough. Which is the actual error line probably won't be obvious to someone other than one of the RM programmers. But you can usually find it easily anyway, if you just know that NullPointerException is an actual error and is more common than all other actual errors combined.

Greg, this particular example of NullPointerException is common enough that it ought to be caught in the code and display some sort of error message, rather than make the user dig through the .err file.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

That Onkyo upgrade uses the Device Combiner protocol, which is not supported by RM. It should handle this situation more gracefully, but unfortunately you won't be able to use that upgrade. It will be some time before RM supports Device Combiner.

The Replay upgrade use the "Replay TV (Advanced)" protocol, which
is not YET supported by RM. This one might be added soon, though.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

I've got a fix that will at least tell the user that the protocol isn't found.
That will be in the next release. I can't make a release today because SourceForge's CVS services are down for a scheduled upgrade.

In the meantime, here's the section to put in your protocols.ini that will enable support for the ReplayTV (Advanced). Just replace the section that is currently commented out with this:

Code: Select all

[ReplayTV (Advanced)]
OldNames=ReplayTV Hacked,ReplayTV 1994
PID=01 45
CmdTranslator=Translator()
CmdParms=OBC=0
Notes=hacked version
DevParms=Device Code=1,Unit Code=0
DeviceTranslator=Translator(0,1,12,7) Translator(0,1,13,7,comp) \
                 Translator(0,1,14,6) Translator(0,1,15,6,comp) \
                 Translator(0,1,16,5) Translator(0,1,17,5,comp) \
                 Translator(0,1,18,4) Translator(0,1,19,4,comp) \
                 Translator(0,1,20,3) Translator(0,1,21,3,comp) \
                 Translator(0,1,22,2) Translator(0,1,23,2,comp) \
                 Translator(0,1,24,1) Translator(0,1,25,1,comp) \
                 Translator(0,1,26,0) Translator(0,1,27,0,comp) \
                 Translator(1,1,28,7) Translator(1,1,29,7,comp) \
                 Translator(1,1,30,6) Translator(1,1,31,6,comp) \
                 Translator(1,1,32,5) Translator(1,1,33,5,comp) \
                 Translator(1,1,34,4) Translator(1,1,35,4,comp) \
                 Translator(1,1,36,3) Translator(1,1,37,3,comp) \
                 Translator(1,1,38,2) Translator(1,1,39,2,comp) \
                 Translator(1,1,40,1) Translator(1,1,41,1,comp) \
                 Translator(1,1,42,0) Translator(1,1,43,0,comp)
FixedData=E0 01 00
FixedData.S3C80=a9 35 55 65 55 55 00
Code.S3C80=47 93 71 8B 12 87 04 08 04 00 DE 00 00 00 00 00 \
           CA D4 44 05 35 01 A8 58 0A 6C 26 37 5F 0F 37 5C \
           11 68 C5 5C 9A 37 66 0A E6 0D 04 5C A1 37 5C 02 \
           6C 27 0C 0A 04 0A 0A 10 09 10 C5 10 0A 20 0A 10 \
           09 0A F1 37 52 07 F6 01 46 58 C6 8B E5 20 29 8D \
           01 46
Code.740=0c 1c 31 a9 60 20 db 00 a2 16 a0 02 22 44 a5 5d \
         85 56 20 6c 01 a2 1b a0 02 22 44 a9 20 20 db 00 \
         a5 5e 20 71 01 a5 5f 20 71 01 a5 60 20 71 01 a2 \
         2a a0 a1 22 44 22 06 90 ca 60 3c 04 57 80 05 85 \
         56 3c 08 57 26 56 b0 0d a2 86 a0 01 22 44 a9 10 \
         20 db 00 80 0b a9 10 20 db 00 a2 86 a0 01 22 44 \
         c6 57 d0 e0 60

bsoplinger
Posts: 37
Joined: Sun Jan 04, 2004 10:27 pm

Post by bsoplinger »

Assuming I did the right thing and deleted all the trailing blanks in the snippet you've provided, I now get this error when I try to import the replay KM file:

Detected 1 cmdParms
Protocol.Protocol(ReplayTV (Advanced)) got DeviceTranslator property.
TranslatorFactory couldn't create an instance of com.hifiremote.jp1. 
java.lang.ClassNotFoundException: com/hifiremote/jp1/ 
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

Just download this version of protocols.ini
bsoplinger
Posts: 37
Joined: Sun Jan 04, 2004 10:27 pm

Post by bsoplinger »

Did that, now I get this error:
Parsing line "Phantom1=$3D, Phantom2=$3E, Phantom3=$3F, Phantom4=$40"
Parsing button "Phantom1=$3D"
Parsing button "Phantom2=$3E"
Parsing button "Phantom3=$3F"
Parsing button "Phantom4=$40"
Parsing line ""
java.lang.NullPointerException
at com.hifiremote.jp1.ProtocolManager.findNearestProtocol(ProtocolManager.java:238)
at com.hifiremote.jp1.DeviceUpgrade.importFile(DeviceUpgrade.java:849)
at com.hifiremote.jp1.KeyMapMaster.importFile(KeyMapMaster.java:858)

So I looked at the .txt file and deleted the trailing return, since I saw the 'parsing line ""' right before the error.

Doing that generated this error instead:
Got a multi-model remote to import: URC-881x / 801x / 601x
Added subName URC-881x
Added subName 801x
Added subName 601x
Imported protocol id is 01 45
java.lang.NullPointerException
at com.hifiremote.jp1.ProtocolManager.findNearestProtocol(ProtocolManager.java:238)
at com.hifiremote.jp1.DeviceUpgrade.importFile(DeviceUpgrade.java:849)
at com.hifiremote.jp1.KeyMapMaster.importFile(KeyMapMaster.java:858)

But I think this means I'm making progress ;)
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

I've zipped my version of protocols.ini into protocols.zip to make sure we don't have any problems with spaces and returns getting inserted.

I hope that takes care of it.
bsoplinger
Posts: 37
Joined: Sun Jan 04, 2004 10:27 pm

Post by bsoplinger »

Yup, that did the trick, now I can load the replay protocol, life is getting better, thanks!
Post Reply