Author Topic: Timeout States?  (Read 6605 times)

Offline MarKo

  • Power user
  • Full Member
  • *
  • Posts: 249
Timeout States?
« on: May 18, 2015, 10:49:19 PM »
Hi Alexey,

As i progress and get to using my BCR-preset, i´ve got new ideas/wishes ::)
I´m quite sure the following should be possible, but at the moment i am missing ideas on how to "code" this.
So, i have a row of 8 rotarys with led-rings, which can be used as level-meter (this works super now!).
Currently i have the matching volume-controls assigned to a different row of encoders, but this is so "unintuitive" - you always reach to the encoder, which shows the level-meter (which is not assigned at the moment).
So what i´d like to code is:
encoder shows level-meter, but changes volume if touched - and then shows for a timeout-period the new(changed) value eg. for 3 sec.
I was thinking about setting a state on changes (no problem), but how would you code that timeout after the *last* change? So timer always re-starts on changes?
Apart from the timeout, meter/volume should be switchable with a normal state too, but that´s no problem i have that state already.

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1701
Re: Timeout States?
« Reply #1 on: May 18, 2015, 11:29:49 PM »
You will need (per encoder): Set "Enc1Ring"  with States "Meter" (default) and "Value". You will need 2 monitors and 1 timer, so "Encoder 1 action looks like"
* Track 1 Volume
* Enc1Ring: Meter - Meter monitor
* Enc1Ring: Value - Value monitor
* Timer Once (Once is important, it should not trigger periodically)
* Value (endless, MIDI/Fine, whatever)
* Set state Enc1Ring = Value
* Monitor Reset "Encoder 1: Timer" (the one 3 lines before), 3 seconds

In the Timer, you just have:
* Set state Enc1Rung = Meter, "Set engine state = yes" (important!)

Monitors you already know.

In is important either put Enc1Ring = Value AFTER monitors (at least Level and Meter), or set "Set engine state" for it. We do not want it is set during monitoring cycles, even temporarily.

You already see the answer on your question how to retrigger, since Monitor/Timer has only one counter, every time you ask to trigger after 3 seconds, you shift the time it will be triggered.

I use it in my StudioMix preset (to avoid jitter and solve "chicken and eggs" problem of not touch sensitive faders), but it is not yet ready. So I hope you understand it without working coded example.

Offline MarKo

  • Power user
  • Full Member
  • *
  • Posts: 249
Re: Timeout States?
« Reply #2 on: May 19, 2015, 11:52:38 AM »
Oh, so simple, i should have found that myself.
But i guess it was a bit late yesterday, and i had openend a bottle of wine (like you suggested in one of the tutorials ;))
i will try that tomorrow, but i think i understood - thank you!

Offline MarKo

  • Power user
  • Full Member
  • *
  • Posts: 249
Re: Timeout States?
« Reply #3 on: June 07, 2015, 02:25:44 PM »
First it looked simple, but now i was fighting to get it perfect.
Problem was that on the first Ctrl-change and switching from "Meter-mode" to Volume, the Volume-value jumped to the last meter-value (which is understandable from the logic).
So i tried to send current volume before switching to Volume-mode.
But i could not get it to work reliable, sometimes i had these value-jumps (but not always).
Now i have changed to "catch" value, this seems 100% reliable, but now i´m unsure if the logic is optimal.
Should´nt this work without using "catch"?
Attached is a simplified example with 1 Control (the real one has some more states/modes).

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1701
Re: Timeout States?
« Reply #4 on: June 08, 2015, 09:45:25 PM »
I have used your preset example with my Novation, and I have seen all your problems and much more. I have modified the preset so it somehow works for me. But I had already a feeling that something it terribly wrong with my plug-in... till I have opened Automap window. I do not know what logic Novation developers have tried to mimic. They display received value, but sometimes they use it and sometimes ignore it.

It can be that in BCR firmware there is something similar. So, please switch to the endless mode to avoid all that troubles.
« Last Edit: June 08, 2015, 09:47:41 PM by azslow3 »

Offline MarKo

  • Power user
  • Full Member
  • *
  • Posts: 249
Re: Timeout States?
« Reply #5 on: June 09, 2015, 12:05:54 AM »
It can be that in BCR firmware there is something similar. So, please switch to the endless mode to avoid all that troubles.

this seems a very good advice!
But now i have to define these modes for 8x4=32 encoders with ~10 settings and values for each  :o
And no makro-mode or the like >:(

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1701
Re: Timeout States?
« Reply #6 on: June 09, 2015, 01:13:22 AM »
But think about benefits... Simpler configuration, configurable "resolution" (there is more then 2 possible values for it), no dependency on what BCR "think" was the last value.

Offline MarKo

  • Power user
  • Full Member
  • *
  • Posts: 249
Re: Timeout States?
« Reply #7 on: June 10, 2015, 07:22:54 PM »
But think about benefits... Simpler configuration, configurable "resolution" (there is more then 2 possible values for it), no dependency on what BCR "think" was the last value.

The benefits are now obvious - if only i had known that from the beginning!
But reprogramming the BCR was not so terrible as i thought, in BC-manager i found a table where you can change settings for all controls in one go.