More feedback and discussion of the concept is located in this thread
[HR]
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)
https://www.dropbox.com/s/7n2qps3b5og1vsw/zoomable2.swf?raw=1
- 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:
https://www.dropbox.com/s/ni94pp257nvgvbn/problems.swf?raw=1
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
https://www.dropbox.com/s/n9shijx3lc4cn9b/sync_modes.swf?raw=1
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
- This is where the clip automation curves are grouped
- Use the clip automation link controls to decide which parameters are controlled by the clip