Position device

I propose the following:

The current BPM parameter could be replaced by an LFO controlled system put in the master channel. This system, by default, would contain three devices:

Line LFO: This is the LFO controlling line position. It is routed to the line parameter in the “position device”. The speed of this LFO is set in BPM.
Pattern LFO: This is the LFO controlling the pattern position. Not quite sure yet how this is triggering for optimal control.

By this you would, for example, be able to:

  • Make any kind of custom grooves, controlled by an envelope. (replace the standard ‘line LFO’ with your own enveloped one, or the LFO controlled by an LFO)
  • Make all sorts of fun stuff, like randomly changing line every 8 rows until all lines in a pattern have been played
  • Play patterns backward or however.
  • Or make a tool that will obfuscate your song :) Everything is automatable.

I favor this if it grants the ability to make stuff like this:

O_O < Wooot!? )

Can’t you already script similar behavior? I have a script installed which lets me scroll through the lines in a pattern using a midi-controller. If the lines can be accessed through lua, surely jumping around can also be simulated?

For example this tool plays the patterns backwards (rendering selection to sample still works!):

Scripting has two disadvantages in this case:

  1. Hackfest
  2. Non-realtime and won’t render

Hackfest is a non-argument. Scripting does have a purpose in many occasions without the script being a complicated workaround.
However striking that down, you still have 2 disadvantages left… ;)

  1. Non-realtime
  2. won’t render

Anything that has to do with changing a variable via an observed parameter (on an arbitrary device) is to be considered a hackfest.

Anyway. I know that my concept sounds complicated at first. But I think it is quite logical and it would bring maximum flexibility and be consistent with how things work today.

In case of non-realtime, have you seen the real-time backwards pattern scrolling caused by the script I linked above?

  • using that script and making a selection in the pattern editor - render to sample, It does render the notes to sample backwards!

Though I get the OP’s request, +1 for more native flexibility, but maybe this isn’t investigated enough through scripting, hackfest or not?

  • Create a song position LFO that causes pattern 1 to swing back and forth forever, without ever reaching pattern 2.
  • Infinite song duration.
  • Render to disk.
  • Fill entire hard drive with infinite song.
  • YOLO.

Whoaaaahhhhh :smashed:/>

Good point :)

for those who are wondering how this is possible: some old trackers have a command to break pattern playing on a line and go to the next pattern starting from a specific line (ex: 0B21 will stop playing current pattern and start playing next pattern from line 21).

with some copy&paste of entire patterns + silent note additions, and of course lot of creativity like in this case, lots of fun is possible

Frankly that would be toy stuff nowadays.
Back then these functions were a necessary evil to save memory.