All-purpose Integer Counter module for Grid

Integer Counter module would be a counter that outputs integer numbers (or any numbers really) with adjustable limit up to infinite counting.

mockup
mockup

inlets, trig type:

  • ‘↑’ reset : resets counter immediately
  • ‘+’ : adds increment to current count
  • ‘-’ : subtracts increment to current count

inlets, for numbers (untyped):

  • ‘x’ increment : how much added or subtracted with each +/- trig
  • ‘↺’ reset value: where counting starts, could be any number
  • ‘lim’ count limit: if 0, then can count to infinity, if anything else, then counting wraps to set boundaries

outlets:

  • output number/value
    • parallel Normalized and Phase outlets, active when limit is not 0

Inspector panel options:

  • Bipolar mode: allows counting in negative range as well, which will also wrap max positive number to max negative.
  • Counting modes: loop, wrap, bounce, ceiling (stops decreasing or increasing at min/max values)

What problem(s) would this feature resolve?

Even though there’s Phase Counter module in Grid, as name implies it’s designed around Phase signal output. It’s a good enough match for directly using it as input for modules like Gates or Steps that share limitations on number of steps and such, but for any other counting uses it’s not good at all.

It’s not obvious how to use it in Normalized range or count integers, it cannot count down as well as up and reset behavior is pretty frustrating at times too, as it only updates the output with next count trigger (so you have to trigger both reset and count at the same time in most cases, requiring some additional logic modules to do this for you). Phase Counter itself might be fine as is, because for anything extra it will make sense to use this more advanced module. Like how little Triggers module exists beside Gates, even though both can be configured to do the same thing.

How does this feature fit in Bitwig as a product?

It should simplify math and sequencing operations in Grid without the cost of making other things complex. Which seems inline with Grid’s design goals.

Is there already an alternative way to achieve this on Bitwig?

With lots and lots of unnecessary complicated patching. Purpose of module would be for the sake of much better efficiency for certain patch types.

Could it be implemented using Bitwig components or APIs, without Bitwig team’s support?

In Grid it’s possible to build logic for such counter, but as stated above - not efficient.

Could it be provided by a VST or something else reasonably integrated with Bitwig?

Some of the features of such counter could be used from Note counter modulator, which also requires some workaround patching, so not elegant or efficient way of doing it.

Are there other products that offer this feature?

In other modular environments, yes, there are counters with lots of options.
Some features like counting modes could also be added via inspector panel, but can be implemented with few additional modules in Grid
Example of Counter module in Usine HH5 and what you can do with it

Relevant links (optional)

1 Like

3 posts were split to a new topic: [Draft discussion] All-purpose Integer Counter module for Grid