Extend Pattern Effect To Xxxxyyyy

Kameleontti started another thread consisting of his scripting ideas for pattern effects. This one is simply to discuss the probability of doubling the number of hex characters in a single pattern effect.

Currently, pattern effects are limited to 16 possible sample effects, and when automating DSPs with pattern effects, we’re limited to manipulating up to the 16th effect on the 14th DSP in the chain as 0xyy and fxyy are reserved… This is downright silly, considering the capabilities of Renoise.

We desperateley need more resolution.

Instead of the oldschool xxyy pattern effect scheme, I propose the following:

00xxyyyy - non-dsp effects (Fxyy can be in here)
xx[01-FF]yyzzzz - dsp effects

This way, effect values will have 16bits of resolution instead of 8, bringing the total range of possible values up to 65536 … and the number of possible internal effect parameters will increase to 256. I was about to suggest that we use 6 hex characters instead of 8 until I realized that we would either have to sacrifice the number of controllable DSPs in a chain, the number of controllable parameters in the DSP, or the number of possible values for a given parameter. With this system however, you’d be able to control up to 256 dsps per track, with up to 256 parameters on each dsp, with a range of 65536 possible values per parameter.

I also propose that any limits on the number of note columns and effect columns be lifted. I never understood why they were there in the first place.

I’m sure taktik will scream at this thread… but I welcome it. I’d like to know why these features have yet to be implemented ;)


If you agree we need more pattern effect resolution, please copy and paste the following into your signature:

[url=https://forum.renoise.com/t/extend-pattern-effect-to-xxxxyyyy/25127]MORE PATTERN EFFECT RESOLUTION NOW![/url]  

Yes, but only because I’m still waiting for the 6 example songs that use the pattern break offset feature ;)

You’ve got someone else in mind methinks… I was a participant in that thread, however, I’ve never used that feature myself :P … I would however, as I stated in that tread, love to have a looping feature like IT2 had. Kaneel showed me one of his demo songs that used it, and I was blown away ;)

Sounds quite a good idea, but do you really think that extra resolution will be needed for all the other effects too?

Okay, so I suppose smoother volume fading can be achieved with better resolution.

I worry about the extra screen space and effect chars to wade through though. Yes one could make it optional for each track/song I guess.

Optionality would be great. In regards to collapsable effect columns, screen realestate is cheap anyway ;)

But yes, this indeed scares me, and I hope I’m not the only one. It might be possible to automate everything you throw into Renoise this way, but only with a handbook next to your keyboard that reminds you on how to enter what where in the pattern editor. Thats a bit like: “Its already complicated now, lets make it even more complicated!”

I think the better approach is to:

  • use a A-Z range for the sampler FX to get more internal sampler commands added
  • add dedicated columns for specific parameters of a FX, which can then also be either shown as automation or be edited in a numerical way

Something like:

Notes FX | Cutoff | Delay | ...  
C-4 01 .. .. 0f73 | FFFF | A000 | ...  
--- .. .. .. 0f73 | D000 | B000 | ...  
0f73 is the oldshool sampler FX command -> Vibrato  
FFFF is mapped to a FX in the chain, lets say Cutoff of a filter  
A000 is mapped to another FX parameter in the chain, lets say Delay Amount of a Delay FX  
Columns like Cutoff | Delay can be freely added/removed to a track as soon as you need them.  
Columns like Cutoff | Delay can be either shown numerically or as envelopes  
Columns like Cutoff | Delay have a range of XXXX instead of XX now  

Oh yes! :w00t:
One note though, which also applies to the current volume/panning/delay columns: it would be very cool if there was a graphical hint to show that a column is used, but hidden… and a toggle to automatically collapse all columns/ expand the used ones. The point is, this way you can work heavily on some tracks/fx but then hide the mess away again, without completely forgetting about it.

Those concerned about “screen real estate” and readability may scream at this idea… it seems to me that this would get pretty messy pretty fast. However, it could have the added benefit of freeing up the 1xyy to Exyy range of effects for internal use… in which case you wouldn’t need the entire alphabet ;)

Your proposed idea still doesn’t fix resolution problems with many of the pattern effects though… such as sample offset, or track speed. I insist that we need more than 2 digits for the effect value.

We don’t really need 4x4 (xxxxyyyy), but 3x3 would be more than sufficient.

I don’t think it’d be that much more complicated. When I first started using renoise, yes, I had to go back to the command list often cause I kept forgetting what each command was. But now, I remember most (if not all) of them. I think the same would happen with having more spaces for characters. People might be thrown off for a little bit, but they’ll adapt.

Otherwise, using the alphabet only expands your possible command list by an extra 20 (since a-f is already used). In two or three years, we’ll stumble on this problem again when we run out of the alphabet. But by adding another space it’ll expand the command list by another 250. If we’re talking about the longest path, this is the way to go.

As for converting old (single character) commands to the new ones, just have the letter farthest to the right (except for dsp commands). Ex:

00B000, 00B001 (rev/for)
00E004, 00E052 (retrig)
0090D6, 0094E2 (higher resolution offset)
1F0000, 1F0001 (dsp on/off)

As the new effects are added, you just fill in the blanks.

We could add all (or just some?) fx commands to the dedicated columns as well?
So if you want to use a lot of hi res offset you could just add a offset column.


I agree, I think it would get really messy. Each track having just one note col, vol col, fx col, and dedicated cols sounds tiring to me. I haven’t even mentioned the pan col, delay col, and having more than one fx or note col opened up.

So you would rather instead of columns have a weird mixture of automation and track fx - just as complicated, just as many data points, just spread all over the place?

Also, having a column for each fx does not mean you have to have them all visible all the time! quote myself:

The fx columns IS a mess already, anyway. I mean, if you at one point in the song need 4 commands (like resetting 4 LFO’s), you need to have 4 fx columns throughout the whole song! If you need more than four - BAD LUCK. Are you saying that this is somehow “clean”, and having dedicated columns would be messy? Or those special codes for the pan and vol column… nah, not messy at all…

And you wouldn’t have to use those columns (pysj said “add columns for them”, not “replace the track fx by dedicated columns” - just another way to access them). Just don’t activate them, keep using the fx columns, keep using those special codes. How could that possible be tiring?? You wouldn’t even notice.

I like this very much. Is there any way that we could integrate relative control into these sorts of parameters? (Similar to the 06xx and 07xx functionality)

I should make myself clear here… I’m all for taktik’s idea presuming he makes use of the newly freed pattern effect slots… but I’d also like to see increased resolution for effect values. 6 characters would be fine in that scenario instead of 8 :P

Just have it foldable like Johann said…like a column of respective icons to the right in the track… it might be hard to do these icons and read them, but it would actually unclutter the pattern editor a lot if everything was moved into this.

Hey wait… did bantai and taktik just hijack my thread? :o

This would be nice too… :D

When the commands are stripped off and separated in a combobox (or something like that) on top of the column, you can use that space for bigger values (== higher resolutionz).

That works for non sampler-specific commands. From how Taktik explained it earlier, it seems like the idea was to expand the commands concerning the internal sampler using more alphanumeric characters and then control other parameters with the separated commands.

Unless the idea is to quit controlling parameters using normal effect commands entirely. Then the sampler command resolution could be increased to three digits. (i.e. 0Axx would become Axxx, since with the new system, there would be no point in automating parameters with the YYXX commands)

That would be awesome. In fact, I think it would probably make parameter automation via effect commands easier.