IR 5.x Feature Request

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

Moderator: Moderators

johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

e34m5 wrote: So clearly the BoundDevice is RCVR and BoundKey is F.REW etc...so why can't we just have that same realtiosnship in KM for the notes. Obviously KM knew how to build that.
No. KM didn't know. IR knew.

Maybe this experiment will help you understand:

On IR's General tab, assign some setup code other than Audio/1476 to your RCVR button and assign Audio/1476 to your VCR button. Next, if you want the results to be very clear, delete the existing KeyMoves.

Now, paste in exactly the same upgrade including those KeyMoves and look at what KeyMoves get created. The bound Keys will be VCR/F.REW etc. instead of RCVR/F.REW

I hope that makes it clear that KM couldn't know the bound device would be RCVR, since it musat produce data that works equally well whether the bound device is RCVR or VCR or whatever.
e34m5
Posts: 675
Joined: Tue Oct 14, 2003 1:04 pm
Location: Atlanta

Post by e34m5 »

Ok I get it now ....then let's use the same convention as the second byte

F in the high nibble = Bind to key that the upgrade is for

1-7 in the high nibble = dev index

So the notes will be: F4 25 {notes} or 24 25 {notes} etc..

How's that...
Paul
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

e34m5 wrote:So the notes will be: F4 25 {notes} or 24 25 {notes} etc..
If that's the case, then just use my first suggestion of embedding the notes right in with the hex codes.

Upgrade Code 0 = 25 C4 (VCR/1476) GI Cable 0476
C4 08 72 FE 7C 61 B0 70 F0 D0 30 50 C8 98 0C 2C
AC 6C EC 88 CC 1C 9C 5C DC 48 A8
KeyMoves
25 F3 25 C4 44 26 F3 25 C4 C4 2A F3 25 C4 1C{Da
y UP} 2B F3 25 C4 9C{Day DOWN} 2C F3 25 C4 5C{Pa
ge UP} 2D F3 25 C4 DC{Page DOWN}
End

That gives you everything you need already (except the BoundDevice "F"). I don't see any point (or advantage) to replicating any more information than is absolutely necessary.
Mark
e34m5
Posts: 675
Joined: Tue Oct 14, 2003 1:04 pm
Location: Atlanta

Post by e34m5 »

Correct..let's use this format then.

After reading all the posts here and undersatnding this more I've been able to trace it through IR and see how ir does this. I should be able to do the code now.
Paul
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

e34m5 wrote:let's use this format then.
With one minor change... instead of "{" and "}", I'd like to use different characters to enclose the notes, since I think it's reasonable to assume somebody might use the curly braces in a note. We should be safe with the extended characters "«" (char 171, 0xAB) and "»" (char 187, 0xBB). So the code going into IR will look like:

Upgrade Code 0 = 25 C4 (VCR/1476) GI Cable 0476
C4 08 72 FE 7C 61 B0 70 F0 D0 30 50 C8 98 0C 2C
AC 6C EC 88 CC 1C 9C 5C DC 48 A8
KeyMoves
2A F3 25 C4 1C«Day UP» 2B F3 25 C4 9C«Day DOWN»
2C F3 25 C4 5C«Page UP» 2D F3 25 C4 DC«Page DOWN
»

End
Mark
e34m5
Posts: 675
Joined: Tue Oct 14, 2003 1:04 pm
Location: Atlanta

Post by e34m5 »

Mark:

I have one more request. Please add colons ":" between KeyMoves. Even for those without notes. This allows me to easily segregate the KeyMoves and save the notes accrordinlgy.

Upgrade Code 0 = 25 C4 (VCR/1476) GI Cable 0476
C4 08 72 FE 7C 61 B0 70 F0 D0 30 50 C8 98 0C 2C
AC 6C EC 88 CC 1C 9C 5C DC 48 A8
KeyMoves
2A F3 25 C4 1C«Day UP»: 2B F3 25 C4 9C«Day DOWN»:
2C F3 25 C4 5C«Page UP»: 2D F3 25 C4 DC«Page DOWN
»

End

I have it all working now. Should have a Beta soon.
Paul
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

e34m5 wrote:Please add colons ":" between KeyMoves. Even for those without notes. This allows me to easily segregate the KeyMoves and save the notes accrordinlgy.
Can I ask why? It seems unnecessary since it already works the way it is (without notes or colons). Aren't the "«" and "»" characters enough to find and extract the note text if it exists?
Mark
e34m5
Posts: 675
Joined: Tue Oct 14, 2003 1:04 pm
Location: Atlanta

Post by e34m5 »

By doing it this way I can pre-parse before IR does the rest. Without it I need a whole lot more code to determine where one KM ends and the other starts. If we knew that notes were always there then I would agree, but that may not be the case.

There could be many situations where there could be KM's with or without notes.

So the : makes for a real easy way to extract the pieces for each KM, notes and all.

Remember that I need more than just the notes, I need to know who the notes belong to. The KM isn't deciphered until well after this info is pasted in. So I needed a way to extracat that info and then strip out all the excess so as not to change any current code in IR.

Is there a particular reason to not do the colons? Seems we are already adding a bunch extra.
Paul
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

I don't have a problem adding the colons if there are notes. If there's no notes, then I don't see the need to change what already works.

I'm planning on making the inclusion of notes a user-selectable option in KM, because I don't think everyone will want to use them. I'm also planning on using the actual function name as the note if no Notes are entered on the Functions sheet. So KM will produce a block of code that is all or nothing as far as notes are concerned.

Whatever parsing you're going to do "before IR does the rest" should simply look for the colon(s). If it doesn't find any, assume there's none and let the main IR routine take over.

Sound doable?
Mark
e34m5
Posts: 675
Joined: Tue Oct 14, 2003 1:04 pm
Location: Atlanta

Post by e34m5 »

Whatever parsing you're going to do "before IR does the rest" should simply look for the colon(s). If it doesn't find any, assume there's none and let the main IR routine take over.

Sound doable?
Ok. If any KM has a note then I need colons between all KM's (even those with out notes).I

If there are no notes whatsoever then no colons are necessary.

How's that?
Paul
e34m5
Posts: 675
Joined: Tue Oct 14, 2003 1:04 pm
Location: Atlanta

Post by e34m5 »

Mark:

Try this BETA 5.01

The Upgrade and Protocol notes were fairly striaght forward. The KeyMoves were a little more involved. The main problem was making sure that once the user selected which device to associate the upgrade with that the notes followed with this new assignment.

I think I got that part. So far I tested with no notes, notes on all KM's and notes on some KM's.

See what you come up with...let me know...
Paul
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

I've only done some very limited testing, but have discovered one problem. Somewhere between the paste and the display, IR is converting to all uppercase, which of course makes all the notes uppercase. The rest seems to be ok, as I have added with no notes, some notes, and all notes with good results.

Another problem (most likely you haven't gotten to it yet) is that the routine used by the [Import] button on the Key Moves and Macros tabs should work the same way to parse out notes for key moves. These are created on KM's Key Moves sheet, and come from the Key Move Code block on the Setup sheet.

When have have a little more time later this evening, I'll try some more testing to see if I can break anything for you. ;)
Mark
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

Ok, I had a little time now, and I was able to break it! 8)

If you edit an existing device, and paste in new code containing existing defined keymoves with NEW notes, the new note text is not updated to the key move.

Also, the entire note for a device is not getting inserted properly. If I paste in:

Upgrade Code 0 = 04 57 (Cable/1111) Sample Upgrade with NOTES
5A 05 7E FE FE F9 20 7F 7F AF 2F CF 4F 8F 0F F7
77 B7 07 FB 7B BB 3B DB 37 D7 57 97 17 E7 67 A7
27 C7 47 87 5B
End

the note only contains Sample Upgrade.

If I paste this:

Upgrade Code 0 = 04 57 (Cable/1111) Another Sample Upgrade with NOTES
5A 05 7E FE FE F9 20 7F 7F AF 2F CF 4F 8F 0F F7
77 B7 07 FB 7B BB 3B DB 37 D7 57 97 17 E7 67 A7
27 C7 47 87 5B
End

it shows Another Sample.

Seems to be some glitch in the parsing of the header line.

Lastly, I can't seem to get any notes for protocol upgrades. Here's what's contained in the saved ir file:

[Protocols]
011A=43 8B 42 8B 14 CF 44 08 08 01 18 01 06 01 18 03
005A=43 8B 31 8B 12 CF 44 08 08 01 18 01 06 01 18 03

More breaking... er... testing to come! :shock:
Mark
Mark Pierson
Expert
Posts: 3017
Joined: Sun Aug 03, 2003 12:13 am
Location: Connecticut, USA
Contact:

Post by Mark Pierson »

More breakage!

If a note contains a colon, it confuses your parsing logic and causes the IR message "Invalid character in input...". Since it's reasonable to assume people will use colon's in notes, maybe another advanced character is needed? How about "¦" (char 166, 0xA6)?
Mark
e34m5
Posts: 675
Joined: Tue Oct 14, 2003 1:04 pm
Location: Atlanta

Post by e34m5 »

I figured that you'd find a lot of stuff. After I put this up I thought about the colon in the notes. We'll pick some other esoteric character. Not sure about the Pipe, some one might use that as well. I'll look in the key map and let you know.

Funny you mentioning pasting in new notes for existing devices, I intentionally do not update those, I couldn't determine if that was good or bad so I took the safe route. Should we assume that if you paste in for existing KM's or anything else we should override the note?

I'll look at all the items you mentioned. Should not be any problem. I'm sure it's just some tweaking as always.

Please show me what the Upgrade Protocol that you used looks like. Did it look like the Upgrade Code with the ")' before the notes?

I'll have some time tomorrow night and Monday to play some more.

Thanks again for your help. I think the overall idea for notes is really going to be very helpful in IR.

Keep testing, er, breaking 8)
Paul
Post Reply