Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

Run all actions? Problem returning to the right theme

General discussion about LCD Smartie.

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo, Fast351

Post Reply
cdm
Posts: 2
Joined: November 8th, 2008, 3:20 am

Run all actions? Problem returning to the right theme

Post by cdm »

Is there a way to execute all actions?

I use my HTPC for listening to music, watching TV and recording TV. Any two can be happening simultaneously, which causes LCDSmartie some problems. If I'm watching TV, and recording stops, LCDS doesn't know whether to return to my default status screen, or my TV watching screen.

Here are my screens:
1,1 Default Screen
2,2 Upcoming Recordings
2,3 Recording Tuner #1
2,4 Recording Tuner #2
3,5 Watching TV
4,6 Listening to iTunes

Here are my actions:

if $dll(BTVSmartie,1,tuner#1,recindicator#1) = 1 then GotoTheme(2)
if $dll(BTVSmartie,1,tuner#1,recindicator#1) = 1 then EnableScreen(3)
if $dll(BTVSmartie,1,tuner#1,recindicator#1) = 1 then DisableScreen(2)
if $dll(BTVSmartie,1,tuner#1,recindicator#1) <> 1 then DisableScreen(3)
if $dll(BTVSmartie,1,tuner#1,recindicator#1) <> 1 then EnableScreen(2)

if $dll(BTVSmartie,1,tuner#2,recindicator#1) = 1 then GotoTheme(2)
if $dll(BTVSmartie,1,tuner#2,recindicator#1) = 1 then EnableScreen(4)
if $dll(BTVSmartie,1,tuner#2,recindicator#1) = 1 then DisableScreen(2)
if $dll(BTVSmartie,1,tuner#2,recindicator#1) <> 1 then DisableScreen(4)
if $dll(BTVSmartie,1,tuner#2,recindicator#1) <> 1 then EnableScreen(2)

if $dll(BTVSmartie,1,livetv,title) <> [blank] then GotoTheme(3)
if $dll(BTVSmartie,1,livetv,title) = [blank] then GotoTheme(1)

if $dll(iTunes,1,Title) <> [blank] then GotoTheme(4)
if $dll(iTunes,1,Title) = [blank] then GotoTheme(1)

Is there some better way to do this?
caesar
Forum Supporter
Posts: 734
Joined: October 15th, 2005, 10:39 am
Location: Romania
Contact:

Post by caesar »

First put the disabling actions, then the enabling ones and last the theme changing.
cdm
Posts: 2
Joined: November 8th, 2008, 3:20 am

Post by cdm »

caesar wrote:First put the disabling actions, then the enabling ones and last the theme changing.
So my understanding is that every 250ms all action condition values are updated (I assume in order?), and each action is only executed when the value of the condition changes.

So if iTunes is active, and a BTV recording stops, there will be a change in the BTV condition values, but none in the iTunes condition values. So it will trigger the BTV recording over event, which will change theme; but it won't trigger the iTunes event again, so it won't change to the iTunes theme.

How will changing the order of the actions affect this?
caesar
Forum Supporter
Posts: 734
Joined: October 15th, 2005, 10:39 am
Location: Romania
Contact:

Post by caesar »

cdm wrote:So my understanding is that every 250ms all action condition values are updated (I assume in order?), and each action is only executed when the value of the condition changes.
Yes, the actions are processed in numerical order and you are right.
cdm wrote:So if iTunes is active, and a BTV recording stops, there will be a change in the BTV condition values, but none in the iTunes condition values. So it will trigger the BTV recording over event, which will change theme; but it won't trigger the iTunes event again, so it won't change to the iTunes theme.

How will changing the order of the actions affect this?
So, to get eactly what you want you must put the actions in order of importance.
The unimportant actions come first (like the default screen when nothing else runs) and the most important is last.

first put the actions for default screen, then the ones to enable itunes if it runs then the one to enable btv.

every time the actions are processed the default screen is switched to. then it jumps to itunes if it runs, then it jumps to btv from itunes or directly if itunes doesn't run.

I really hope that i expressed it right. ;)

PS: you might want to not use transitions... so you won't notice the screen changes.
Post Reply