Dynamic Channel List v. 2.2

This module allows you to maintain channel lists on your various devices (like cable TV boxes and DSS) by uploading a CVS file to your master. The module then reads the file and displays the channel lists on your touch panel. This allows easy updating when a provider changes their lineups, and doesn't require any program changes when such events occur.

This was originally in the ACE section, but I decided to move it out here. You should check the original thread at http://www.amxforums.com/showthread.php?1958-Dynamic-Channel-List-module-for-Favorites&highlight=channel+list before posting questions or comments if you have access. It also hasn't been updated since 2008, and I didn't want to necro-post it :) .

Anything else you need to know is in the TXT file. Changes this revision are mainly the addition of a file-based storage of the user favorites, so that when the rare glitch of the NetLinx master losing it's persistent variables happens, the customer doesn't lose the favorites. Some other tweaks were made as detailed in the TXT File.\

The ZIP file is too big for a forum attachment because of the touch panel file included, so I'm providing a Dropbox link instead. If for some reason the link doesn't work, shoot me a PM and I'll fix or update it.

https://www.dropbox.com/s/q9r98i1teypwk86/Channel%20List%20Demo%20V2.2.zip

Comments

  • a_riot42a_riot42 AMX Wizard Posts: 1,619
    Thanks for posting that up, there's a lot of tedious work in those files. It looks like good clean code too (except for the DEFINE_CALLS everywhere :) )

    I noticed there's some big arrays in some of those stack variables:
    STACK_VAR CHAR sStationText[MAX_CHANNEL_LIST_SIZE][MAX_DESCRIPTON_SIZE + 53] ;
    STACK_VAR CHAR sIconBitmap[MAX_CHANNEL_LIST_SIZE][50] ;
    STACK_VAR CHAR bDisplayFlag[MAX_CHANNEL_LIST_SIZE] ;
    

    Does is run pretty quick in a large system? I actually store the structure to a file rather than in a text format. I'm lazy that way. I'll give it a test when I have access to a controller.
    Paul
  • DHawthorneDHawthorne Junior Member Posts: 4,584
    Piffle. There's nothing wrong with "DEFINE_CALL." I'm getting out of the habit, but I used to prefer them over a function when there is no return value.

    I've had this module running on some pretty large projects, and the only slowdown is on startup as it reads the initial data from the CSV file. I really wish NetLinx had some manner of idle() function for such cases. But even that isn't major.

    You can tweak the sizes of those arrays if you know you don't need that much space. They only have to be big enough to hold all the channel information for your largest channel list, which is why I made the references to a constant rather than hard-coding it.
  • AntAnt Junior Member Posts: 52
    Hey,

    I was wondering if i could get a link to the Dynamic Channel module you gave a dropbox link to before?

    It would be much appreciated.

    Anthony
  • AntAnt Junior Member Posts: 52
    Does anyone else happen to have a copy of this module or another module that allows dynamic tv channel allocation?

Sign In or Register to comment.