Your Universal Remote Control Center
RemoteCentral.com
RTI Control Systems Forum - View Post
Previous section Next section Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Topic:
Functions - my wish for TTD
This thread has 11 replies. Displaying all posts.
Post 1 made on Sunday September 23, 2007 at 14:48
fluid-druid
Senior Member
Joined:
Posts:
June 2005
1,312
Here's my current #1 wish for TTD: Functions

also known as "methods" in the programming world.

How I think this could be implemented into the current, drag and drop TTD:


On a processor we currently have system macros. These macros are numbered, but referenced by name. A system macro can run additional macros. A remote/keypad/tp can also "run" these macros using a System Macro Trigger command.

OK.


Now, what I'd do is add a second set of "macros" called functions.
The functions would be named, as are the system macros.
Essentially, they would be the same as system macros with one major difference: Each "function" would have access to a number of "variables".

When you add a function (like adding a new system macro). The software will allow you to define how many variables ("arguments") are used in the function. These variables could be named and/or numbered (ie: variable1, variable2 or sourceID, tvOn).

Inside the function (essentially a system macro), the programmer could reference the variables. As a rudimentary example, without changing the CURRENT applications of system macros, a function could look like this:

Function Name: mediaRoomControl
Variables: sourceID, tvOn

Function:

RS232 > Denon receiver > PWON\r (turn on receiver)
delay 2 seconds

if (sourceID="TV") then RS232>Denon Receiver> SITV\r (set receiver to TV input)
if (sourceID="DVD") then RS232>Denon Receiver> SIDVD\r (set rec to DVD input)

if (tvON="true") then IR>Sony TV> Power On (turn on TV)
....else IR>Sony TV> Power Off (turn off TV).




Now lets look at the remote.
On a button (set to standalone), you can currently "trigger" a system macro on a processor.

Similarily, we would now be able to "trigger" a function. The only difference would be, that when we put the "Trigger Function" command on a button, the software would ask for the VALUE of the variables used by the function.

So when I assign the "mediaRoomControl" function to my "Watch TV" button, the software would ask me for the values of the sourceID and TVon variables. In this case, I would set the sourceID variable as "TV" and the TVon variable as "true".

On my Listen to CD button, I would use the SAME function trigger, but this time I would set sourceID as "CD" and the TVon variable as "false"

---

This is a VERY basic example. If RTI were to implement this type of possibility, I would hope that they would expand on this.

First, I would allow for the processor and/or remote to store "global" variables. These would be identical to Flags, except they could contain a number or "string" of characters.
Basic math options (ie ability to ADD two numbers) and string options (ie ability to "join" two strings) would be important.

---

This desire stems from my recent programming of B&K multiroom equipment.
I have 6 zones and 9 sources (plus tuners and local source inputs!)
Basically, every time I program one of these, I create 9 macros for every zone.

Macro 1: Zone A, input 1
Macro 2: Zone A, input 2
etc etc

---

With a decent implementation of functions, I could have ONE function.
I could "pass" two variables to the function: zoneID ("A-F") and sourceID (1-9).
Then using string addition, I could create my RS232 commands from these variables, and send them to the B&K controller.

---

There are MANY MANY MANY possible uses for this type of system.

Obviously Crestron/AMX etc have this possibility and so much more.

But, I think a fairly basic implementation of variables and functions could be worked into the current TTD software without much trouble. They could keep the "drag and drop" simplicity of the software. It wouldn't require the programmer to write "code". Basically variables could be set, cleared, and tested just like flags, except they could have more than 2 states.

Functions would be just like system macros, except with access to these variables.

Very basic addition/subtraction and string manipulation would be the icing on this cake.

----

Dear RTI,

If you are listening, please please please consider adding this functionality.
I have thought this out in great depth... but its hard to explain it here. I would be very happy to chat with your software designers and give better examples of how I think this could be added to the current software, without major upheaval of the current system... and without making the software more difficult for the average basic programmer who has no need for these options.

Thanks,

FD

Last edited by fluid-druid on September 24, 2007 02:19.
...couple a thumb tacks and a stick of double sided tape should hold this baby up...
Post 2 made on Sunday September 23, 2007 at 17:18
Ernie Bornn-Gilman
Yes, That Ernie!
Joined:
Posts:
December 2001
30,104
Hell, before I read all this, I'd like to know what "TTD" stands for. Here's about half of what I came up with, and I stopped with a relevant one. Although I'd like to see Terence Trent D'Arby to do some of those things, too!

TTD Total to Date
TTD Tactical Terrain Data
TTD Tank Training Devices
TTD technical task directive (US DoD)
TTD Technical Training Device
TTD Temporary Total Disability (insurance term)
TTD Temporary Travel Document
TTD Terence Trent D'Arby (singer)
TTD Terminal Temperature Difference
TTD Tested to Destruction
TTD There's the Door
TTD Things To Do
TTD This Thread Delivers
TTD Thought Translation Device
TTD Tic Tac Dough (TV show)
TTD Time to Die (gaming clan)
TTD Time-To-Degree (National Research Council)
TTD Tirumala Tirupati Devasthanam (administrative board for Lord Venkateshwara Temple in Tirupati, Andhra Pradesh State, India)
TTD Tirumala Tirupati Devasthanams
TTD To the Dome (gaming clan)
TTD Toilet Tissue Dispenser
A good answer is easier with a clear question giving the make and model of everything.
"The biggest problem in communication is the illusion that it has taken place." -- G. “Bernie” Shaw
OP | Post 3 made on Sunday September 23, 2007 at 18:04
fluid-druid
Senior Member
Joined:
Posts:
June 2005
1,312
Ummmm: Theater Touch Designer (the RTI programming software)
...couple a thumb tacks and a stick of double sided tape should hold this baby up...
Post 4 made on Sunday September 23, 2007 at 18:30
cheesehead22
Long Time Member
Joined:
Posts:
May 2007
409
Aint all there is he? This is the RTI forum...correct? I hope we all have opened TTD at least once or twice.
Don't read my answer. Someone else will go into great detail as to why I am wrong rather than answer the original question...
Post 5 made on Sunday September 23, 2007 at 20:17
The8thst
Long Time Member
Joined:
Posts:
October 2004
364
I agree with everything you said.

I would also add one more item to the wish list.
In the new version of TTD when you are viewing the RS232 object on the far right side of the screen, there is a drop down menu at the top to let you select the output port before you drag the string onto a button.

I would love to see this same drop down menu for the IR command list in both the macro editor and the main window. It would allow you to select a single port for the command or select all ports before you drag the command to the button on the remote.

Should be easy enough.
Post 6 made on Sunday September 23, 2007 at 20:41
A/Vjunkie
Long Time Member
Joined:
Posts:
May 2007
271
On September 23, 2007 at 14:48, fluid-druid said...
Here's my current #1 wish for TTD: Functions

also known as "methods" in the programming world.

How I think this could be implemented into the current,
drag and drop TTD:

On a processor we currently have system macros. These
macros are numbered, but referenced by name. A system
macro can run additional macros. A remote/keypad/tp
can also "run" these macros using a System Macro Trigger
command.

OK.

Now, what I'd do is add a second set of "macros" called
functions.
The functions would be named, as are the system macros.
Essentially, they would be the same as system macros with
one major difference: Each "function" would have access
to a number of "variables".

When you add a function (like adding a new system macro).
The software will allow you to define how many variables
("arguments") are used in the function. These variables
could be named and/or numbered (ie: variable1, variable2
or sourceID, tvOn).


Inside the function (essentially a system macro), the
programmer could reference the variables. As a rudimentary
example, without changing the CURRENT applications of
system macros, a function could look like this:

Function Name: mediaRoomControl
Variables: sourceID, tvOn

Function:

RS232 > Denon receiver > PWON\r (turn on receiver)
delay 2 seconds

if (sourceID="TV") then RS232>Denon Receiver> SITV\r
(set receiver to TV input)
if (sourceID="DVD") then RS232>Denon Receiver> SIDVD\r
(set rec to DVD input)

if (tvON="true") then IR>Sony TV> Power On (turn
on TV)

....else IR>Sony TV> Power Off (turn off TV).

Now lets look at the remote.
On a button (set to standalone), you can currently "trigger"
a system macro on a processor.

Similarily, we would now be able to "trigger" a function.
The only difference would be, that when we put the "Trigger
Function" command on a button, the software would ask
for the VALUE of the variables used by the function.

So when I assign the "mediaRoomControl" function to my
"Watch TV" button, the software would ask me for the values
of the sourceID and TVon variables. In this case, I
would set the sourceID variable as "TV" and the TVon variable
as "true".

On my Listen to CD button, I would use the SAME function
trigger, but this time I would set sourceID as "CD" and
the TVon variable as "false"

---

This is a VERY basic example. If RTI were to implement
this type of possibility, I would hope that they would
expand on this.

First, I would allow for the processor and/or remote to
store "global" variables. These would be identical
to Flags, except they could contain a number or "string"
of characters.
Basic math options (ie ability to ADD two numbers) and
string options (ie ability to "join" two strings) would
be important.

---

This desire stems from my recent programming of B&K multiroom
equipment.
I have 6 zones and 9 sources (plus tuners and local source
inputs!)
Basically, every time I program one of these, I create
9 macros for every zone.

Macro 1: Zone A, input 1
Macro 2: Zone A, input 2
etc etc

---

With a decent implementation of functions, I could have
ONE function.
I could "pass" two variables to the function: zoneID
("A-F") and sourceID (1-9).
Then using string addition, I could create my RS232 commands
from these variables, and send them to the B&K controller.

---

There are MANY MANY MANY possible uses for this type of
system.

Obviously Crestron/AMX etc have this possibility and so
much more.

But, I think a fairly basic implementation of variables
and functions could be worked into the current TTD software
without much trouble. They could keep the "drag and
drop" simplicity of the software. It wouldn't require
the programmer to write "code". Basically variables
could be set, cleared, and tested just like flags, except
they could have more than 2 states.

Functions would be just like system macros, except with
access to these variables.

Very basic addition/subtraction and string manipulation
would be the icing on this cake.

----

Dear RTI,

If you are listening, please please please consider adding
this functionality.
I have thought this out in great depth... but its hard
to explain it here. I would be very happy to chat with
your software designers and give better examples of how
I think this could be added to the current software, without
major upheaval of the current system... and without making
the software more difficult for the average basic programmer
who has no need for these options.

Thanks,

FD

Few!! Good thing you didn't throw in any "Flagging" or you might have lost me!!!

WOW! you said a mouth full.....
I once thought I had mono for an entire year, it turned out I was just really bored - Wayne's World
Post 7 made on Monday September 24, 2007 at 01:27
estech
Active Member
Joined:
Posts:
August 2002
584
Great description!
I'd like to see functions and variables added to TTD. Global variables would be ideal for setting all keypads to a common system status (2-way implied).
I would add a timer function. A possible use would be once the System OFF macro was run, to sense no remote activity for a period of time and PageLink to the "Touch to Start" page.
Pay no attention to that man behind the curtain.
Post 8 made on Monday September 24, 2007 at 02:17
tgrugett
Select Member
Joined:
Posts:
August 2004
1,850
I am all in on the variables.

I have been dealing with this kind of need for a while now with complicated conditional page flips on the remote. I do quite a few small three zone Denon based systems for empty nest clients that will use just one T3 controller.

I have long nested test flag strings to test for other zones on and their current source "status" when one zone is shut down. This is to determine if the remote should flip to a device screen in an active zone or initiate a "Goodbye" sequence.
If I had variables I could put together far simpler conditional scenarios!

...working on a 3 video and 3 audio zone (4 to 6 independent zones depending on the desired configuration selected by the user) job with a matrix switch including two cable boxes... the variables could speed the process quite a bit given the number of choices the user has at any given time.
OP | Post 9 made on Monday September 24, 2007 at 02:34
fluid-druid
Senior Member
Joined:
Posts:
June 2005
1,312
There are a couple reasons this would be so huge for me (and you... you just don't know it yet!)

1. power. This feature in the right hands could greatly expand the possibilities of the product.

2. save programming TIME!
2a. With functions, ONE function could potentially handle the work of many many macros.
2b. With functions, we could create reusable code. This code could be flexible.
2c. The more modular the programming is, the less work it is to change something.

How many of us have tried to use the remote and processor programs from another clients project, with a new project? I have several jobs right now using RTI with B&K. T2Cs, RK3s, and K4s. I had no desire to rewrite ALL my code... so naturally I copied the file from one job and set out to make the necessary changes. WOW. There is soo much potential to screw up! Miss one small detail, in one macro and you can have a very difficult time finding it later. I've found that sometimes its easier (faster/safer) just to start over from scratch. With functions (and intelligent program design) systems could be much easier to change.

3. Save resources. Why have 100 macros, when 1 function could do the work? Why use 50 flags, when one variable could do the work?
With flags, if you have 10 possible settings, you have to clear 9 flags and set 1. A single variable could be used instead.
...couple a thumb tacks and a stick of double sided tape should hold this baby up...
Post 10 made on Monday September 24, 2007 at 11:02
tgrugett
Select Member
Joined:
Posts:
August 2004
1,850
On September 24, 2007 at 02:34, fluid-druid said...
There are a couple reasons this would be so huge for me
(and you... you just don't know it yet!)

1. power. This feature in the right hands could
greatly expand the possibilities of the product.

2. save programming TIME!

2a. With functions, ONE function could potentially
handle the work of many many macros.
2b. With functions, we could create reusable code.
This code could be flexible.
2c. The more modular the programming is, the less
work it is to change something.

Ahmen! My programming has become as modular as it can get. I do not want to reinvent the wheel every time especially after my GUI is already designed.
How many of us have tried to use the remote and processor
programs from another clients project, with a new project?
I have several jobs right now using RTI with B&K.
T2Cs, RK3s, and K4s. I had no desire to rewrite ALL
my code... so naturally I copied the file from one job
and set out to make the necessary changes. WOW. There
is soo much potential to screw up! Miss one small detail,
in one macro and you can have a very difficult time finding
it later. I've found that sometimes its easier (faster/safer)
just to start over from scratch. With functions (and
intelligent program design) systems could be much easier
to change.

3. Save resources. Why have 100 macros, when 1 function
could do the work? Why use 50 flags, when one variable
could do the work?
With flags, if you have 10 possible settings, you have
to clear 9 flags and set 1. A single variable could
be used instead.

The flags on the remote are the real issue for me. On the processor I just create a clear all flags macro, drag it into a system macro and then set the one flag I need. This works well for clearing and setting input source flags, however, I find that input source flags on the remote are far more useful to me. I create a button clearing all flags and testing for all flags as I need and then I copy and paste the macro into buttons. I then add or edit the called maco(s) and set the proper flag(s). This works well, however, the standalone macros can be incredibly long and tedious to troubleshoot if you miss something. It is the clunkiest part of TTD for sure.
OP | Post 11 made on Tuesday September 25, 2007 at 01:56
fluid-druid
Senior Member
Joined:
Posts:
June 2005
1,312
Yes, it would be VERY cool if the remotes could also have reusable macros (and even better if they also had functions!)

The Clearing of Flags is the most common application that would benefit from these on-remote macros.... but there are plenty more.

Lets face it, flags are ok.... and when they gave us the ability to NAME them, they became 100 times better.... But what we really need are variables that can be many states, not just On/Off.

In many cases, one variable could replace dozens of flags.... and therefore, one macro (or line of code) could CLEAR the variable... instead of constantly needing to clear dozens of flags and then set ONE. If on just one occurrence, one of the flags gets missed (ie doesn't get cleared) the entire logic of the program can go down the drain.

I haven't seen an RTI guy around here lately.... I wonder if they still lurk?
...couple a thumb tacks and a stick of double sided tape should hold this baby up...
Post 12 made on Wednesday September 26, 2007 at 00:01
Ernie Bornn-Gilman
Yes, That Ernie!
Joined:
Posts:
December 2001
30,104
On September 23, 2007 at 18:04, fluid-druid said...
Ummmm: Theater Touch Designer (the RTI programming software)

Ah. Yup. No, I guess I'm not all there. Also, I don't use abbreviations as much as you do, I guess. My icon still says Theater Touch Designer, partly because my Marnatz program is Touch Screen Setup and I'm not sure I would always suss out TTD versus TSS all the time.

I just like to spell Marnatz that way.
A good answer is easier with a clear question giving the make and model of everything.
"The biggest problem in communication is the illusion that it has taken place." -- G. “Bernie” Shaw


Jump to


Protected Feature Before you can reply to a message...
You must first register for a Remote Central user account - it's fast and free! Or, if you already have an account, please login now.

Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.

Hosting Services by ipHouse