Two Timers Questions

First off, the easy one: I have many Translators referencing a Timer “LABEL”. I have slightly altered the function of this Timer so I want to update all references to it to now be “OTHERLABEL”. Is it possible to globally change the name of a Timer or do I need to do it manually with every Translator that references it?

If not, any suggestions at how to do it reasonably efficiently and completely?
(I usually Export to .txt and open it in a Word Proc and do a Find to track down all the Translators that might reference, but brain get lost in gruntwork and create headache fire bad)

Secondly, while researching the above I ran across two parts in the manual I haven’t tried to shoehorn into my “look what I can do” Project:

Page 29: “5.3.2 Incoming Action … There are also MIDI Translator internal events like when a Preset is activated or when a Timer expires.”

Page 107: “Incoming Action: … Incoming Actions can be e.g. …Timer expired, …”

I’m currently running 1.9.0, which I believe is the current, no?
I do not find this option for “Timer Expired” - I may be misunderstanding the manual, but is there a way to utilise a Timer’s expiration as an Incoming Action?


I think perhaps the manual needs a little wordsmithing. Incoming events can be when a timer “trips” but there is no timer expire incoming event. However I often do this by putting a delay on an outgoing action to delay the timer from tripping.

Note the outgoing delay in this translator.

This timer gets tripped after the outgoing delay.

And what the log shows:


Finally the project file I did this in.
Timer-Tripped-2022-01-21.bmtp (890 Bytes)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thanks, Steve.
I was wondering about that wording. I figured it was just my problems with english.

However, my first Q:

Any ideas on this?
I fear updating all the Timer names to something more applicable to how this set of Translators operates because I get confused so dang easy (!). I’m hoping there’s a simpler easier than headache-fire-bad…?


You might want to use a text editor with global search and replace on the project file? Be sure to keep your old copy of your project file, however just in case.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thanks, Steve!
Was hoping something might be easier/clearer.

I imagine that a Feature Request might be the Timer drop down list allow you to right click and edit a Timer name. However, I know that typing a Timer name OTHER than one in the list creates a new Timer, maybe the Timer List could have a option - so that any changing of an existing Timer’s name would change the name of the Timer.

I forget the culture here wrt Feature Requests. Is that a Contact Form/send it in thing or is this sufficient or should I just shut up & sit down and get back to my dang timers? LOL

And again: THANK YOU! :slight_smile: :slight_smile: :slight_smile:

We can add that request here.


Timer Selection with dropdown list of existing timer.

Dropdown list included “New Timer” to add to a new timer. Using the dropdown list instead of text makes it less likely for user to make a mistake and inadvertently create a new timer.

Dropdown list should also include a “rename timer” option, so that use can rename an existing timer and when the timer name is changed, the new name is reflected throughout the project file.

Does this cover it?

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:
1 Like

That’s excellent, yes, thank you, Steve!
My suggestion might be more that if one Right Clicks on a Timer Name in the Timer LIst, they can Rename it right there, but I dont’ know the underpinnings of making software do things, so which ever works functionally for you UI mavens.

I just think it might be easiest to have the option to rename a Timer globally.

Or even in a similar way you can look at the Project Level MIDI Routes, Ports, & Aliases if there was a place to select [View Timers] and allow editing of names there, if not also a way to reference the Translators said Timers are called/used.


I will flag @florianbome on your request so he can pick it up from here.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:
1 Like

Good ideas here! We’ve had something like that in mind, but in a slightly less useful way.

How I’d like it: a section “Timers” in the Project properties is a good idea. View the used timers, and where they’re used, plus option to rename globally. And the same for variables.

PS: in my understanding of English, a timer has a delay (which is mistakenly named “Initial Delay” for one-shot timers), and after the delay, the timer expires. Judging from the discussions here, it seems that’s not a good term! How about, the timer “elapses” after its delay? Or is Steve’s better: “the timer trips”?

That would be very clear and easy to use. I’m game for that!

My undestanding of english is shaky at best and subject to how many handfulls of painkillers I’m throwing back, but “expires” means come to an end. The timer is not expiring - the initial delay is expiring, perhaps? Because the Initial Delay must expire before the timer starts.

I’d think of it like an expiry date on a credit card for a delay to expire: The credit card might expire (past its expiry date), but you still owe on the card (the timer may still be running)

So, I’d say “Timer Delay Expires” or “Delay Expiry” - although I dont’ think Americans use “expiry” - because technically the Timer is not what is expiring…perhaps…maybe…?

I’ve looked a bit more into this. Turns out that in German (my native language), to expire and to elapse commonly use the same verb. What I found is this:

Now Microsoft does not need to be the best reference for correct usage of English, but this seems to express exactly what I want. I’ll fix the user’s manual accordingly.

Hi Florian,

Thanks for looking into this! I think the most important point other than the language is that the terminology in the user guide matches that of the application.

Now my opinion which I think is of lesser importance.

I can see a one-shot timer “expiring” where a repeating timer will never expire until either the last timer trip or when the timer is killed.

The term “expiring” makes sense in the context of knowing whether you can take an action on it. For instance you can’t kill an expired timer, but you can kill it before the last timer trip. I often see users trying to kill timers that no longer exist (expired).

The term “elapse” to me in English language is a bit more ambiguous and could me either trip or expire. The elapsed time could mean the time between the timer started and the last trip (which could be one of many). For a one shot timer, elapsed, tripped and expired mean the same to me.

Again the importance should be more in making sure the documentation matches the application itself. Timers can often become confusing to users especially when you couple them with the delay feature, which I think is covered very well in documentation.

The subtle difference is that if you delay and outgoing action of a timer, the timer actually doesn’t exist until the outgoing delay time is reached. In contrast, if you put an initial delay on the timer itself, the timer existing immediately (or after the outgoing action delay), but trips (or expires if a one shot timer) at after the initial timer delay.

My two cents.