Ignore marked rows (pattern independent)


(Garf) #1

Let’s imagine you have two of the same patterns playing but don’t want the last notes in a track to play, it could be a drum fill or a build-in, then you simply “paint over” (like the select function) to ignore these rows of the track without having to make a new pattern to make these changes, so it should be independent on pattern and therefore leave other instances of the pattern untouched.


(stoiximan) #2

+1 for that function


(Raul (ulneiz)) #3

Instead, you can use parameter L00 to mute the track on the desired line (or the entire pattern) and resume the volume with ~LFF. Provided they are 2 different patterns with the same data.

You can also use the ZBxx parameter to jump to the next pattern directly.

Do neither of these two cases serve you?


(Garf) #4

But the whole point is it’s the same pattern you just mark some rows in a track that should be ignored, other instances of the same pattern stays untouched. I’m not sure how well I explain this lol…

It virtually happens in every tune that I need to create a duplicate pattern just to delete a few lines at the end of a track.


(Raul (ulneiz)) #5

Maybe you want to say that you select some note columns and other columns of notes do not. That is what I have deduced. It is not like this? In the pattern editor you have clues, and in them there are columns of notes (vertical) and lines (horizontal). I understand that you want to select an area, but not affect any value (note / effect / amount).

With the parameters it is simple to “cancel” consecutive whole lines, but not to dissect between columns of notes. For example, you want to select only from the column 3 to 7, and that it does not affect ranges 1-2 and 8-12. That is something more specific still.

I doubt that such a feature is implemented in Renoise. It would imply having 2 types of selection with the mouse. That is, two different layers, add another different color, another option to deselect several areas…

The normal thing in this case is that if you have 2 duplicate patterns, if there are notes that you do not want to sound, delete them… If those notes are at the end of the pattern, you can reduce the number of lines of the pattern and you will not lose the notes. But this affects the whole pattern.

If you do not want to enter parameters in your track because you want it clean, you can wrap it within a group and put the parameters within the group.

I do not know if there is any specific parameter to cancel a specific note column (change its status from ON to OFF). I do not think so. Does anyone know any form?


(Garf) #6

Oh that’s a lot of complicated stuff hehe… thinking about it, It’s already possible to alias a track to make unique automation so I suppose the groundwork is there, simply put I just would like to mark rows in a track to be ignored, so if I have the same pattern playing multiple times in succession then in one of them I just mark a few rows to ignore only in that instance of the pattern :face_with_raised_eyebrow:


(ffx) #7

I am here to spoil the party: Why not get rid of repeatable pattern and vertical aliases completely? Can someone explain to me why an alias or a repeated pattern has an advantage over a copied pattern?


(Garf) #8

The whole point is that many tracks stays more or less the same throughout the song so you would want to only make a change once instead of going through a large number of tracks.


(ffx) #9

But then you could use a phrase, couldn’t you? Isn’t it like a midi clip? Just edit the phrase. No hassle with looking for track aliases (very rough resolution).


(Garf) #10

Phrases won’t solve what I propose, you’ll still need to duplicate a pattern and mess with different phrases as far as I see it.

Let me try explain once again.

Imagine a song consisting of only one pattern repeating over and over.
You mute/unmute tracks throughout the song to create the song structure.
But suddenly you want the last part of a track not to play (be ignored), then you use a tool similar to how making a selection of notes work, what you select will stay until you click an X to un-ignore it. (this should be pattern independent so what you mark won’t be ignored in the other instances)


(joule) #11

Is it possible to do something on the group level in terms of muting? If it’s possible to note-mute the group on a specific range of lines, the patterntrack aliases will still be retained - while giving different outputs. Not sure… but if so, it’s just a case of making an interface for this kind of “line muting”.

It’s quite a cool idea for a tool. Having a full representation of the song in a window, where you are able to view and “paint” a very specific pattern effect. Could be a deadly weapon, if laid out intelligently :slight_smile: “Pattern effect roll”


(Raul (ulneiz)) #12

You can use the Lxx parameter for the pre-volume (00 to FF, L00 = -INF db, LC0 = 0.000 db), applied in any effect column, within a track or within a group. This can be used to silence a specific range of lines (for all columns of notes) within a track or within a group with son tracks. The problem is if there is a desire to silence a specific range of note columns, and other note columns that keep sounding.

I would like to know if there is any way to automate the OFF/ON of the note columns.


(Raul (ulneiz)) #13

I have never liked repeating patterns (use the same pattern index). I always prefer to copy the patterns (if this is the case) and then modify them (I do not usually repeat a pattern, that everything is the same). So I keep the same order in the sequence indices equal to the indices of the patterns.


(Raul (ulneiz)) #14

I use a table with this items:

  --sample
  "A: Set arpeggio, x/y = first/second note offset in semitones.",
  "U: Slide pitch up by xx 1/16ths of a semitone.",
  "D: Slide pitch down by xx 1/16ths of a semitone.",
  "G: Glide towards given note by xx 1/16ths of a semitone.",
  "V: Set vibrato (regular pitch variation), x = speed, y = depth.",
  "I: Fade volume in by xx volume units.",
  "O: Fade volume out by xx volume units.",
  "T: Set tremolo (regular volume variation), x = speed, y = depth.",
  "C: Cut volume to x after y ticks (x = volume factor: 0=0%, F=100%).",
  "S: Trigger sample slice number xx or offset xx.",
  "B: Play sample backwards (xx = 00) or forwards (xx = 01).",
  "E: Set the position of all active Envelope, AHDSR & Fader Modulation devices...",
  "N: Set auto pan (regular pan variation), x = speed, y = depth.",

  --instrument
  "M: Set channel volume level, 00 = -60dB, FF = +3dB.",
  "Z: Trigger phrase number xx (01 - 7E, 00 = no phrase, 7F = keymap mode).",
  "Q: Delay playback of the line by xx ticks (00 - TPL).",
  "Y: MaYbe trigger the line with probability xx. 00 = mutually exclusive mode...",
  "R: Retrigger instruments that are currently playing.",

  --device
  "L: Set track pre-mixer's volume level, 00 = -INF, C0 = 0dB, FF = +3dB.",
  "P: Set track pre-mixer's panning, 00 = left, 80 = center, FF = right.",
  "W: Set track pre-mixer's surround width, 00 = off, FF = max.",
  "X: Stop all notes & FX (-X00), or a specific effect (-Xxx, where xx > 00).",
  "J: Set track's output routing to channel xx.",

  --global
  "ZT: Set tempo (BPM) (20 - FF, 00 = stop song).",
  "ZL: Set Lines Per Beat (LPB) (01 - FF, 00 = stop song).",
  "ZK: Set Ticks Per Line (TPL) (01 - 10).",
  "ZG: Toggle song Groove on/off (00 = turn off, 01 or higher = turn on).",
  "ZB: Break pattern. The pattern finishes & jumps to next pattern at line xx (hex).",
  "ZD: Delay (pause) pattern playback by xx lines.",
  "Empty."

Look at the parameters in “device”.


(Garf) #15

I do use L command too already but it doesn’t solve it.

I repeat patterns all the time and a lot, we work differently, I fiddle with everything even at late stages of a song, so if I have to go around change everything everywhere I’d probably stop composing, that’s why I suggest this feature.

You mention automation “I would like to know if there is any way to automate the OFF/ON of the note columns.” yeah that could be another way of implementing this functionality, to automate an IGNORE ROW OFF/ON or maybe insert an effect number, H for HIDE… the crux is just that it must be pattern independent :smiley:


(joule) #16
  1. Put the track in a group
  2. Use the pattern effect M00 in the group for whatever lines you want muted.

Pattern aliases and ‘muting definition’ will then be separated. That’s not it? Pretty sure this was about lines rather than note columns, right?


(Garf) #17

Oh that’s very interesting, that would work!

I still wish for something where you don’t have to use aliases, I think they are finicky, when I use aliases I use your awesome Alias Identical tracks tool, cool work! :slight_smile:

edit: I’ll definitely start trying to use Aliases more, thanks Joule!


(Raul (ulneiz)) #18

Just an interesting note:

If at the end it is necessary to use a tool, I believe that it is also possible to control the ON/OFF of the note columns, within a group or track. It would be possible to use the normal selection of the area in the pattern editor to establish the columns of notes and to establish the range of lines (for a possible tool).

-- Uses default mute state from the prefs. Not for the master track.
renoise.song().tracks[]:mute()
renoise.song().tracks[]:unmute()
renoise.song().tracks[]:solo()

-- Note column mutes. Only valid within (1-track.max_note_columns)
renoise.song().tracks[]:column_is_muted(column)
  -> [boolean]
renoise.song().tracks[]:column_is_muted_observable(column)
  -> [Observable object]
renoise.song().tracks[]:set_column_is_muted(column, muted)

-- Note column names. Only valid within (1-track.max_note_columns)
renoise.song().tracks[]:column_name(column)
  -> [string]
renoise.song().tracks[]:column_name_observable(column)
  -> [Observable object]
renoise.song().tracks[]:set_column_name(column, name)

To silence the lines, you can use Lxx (premixer volume) or Mxx (channel instrument volume) and for the columns it should be through the tool with some notifier or timer. It could be an interesting tool.

This would only be useful if you intend to use the same pattern many times, because you have the idea of modifying its values several times. Otherwise, the simplest is to copy the pattern and paste it into the desired sequence of the song and there make the appropriate modifications.

https://tutorials.renoise.com/wiki/Pattern_Matrix (Overview)

If you only want to control the lines, pay attention to the manual, that is, listen to @joule.


(joule) #19

I’m not sure what you’re getting at… but…

Using a tool to mute something via an observable during playback is probably not advisable. Although I was surprised at how well the “automate loop points” worked, it is not sample perfect. Sure, changing a column mute state via a selected_sequence_index_observable might be close to perfect, but I don’t see how that is relevant to the topic anyway.


(Raul (ulneiz)) #20

I am aware that the idea in this thread is only to deal with the lines, ignoring the note columns…

Yes, surely there would be problems in the first line of the pattern (or first lines if the reproduction is very fast), which would be reproduced before silencing some note column (using that observable of 10ms). This may only be useful if you are continuously testing a pattern, activating/deactivating a specific area (lines and note columns).

Although it is not very relevant here, I find it interesting to be able to select a specific area and “cancel” a range of lines along with a range of note columns at a specific time.