Home AMX Design Tools

TPD4 Feature Request ? Inactivity string output.

Joe HebertJoe Hebert Junior MemberPosts: 2,159
Under project properties for a TPD4 file we can set panel strings for Startup, Wakeup, and Sleep. This is a request for an option to set a panel string for Inactivity. We can set an Inactivity page flip but this doesn?t allow us to hide or show popups. (And we can?t change the Inactivity page flip on the fly which vining inquired about in an earlier thread.)

We do have the workaround to trap every button push on each panel with BUTTON_EVENT[dvTP,0] and use waits or timelines to produce our own home brew for Inactivity. But it?d a heck of a lot easier and less code for a panel string to trigger any Inactivity routines that we need to run.

Thanks.

Comments

  • champchamp Junior Member Posts: 261
    While we're on the topic of feature requests...

    Being able to add delays between page flips and popups would be great.
    It'd also be great if you could create macros with delays for send_commands and ir events (like a pronto).

    I can almost hear people coughing and saying that this is amateurish, but I find IR commands to be good as a back up or in a residential job where they want control of a TV/VCR in a bedroom which isn't near the main system.

    champ
  • jjamesjjames AMX Sustaining Engineer Posts: 2,901
    Joe Hebert wrote:
    We do have the workaround to trap every button push on each panel with BUTTON_EVENT[dvTP,0] and use waits or timelines to produce our own home brew for Inactivity.

    Wow! Learn something new everyday! I'm working on a project right now where I need to keep track of panel inactivity.

    BTW - how would you set that up? (The BUTTON_EVENT[dvTP,0] bit)

    Something like this?
    BUTTON_EVENT[dvTP,0]
    {
      PUSH:
        {
          IF(TIMELINE_ACTIVE(1))
            TIMELINE_KILL(1)
          TIMELINE_CREATE(1,lTIMES,2,TIMELINE_RELATIVE,TIMELINE_ONCE)
        }
    }
    

    Also, say for instance I have several ports set up on my TPs, would I need to reference those too?
    BUTTON_EVENT[dvTP,0]           // GENERAL BUTTON EVENTS
    BUTTON_EVENT[dvTP_CAB,0]  // CABLE MACRO SPECIFIC BUTTONS
    {
      PUSH:
        {
          // KILL AND CREATE TIMELINE FOR PANEL
        }
    }
    

    And lastly, this should work on a DEV array, correct? So instead of it using dvTP_FAM, I can use an array named dv_TP that has all of my panels, and simply use a GET_LAST to start and kill my timeline? And one last question - will this [dvTP,0] bit work on a G3 panel?
  • viningvining X Member Posts: 4,368
    The Button_Event [dvTP,0] appears to work only on button pushes of that port so if dvTP = 10001:1:0 it works on port 1 button pushes. This means we would need a devArray of all our ports for each TP such as devTP1 {10001:1:0, 10001:2:0, 10001:3:0, 10001:4:0, so on ............................................} then we would have to duplicate that for every TP then create an array of our dev arrays devAllTPsAllPorts {devTP1,devTP2,devTP3,devTP4,devTP5, so on.................}

    code:
    BUTTON_EVENT [devAllTPsAllPorts,0]
    {
    PUSH:
    {
    cancel_wait 'TP_Inactivity'
    nTPInactivity = 1
    wait nVARwaitTime 'TP_Inactivity'
    nTPInactivity = 0
    }
    }

    Eleswhere use the nTPInactivity to do your thing.

    I guess this should work. Well I know it works on just the [dvTP,0] so if the arrays work then it should work but seems like too much work. I think I would opt for making a function and placing it in every button event that would set the above just after the get_last or button.input.channel.

    I don't think I would try a time_line cuz I don't want any more TL running than necassay. Being new to netlinxs and programming in general it seems to me than the less TL running the better and I already have around ten running.

    I've already accomplish what I wanted to do by parsing the TP data_event using find_string 'PAGE-PictureFrame' then close the picture frame open the previous page then open the smaller picture frame pop up where I wanted it. It sounds rough but appears visually smooth as I never even see the full size Picture Frame.

    But a simple send_command to the TP to change the designated inactivity page would be so sweet.


    On another note!
    I may be a little simple but how do you guys add the highlighted areas under quote: and code: in your responses.
  • mpullinmpullin Obvious Troll Account, Marked for Deletion Posts: 949
    vining wrote:
    I may be a little simple but how do you guys add the highlighted areas under quote: and code: in your responses.

    [ QUOTE=Shakespeare ] All the world is a stage [ /QUOTE ]
    [ CODE ] DEV Turd_Furgeson = 5001:7:0 [ /CODE ]

    Remove the spaces just inside of the brackets, have fun :-)
  • viningvining X Member Posts: 4,368
    Test 1
    Test 2
    Test 3
    
    Test 4
    

    Ok, simple enough. What tags are used for making text bold?
  • Joe HebertJoe Hebert Junior Member Posts: 2,159
    Faq
    vining wrote:
    Ok, simple enough. What tags are used for making text bold?

    Check out the FAQ at:
    http://www.amxforums.com/misc.php?do=bbcode
  • ColzieColzie Senior Member Posts: 470
    Joe Hebert wrote: »
    Under project properties for a TPD4 file we can set panel strings for Startup, Wakeup, and Sleep. This is a request for an option to set a panel string for Inactivity. We can set an Inactivity page flip but this doesn?t allow us to hide or show popups. (And we can?t change the Inactivity page flip on the fly which vining inquired about in an earlier thread.)

    We do have the workaround to trap every button push on each panel with BUTTON_EVENT[dvTP,0] and use waits or timelines to produce our own home brew for Inactivity. But it?d a heck of a lot easier and less code for a panel string to trigger any Inactivity routines that we need to run.

    We still have these limitations, correct?

    I created a dummy TP page ("Inactivity"), assigned it to the Inactivity Page, turned on Page Tracking, then do my inactivity stuff when I see that the dummy page shown. Seems to achieve the same thing as an Inactivity string, just with a bit more work.
Sign In or Register to comment.