RMIR error when click NEW under devices

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
jeffs555
Posts: 8
Joined: Wed Feb 04, 2009 6:09 am

RMIR error when click NEW under devices

Post by jeffs555 »

Trying to update some very old controls to add a new soundbar device. Was able to add it fine on URC-8011 and URC-6011 which I don't really use, but my wife's favorite is an old Radio Shack 15-2102. With the Radio Shack, I can download and upload and move keys around, but when I click new under the Devices tab, nothing happens and I get an error in the RemoteMaster.err file. Running V207b2 on Windows 10, but have tried several older versions with same results.

Hopefully someone can help. Here is the error I get.

Code: Select all

DeviceUpgradePanel.createRowObject()
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at com.hifiremote.jp1.DeviceUpgrade.setRemote(DeviceUpgrade.java:510)
	at com.hifiremote.jp1.DeviceUpgradePanel.createRowObjectA(DeviceUpgradePanel.java:131)
	at com.hifiremote.jp1.DeviceUpgradePanel.newRowObject(DeviceUpgradePanel.java:252)
	at com.hifiremote.jp1.DeviceUpgradePanel.newRowObject(DeviceUpgradePanel.java:1)
	at com.hifiremote.jp1.RMTablePanel.actionPerformed(RMTablePanel.java:429)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

jeffs555
Posts: 8
Joined: Wed Feb 04, 2009 6:09 am

Post by jeffs555 »

I think I have found what was causing the error. The RDF file for the Radio Shack 15-2102 is missing [DigitMaps] [Protocols] and [SetupCodes] sections. I copied these sections from the RDF for 15-2103 and it allows me to add the new soundbar device, and upload it to the remote without errors, but it doesn't work. It seems like the RDF for the 15-2102 was never fully developed or tested. Probably too much trouble to do it now for an old obsolete remote. Just wish it weren't my wife's favorite remote.
mathdon
Expert
Posts: 4725
Joined: Tue Jul 22, 2008 8:53 am
Location: Cambridge, UK

Post by mathdon »

An incorrect [DigitMaps] or [Protocols] section could cause more problems than an empty one. The [SetupCodes] section is not being used in this RDF, so you can omit that. So I suggest you try adding a minimal [Protocols] section to the RDF, rather than the sections copied from the 15-2103. By this, I mean ending the RDF with

Code: Select all

[DigitMaps]

[Protocols]
0000
This is enough to get Devices > New to open, which is all that I am able to test. It should mean that when you create a new device upgrade, it will include the protocol code taken from protocols.ini and the hex codes for the digit functions (rather than using a digit map). These sections allow RMIR to omit protocols and digit functions that are built in to the remote, so making the upgrade smaller.

I don't think this suggestion should cause anything that works at present to stop working, but to be on the safe side, be sure to keep a .rmir file with your existing setup. You should have this since you say you can download and upload, and I presume you have checked that the existing setup works after these uploads.
Graham
Post Reply