Home AMX User Forum AMX General Discussion

Reprogrammable Channel Icon Macros

I have seen a few AMX projects that allow for the end user to change the macro for a favourite channel icon (i.e. when the cable company remaps the channels).

RTI has a driver available for theirs http://www.coupeautomation.com/mm5/merchant.mvc?Store_Code=C&Screen=PROD&Category_Code=UTL&Product_Code=CHMXDS

Does anyone have any code snippets on how to make that work?

Comments

  • John NagyJohn Nagy Posts: 1,742
    There are many ways around this goal.

    As an example and idea starter, we do it with a channel database that is "content" centric, that is, a real channel is just that, so CNN exists as a data item with an icon and title and description, without a specific dialing sequence (let alone a MACRO!). Individual vendor channel maps pair the local dialing requirement with the index of the data item (content). So saving favorites is saving the CNN entity, and what gets dialed is a side effect looked up when needed for the vendor of the moment.

    This allows changing channel vendors on the fly without changing the saved favorites, selected from GENRES that only show channels that match the vendor of the moment's dialing list. So the same system can have one set of CONTENT favorites that work regardless of whether they are on cable or any of several satellite services at that moment. Simultaneously. (Or of course, a set of favorites for each)

    The channel maps that pair the channel and what to dial are maintained centrally and pushed on the internet when changes are made. No changes are required in the stored Favorites. The user, if they have requested the permission, can reprogram the dialing sequence for any channel vendor on-the-fly from a panel if they want to get ahead of the central refresh. Any changes they make are logged, so the dealer can note whats been done and preserve or overwrite it, remotely.

    All that to say that there's lots of logical ways to manage channel maps that can be done in AMX programming, and the RTI "driver" isn't likely to be uniquely valuable to AMX programmers, even if it can be ported or copied.
  • ericmedleyericmedley Posts: 4,177
    This is really a good topic to address the whole concept of "virtualizing" your code. the idea is that you take something that is essentially hard coded either in the code itself
    button_event[TP,1]{
      push:{
        // send tv to channel 231 //cnn
        }
      }
    

    or via code declared arrays where you replace the number 231 with a variable array cell which corresponds to whatever CNN is supposed to be.

    The more you virtualize the less time you spend in actual code, which can be time consuming and prone to copy/paste errors. It's much easier to go through a nicely stacked up array and change/edit the values.

    The next step in the proces is to move the initialization of the value from code to something outside. This can be files on the master itself or even an onsite/offsite data server. This stepp allows you now to effectively reporgram all your programs at once.
  • I usually implement a "press and hold to change channel" method.

    All the favorites are stored in the processor, and when they need to be changed, the end user presses and holds on a channel icon for X amount of time. A keypad will popup, they enter the new channel and it gets saved.

    If you're looking for something more dynamic, Rovi has an API for getting current channel listings, but you would have to write the code yourself. http://developer.rovicorp.com/page
Sign In or Register to comment.