JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Tip to make global LKPs / ToadTogs more useful

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - General Forum
View previous topic :: View next topic  
Author Message
sfhub



Joined: 12 Oct 2003
Posts: 287

PostPosted: Fri Mar 23, 2007 1:43 am    Post subject: Tip to make global LKPs / ToadTogs more useful Reply with quote

I have a function on my TV (View Mode) to control the stretch mode, non-linear stretch, linear stretch, dot by dot mode, zoom, etc.

I wanted to have this function available regardless of which device I had active.

My first attempt was to define a macro (which by definition has global scope) on a button (Info). This worked fine, but I lost the use of a physical button, thus I couldn't extend this method to too many other functions/buttons or I would have no buttons left to use.

My next attempt was the same macro approach, but to use Shift-Info, so I wouldn't lose the use of the physical button, only the shifted version, which wasn't as important for me to lose. This worked fine, but it was annoying to have to press shift everytime I wanted to use the function.

My next attempt was to use an LKP so I could use the normal button function (changes depending on active device), then press and hold the button to get the View Mode function. This was the best interface I found, but it was somewhat memory inefficient because the LKP is bound to a particular device, so I thought I needed to create this LKP for every device I wanted this functionality from.

I thought about using a global macro to call into the LKP so I could define the LKP just once, and use the global nature of the macro to make that LKP global, however I didn't initially realize how I would allow the short key press of the LKP to execute the original function (changes depending on active device), because the macro executing the LKP would make a particular device active that wasn't necessarily the former active device.

For instance let's say I define:
Keymove - TV/PiP = View Mode
Macro - Info = DEV_TV, XSHIFT-1
LKP - TV/XSHIFT-1 = (Short=Shift-Info, Long=PiP)

When TV is my active device, this works fine. On Short Press it executes the original function of the Info button by taking advantage of cloaking.

My problem arises when my active device is anything other than TV, let's say CBL. When I press the Info button for short press, it causes the Info function from the TV device to execute rather than the Info function from the CBL device.

So I was resigned to create an LKP for every device that needed this global function but then it occurred to me that I could use DEV_Cancel to "Pop" the current active device and get access to the original device. In this way I could have a single LKP be valid for any active device.

I rewrote my LKP as follows
Keymove - TV/PiP = View Mode
Macro - Info = DEV_TV, XSHIFT-1
LKP - TV/XSHIFT-1 = (Short=DEV_Cancel,Shift-Info ; Long=DEV_TV,PiP)

Now I'm happy to be using a global LKP that does not cause me to lose the usage of the bound button as a device specific button. It is also relatively memory efficient and I can keep a single copy of the LKP.

The same principal works for my global ToadTogs.

This might be an obvious usage to advanced folks but I thought it was worth pointing out in case someone else finds it useful. It wasn't immediately obvious to me DEV_Cancel was the solution to my problem, though after realizing it, it became pretty obvious it was perfectly suited for what I wanted to do and I wondered why it hadn't occured to me quicker.
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7055
Location: Florida

PostPosted: Fri Mar 23, 2007 4:54 am    Post subject: Reply with quote

Good job. I think it would be really nice to see peoples "brag" posts, because it opens up new worlds for lots of people that just don't have the vision to put things together.

I too have found that the way to efficiently use my memory has often eluded me too.

Congrats.
Back to top
View user's profile Send private message Visit poster's website
floyd1977



Joined: 10 May 2006
Posts: 198
Location: Montgomery, IL

PostPosted: Fri Mar 23, 2007 8:55 am    Post subject: Re: Tip to make global LKPs / ToadTogs more useful Reply with quote

sfhub wrote:
I rewrote my LKP as follows
Keymove - TV/PiP = View Mode
Macro - Info = DEV_TV, XSHIFT-1
LKP - TV/XSHIFT-1 = (Short=DEV_Cancel,Shift-Info ; Long=DEV_TV,PiP)


I did basically the same thing for my Power button:

Macro - Power = DEV_SAT, Power
LKP - SAT/Power = (Short=Dev_Cancel, Shift-Power; Long={macro sequence to turn everything off})

Another tip I have for saving upgrade memory is to use LKPs as DSMs if you have room for the LKP/DKP special protocol, but not DSM. I have a few cases in my IR file where, instead of creating a DSM, I create a LKP with timer value FF, and I store the macro I want to execute in the short sequence.

Edit: I just realized that the DSM protocol doesn't take much space, so I added it to my IR file and replaced my hacked DSMs with real DSMs Smile
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - General Forum All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Get Smart! the band's official homepage Rockabilly Central