Replaces only a macro's authored position under an exact value gate. More...
#include <command.hpp>
Public Attributes | |
| ItemId | sequence_id |
| Sequence owning the track. | |
| ItemId | track_id |
| Track owning the macro. | |
| ItemId | macro_id |
| Identity of the macro whose position changes. | |
| float | expected = 0.0f |
| Required current normalized position, compared exactly. | |
| float | replacement = 0.0f |
| Normalized position written when the gate matches. | |
Replaces only a macro's authored position under an exact value gate.
A whole-value gate would make a performer moving a macro also supply its current name, so a concurrent rename would abort an edit that did not conflict with it — the gate manufacturing a conflict out of two disjoint edits. This is the narrow command beside the broad one, the same shape SetNoteVelocity has beside SetNoteEvents. The overlap is deliberate: SetMacro may also change the value, and an edit that rewrites the whole macro should gate on the whole macro.
The float compares exactly rather than within a tolerance, and that is safe rather than fragile: the persisted spelling is the IEEE-754 bit pattern, so a value that round-trips through the wire compares equal to itself.
| float pulp::timeline::SetMacroValue::expected = 0.0f |
Required current normalized position, compared exactly.
| ItemId pulp::timeline::SetMacroValue::macro_id |
Identity of the macro whose position changes.
| float pulp::timeline::SetMacroValue::replacement = 0.0f |
Normalized position written when the gate matches.