Conditional, PREV, meaning

Can somebody translate this from coder speak to musician speak:

“PREV: note plays if last condition was valid (project level).”


If You assign MATH = PREV to a note it looks to the most former note that was assigned a MATH condition. If this note was played it will played either. Example: three drum notes …
Note X was assigned MATH = 1:2, → X will be triggered every second loop.
Note O was assigned no MATH, → O will be triggered every loop.
Note Y was assigned MATH = PREV, → Y will be triggered every loop X will be triggered, in this case every second loop.

1 Like

BTW speaking of MATH = PREV and drums:
In my opinion it’s a bit strange that PREV at first depends on the previous vertical note. E.g.
KICK ------O----Z----O----
Imagine that note Z is assigned to MATH = 1:3, note X and note Y as above.

In this case I expected note Y to follow note X and to be triggered every second loop.
But Y will follow Z (every third loop). :upside_down_face:

Because the order goes:

Therefore note 8 looks at note 7 first. If 7 is not assigned to MATH, note 8 looks at note 6 and only then at note 5.

And that even for drum notes! :grimacing:

Sorry Squarp, but I’m thinking about a new feature request, … AGAIN! . :nerd_face: :sweat_smile: :sweat_smile: :sweat_smile:

The HAPAX manual says:
The condition PREV is based on a project level.

if I am not wrong PREV is based on a pattern level.

anyone find a cool way to use PREV? seems kinda obtuse to me, but i’d love to hear about PREV tricks

For example, you can build a chain of random events. So the note first in the chain has a 33% probability, the next three are set to “prev” and follow the first note. Can be nice for little melody variations or drum fills. And then use /prev at the same time to mute whatever’s playing in that space normally if they clash. If each note had a 33% prob setting you couldn’t guarantee them to play at the same time, with prev you can.


The most interesting connection is: PREV or even better /PREV respects CHANCE!
Typical use case e.g. an open Hihat with a chance of 30% - 70% shortly followed by a closed Hihat with MATH = /PRE(V).
So any time the open Hihat isn’t triggered the closed Hihat will.

1 Like

This is very confusing to me. There are two instances where the manual (pdf) explains probability and I’m not sure which is relevant in which case. I certainly couldn’t find a project-wide application in a short test.

From another short test it seems the last note placed in any vertical position in a drum pattern is the note that takes precedence of any other in the same column as far as the “prev” state is concerned. This would certainly make the behaviour of the prev function hard to predict in a busy pattern.

Yes, I was actually thinking of doing this. But in this case, it might be screwed up if there happened to be a note with MATH on some other track at the same time. That is, IF it is true that it is based on project level. I hope Waldmeister is right about it actually being on track level.

The parameter probability (or in HAPAX slang: CHANCE) occurs at several references.
Pdf page 39 describes the value CHANCE wich is (, beside yTIME, ROLL and MATH,) a value directly connected to notes (“step” page, left display). → influence on MATH = PREV.

The other references (p 87 ff) occur as values of EFFECTS (“Chance” and " Randomizer"), not assigned to specific notes. → no influence on MATH = PREV.

I’m not sure what kind of “last” do You mean? Time or order?
The chronological order, which I have already described, seems to apply to the first and also subsequent notes with MATH = PREV.

In a busy pattern probably in any case! :sweat_smile:

Yup, Squarp has confirmed that the manual is wrong on that. Will be fixed.