Thin out pattern data

Started by Harbinger, March 03, 2011, 19:52:07

Previous topic - Next topic

Harbinger

Digging up from the graveyard to remind users of recent advances....

This feature is available for the most part. Having just discovered this, i figure i can't be the only one who never knew.
You can thin (strip) data from events if for example you want to increase the velocity of notes without increasing the channel volume, or using the volume column for other note FX. Follow this example:
Let's say you have a series of notes in a channel, like this:

C-5 01  .. ...
... ..  .. ...
... ..  .. ...
D-5 01  .. ...
... ..  .. ...
... ..  .. ...
C-5 01  .. ...


and what you want to do is increase the note volume (velocity) over a span, but you want to only pass vxx commands where there are notes, so that you can use the non-note rows for passing pan commands in the Note FX (third) column.
In order to do this, first set the volume command in the first row of the target area to v00 and the volume command of the last NOTE to v64 (or whatever volume you want the notes to increase to). Then use the interpolate function to smoothly increase the volume, so you end up with this:

C-5 01 v00 ...
... .. v10 ...
... .. v21 ...
D-5 01 v32 ...
... .. v42 ...
... .. v53 ...
C-5 01 v64 ...


Now, open the Find & Replace dialog and set the "Note" checkbox in the Find tab, and make sure you've chosen the ellipsis ("no note") in its popup menu. Then set the "Volume Effect" checkbox and choose "v: Set Volume" from its combobox. Be sure and set the correct search range at the bottom of the tab.
Then go to the Replace tab, make sure the "Replace By" and "Volume Effect" boxes are checked, but the "Note" box is not. Click on OK and this will strip the volume effect column of all volume commands except those that are called by notes, so that you finally get this:

C-5 01 v00 ...
... ..  .. ...
... ..  .. ...
D-5 01 v32 ...
... ..  .. ...
... ..  .. ...
C-5 01 v64 ...


With this ability to search "note = no note", this is half the Strip Data function requested. As a suggestion, the devs can include a "previous value" entry in the search combo boxes, so that the function will check fields that have the same value as the previous event that contains data in that field. This is the other half of the Strip Data function, which eliminates an effect command if the value has already been set. For example, thinning data from

C-5 01 v32 ...
... .. v32 ...
... .. v31 ...
... .. v31 ...
... .. v30 ...
... .. v24 ...
... .. v24 ...

would become

C-5 01 v32 ...
... ..  .. ...
... .. v31 ...
... ..  .. ...
... .. v30 ...
... .. v24 ...
... ..  .. ...


I'll enter a formal request in the Issue Tracker....