Concept: Zoomable Pattern Editor

More feedback and discussion of the concept is located in this thread


Zoomable pattern editor

This topic will deal with the idea of having a zoomable pattern editor, a concept first conceived by Antic in the (very long) Arranger thread. It will complement the idea of having an arranger, or possibly replace the need for one. BTW: Don’t expect to see any or all of the features turn up in the next version, this document is only meant to support and inspire development and the discussion thereof.

Why zoomable?

  • There is currently no visual representation of the song flow
  • Renoise provides only a few tools for working on song-wide scope (Advanced Edit)
  • Lack of reusable content (clips), a standard feature in most sequencers

Now, it wouldn’t make much sense to have the ability to zoom out, if all we could see was a bunch of individual notes crammed into a small space, or reduced to pixels. So I’d like to think that zooming is closely related to the concept of clips - with clips acting as a kind of building blocks, easily identified by their colour and name.

Here’s what could be done:

  • Expand the existing “continuous” mode to become a song-wide editing mode
  • Introduce re-usable content (clips), complete with (some kind of) editor
  • Make the pattern editor zoomable, providing visual overview and functional structure

And here’s what it could look like
In this example, we switch between the available zoom levels repeatedly (I’ve added the animated transition to clarify)

  • Zooming is supposed to be centered on the cursor, making it very easy to navigate to a particular region of the song
  • Zooming could be done using mouse (CTRL+mousewheel) or keyboard
  • The zoom factors in the example are based on 1/4 intervals. But other musical intervals could also be useful, such as 1/3 and 1/12.

Improved “continuous” mode

It’s a fact that tracker-style software, Renoise included, can be pretty hard to learn. The concept of patterns & pattern instances is a fundamental part of Renoise, but also one that can cause a lot of confusion. Here is a couple of examples of what might be considered counter-intuitive:
Edit: sorry, parts of the flash movie are missing, files are referencing my old web site which is now gone

I think the solution to all of these problems could be to introduce a special, song-wide editing mode. Renoise already feature something called the “continuous mode”, which allows scrolling continuously through the song, without wrapping at pattern boundaries. I suggest that this mode is expanded to allow editing options as well:

  • While in continuous mode, the vertical scroll-bar adjust to full extent of the song instead of a single pattern
  • While editing patterns in continuous mode, identical patterns are automatically made unique (auto-clone)
  • The insert/delete row commands work on a song-wide basis
  • Discuss: will continuous mode affect other keyboard shortcuts? Does CTRL+A (widely adopted and understood as “select all”) apply to the entire song while in continuous mode? Should specific commands like “transpose column” become song-wide while in continuous mode?

Reusable content: clips

  • Clips are reusable elements, with each clip being an instance of a master clip.
  • Clips are easily identified by their name and colour
  • Clips are stored in the expanded instrument table (the song resources panel)
  • Clips can be looped or one-shot (which is simply when the loop is turned off)
  • Clips can play normally, or sync to the song position in a strict or driven fashion *
  • To add a note clip, drag it from the instrument table into the pattern editor, or create it on the spot (example)
  • The ‘catch nearest instrument’ should support note-clips as well as instruments
  • Advanced edit should be able to work on a clip-scope, in addition to the existing scopes: song/pattern/track/etc.
  • Clip length can be set using the clip-editor (just like setting the pattern length).
  • In additional to volume/panning, you can use standard pattern commands on clips: Offset/Backwards/etc.
  • Automation data defined inside a clip are dynamically linked to DSP parameters, with normal automation overriding clip automation **
  • The secondary editor is a simplified version of the pattern editor, with a switch for piano-roll style editing!
  • Sync options: here is an interactive example of the various sync modes

Edit: sorry, parts of the flash movie are missing, files are referencing my old web site which is now gone

** Dynamically linked automation: Any number of automation curves can be defined for a clip, controlling multiple DSP parameters. But since each track may have different a different DSP-chain configuration, we need to define where each parameter goes, if we ever wanted to use the clip in another track. This could be achieved by having a “clip parameters” category in the automation window, where all un-assigned parameters are grouped. Using a drop-down box, each curve can then be assigned to a particular parameter. When inserting the clip into another track, this process can be repeated (future clips inserted into the same track will re-use those parameters links that we just established). The title of each of the clip’s automation-curves are automatically assigned, depending on the parameter which was originally being edited (since it’s most likely a relevant name, such as “cutoff”)

Here’s a screenshot with all the features in one place (warning: piano-roll ahead!!!):

  • The pattern editor in continuous mode (multiple patterns visible at 25% zoom level)
  • Clips are stored in the expanded instrument table
  • The pattern arranger can be navigated freely. The small arrow serves to indicate the current playback position, clicking on any other arrow-slot will cause playback position to change, once the current pattern reach it’s end (like triggering clips in Ableton Live)
  • The secondary editor is needed for editing noteclips, but will also be able to display tracks. Has optional pianoroll editing mode :slight_smile:
  • This is where the clip automation curves are grouped
  • Use the clip automation link controls to decide which parameters are controlled by the clip
1 Like

Too complicated for me… I like the pianoroll, but the clips and zooming don’t make the tracker easier to handle. Don’t make it too complicated guys…

A major +1, but only if all the different windows are rearrangeable (or better yet, floating). I really do like the idea of pressing ctrl + mousewheel to zoom. And the piano roll, well… guess I’d have to try this one myself before judging.

Awesome illustrations btw!


…apparently I need new goggles.

The clip part indeed seems quite intensive geek-material. Nevertheless, as an optional feature (not default) it would make many happy and beginners will turn into advanced users eventually…

+100000000000000000000000000 for clips.
+1000000000000000000000000000000000000000000000000000000 for pattern instruments containing their own DSP chains

Doesn’t look like renoise ;)

Nice though.

this has completely bamboozled me… is there like “Idiot’s guide to danoise’s brain wave”?

What would happen to the pattern matrix i’m loving dearly at the moment?

why not build it all the zoom-able stuff into the pattern matrix?
isn’t the matrix intended as a a way to have song wide overview?

i envision a scenario where the Pattern matrix can float on its own.
zooming in or out acts as described in excellent example by danoise

double clicking on a pattern matrix slot “loads” that slot in the pattern editor,
ready for note editing

incredible illustrations.didnt entirely understand the clips ting…but the zoom feature is defnitely neeeded…something that would allow you get into the song at a cellular level dawg! then zoom out again…bangtidy

Last & Least: You’ll notice that Danoise’s post was made in 2008… this design obviously doesn’t entirely mesh with the current state of Renoise. That doesn’t mean, however, that we can’t still implement clips and zooming with the current paradigm.

Hmm interestig read… definitly something to cosider. As im still a n00b myself i’d have to have this dumbed down a bit but i think i grasp the idea… It’s kinda like a mesh of FL and Renoise…

niNja pWn3d

that zooming thing was awesome

Hey, let’s revisit the reasons for coming up with the concept in the first place:

  • There is currently no visual representation of the song flow
    Now, that certainly ain’t true with the upcoming 2.5. The matrix serves just this purpose!
  • Renoise provides only a few tools for working on song-wide scope (Advanced Edit)
    Again, the matrix is a great supplement to the workflow. Looking a bit further into the horizon, 2.6 with native scripting promises that many crazy ideas can be realized (and shared amongst us). So everything is good and fine!
  • Lack of reusable content (clips), a standard feature in most sequencers
    In the zoomable concept, I really-really wanted to demonstrate just how powerful clips could become (they didn’t even have to be part of the concept). But how clips will be implemented in Renoise is pretty much still an open discussion

So, if leave the clips discussion alone and focus on the zoomable aspect, IMHO the most useful thing about it is the ability to zoom in. Zooming out is fine too, but we already got a pretty good visualization going with the matrix.

In the meantime, we’ve gotten much more precise timing (the delay column), another reason that zoomed-in editing is making a lot of sense. I would like a more detailed look at close-up and intermediate zoom levels!

the zoom concept is awesome. haven’t seen this topic before. :>

A tracker named ReVisit has pattern zooming?!

Can someone post a screenshot/video of this thing? I run OSX, but this runs on Windows.

Sure thing:

Oh, my, this is sexy. I can see how this feature would be “annoying” to some, but then they do not need to use it. Many I think would love this feature. I know a lot of breakcoreists that would die for something like this!

I do NOT like what someone said about “floating windows”. :panic:

floating windows sucks ass,i really think they are annoying :angry:

I keep installing revisit updates since it first emerged, but have never really done anything with it because of Renoise. That programmer surely has skills, just don’t understand why it is not all contained in one window. Not a fan of the floating windows design in his vsti. Maybe I need to stfu & read the manual, try it out with Renoise for some clip triggering action?

I quit trying to use ReVisit because it had too many bugs and crashed frequently. Sure it was an earlier version and lots of bugs have been fixed since then. But it’s actually a great project and ReVisit definitely has some potential so I’ll give it another try in near future. I need to check out that zooming :)