Brainstorming: Arranger

From what I see in your post there, you describe a nr 2. Not a nr1 (and a nr2 is what we have discussed in this thread from day one really).
What taktik meant by nr1 is that you track isolated patterns (a pattern got it’s own real tracks, track dsp, own tempo etc etc). And these patterns you arrange together in a nr1 arranger.
A clip on the other hand is just clipboard of notes for instance. Just like you make when you make a selection in the pattern editor and copy/paste that selection. Thats a clip in nr2, and from what I understand is exactly what you described earlier.

Well, that’s not what taktik said:

My idea was based around one single never ending pattern (call it ‘timeline’, if you like), to which you could enter notes, select them and make clips or group of clips of various length spanning one or several tracks and then move those clips around to arrange the tune. Alternatively, you’d be able to automatically create clips spanning for all tracks, by default 64 rows long to keep the backwards compatibility.

IMO, this is taktik’s #1 as opposed to retaining patterns and only being able to use clips within that boundaries, which is #2.

Then taktik used the wrong words and made more confusion then he should (Or I’m totally not getting something here) :)

It’s your way we have always favoured exactly like you describe it.
However, we also really want to keep the pattern arranger.
So much of the initial discussion is about how to keep both.
No reason to only have one loooong pattern. Instead we do just like you said and let it make automatically clips that are at one pattern length when you start to add anything into an empty track in the pattern editor.

Now… the tricky part is when the user want longer clips or wanna move them over pattern boundaries.
If you are that kinda guy that freely wanna move clips all over the place you can optonally remove the track from the pattern system (for instance right-click the track and uncheck a "link track to pattern-arranger’ option). If you unlink all tracks from the pattern-arranger than this is the same as having one big looooong pattern. You get me now?
People would kill us if we just removed the pattern system :)

Thanks danoise and guys, you doing a great job!

btw: wanna ask about your ideas about kinda ‘world automation arranger’ to simplify automation creating and editing around whole song, not only pattern limited as it is now.

Sorry if it was discussed here around, i didn’t read whole topic…

Yes, exactly. The difference between #1 and #2 is to keep our patterns as “meta clips” (or blocks if you want) -> #2 or not -> #1

Keeping the patterns as “meta clips” doesnt necessarily mean that all contained clips are clipped at its boundaries though.

Allowing multiple tracks per clip or not wasnt discussed at all in this context.

Aha… ok so that was me then. I was thinking about 1 as totally independent clips that could also have multible tracks (a pattern) and work ‘on its own’. Since that was the initial discussion prior to this thread for the two main concepts of arranger.

So this is just a discussion about making clips work with todays pattern arranger (what 'timeline to use, and pattern boundaries?).

Great, sounds like just the way I want it. :)

Then if automation was moved into the pattern window as well, you could define clips and sub clips with any content you like… several tracks, only automation, only note/volume/pan/effect-column… I think this would be a very easy and intuitive way to work, without changing the basics.

Now on to how it could be implemented into a zoomable combined pattern editor/arranger:

Assigning the same shortcuts to different functions depending on zoom level would not be ideal, and possibly confusing. We don’t want too many or too similar functions as well. Some could obviously be the same, like copy/paste, drag & drop…

We need to list what functions we have the pattern editor, and we need to figure out what functions are needed for the arranger… and then how and if it can all be implemented in a zoomable pattern editor/arranger.

OK… I can then repeat that discussion then (how to keep both clips and pattern-arranger together):

One solution, offered by martinal 5 year ago :) is that clips stick to the pattern they start in. So even if a clip is 5 patterns long it is pinned (belong to) to the pattern where the clip start.
So lets say clip1 starts in pattern 00 and ends in pattern 04.
If you then delete pattern 00 then you also delete clip1 (you will not see clip1 anymore in pattern 01-04.

The problem with that system is that clips very easily collide.
Colliding/overlapping clips is a problem. Lets say clip 1 have 12 notecolumns, and overlap 3 other clips with many note tracks etc. How do we merge them together? Should we merge them at all? How do we visualize that?
If this is suppose to be a destructive process where you just cut the clip1 at the pattern 00-01 boundary when you delete pattern 00, then think about the chaos if you for instance browse through different patterns to find the right one. You would then leave a mess of partial clips.

What I have suggested is that we do not allow to overlap clips.
Also you have, as said earlier, an option to unlink any track you want from the pattern copy/paste system.
These unlinked tracks do still show up visually as in a normal pattern. But they will not follow the copy/pasting of patterns.
So underneath everything you have a endless timeline (one big pattern) but you autocreate patterns as before, until you manually unlink tracks from this pattern system.
This is fully backward compatible and also allow the user to use a more ‘free’ option.

Now when you understand this principle then you see there will not by any problem to copy/paste entire patterns with boundary-crossing clips.
I you have not unlinked a track from the pattern copy/paste system, and you do have crossing clips, then a dialog might appear if you do copy/paste pattern. This dialog would warn you about boundary-crossing clips and give you a option to ‘unlink tracks with crossing clips’, or another option to ‘copy/paste partial clips’ (and ‘don’t ask again’ option )

Copy partial clips means simply that only the part that’s inside the pattern range will be copy/pasted.
As clips are most likely gonna be nondestructively, you can resize/expand the partial clips like you want after such a partial copy/pasting.

If you wanna freely move clips anywhere you like, then you can unlink all tracks from the pattern copy/paste system. You will still see/use patterns, but when copy/paste/clone up new patterns to expand the song, then no new clips will be copied/pasted. No dialog warning about crossing clips etc.

Also I see no reason why you should not be allows to crank up the the length of a single pattern to more then 512 lines.
If you truly want just one big pattern you could just make a xxxxxx lines pattern.
But you then miss the cool navigation with the pattern system. And you would have to manually group clips to do some fast massive copy/pasting. But at least it is up to the user to choose how to do it.

I agree.

Correct me if I’m wrong - not sure I fully understand the concept of linked tracks. But wouldn’t it be simpler to have an flexible clip length, not necessarily limited to the length of the pattern in which it’s triggered? I’m thinking that this would be much more in line with how instruments work - they can be triggered at any time, play for any number of patterns, only to be cut by a note-off event in the same note column. Only difference being that clips are more easy to manage, since they are represented visually.

That way, I could add a drum clip that will go on playing through most of my song (looping/repeating itself), and I could delete any pattern I wanted while keeping the start/end points.

You have a point, we need make a decision on what happens when stuff is moved around on the timeline.

If I were to move a clip from one identical pattern to another (that is, two simular pattern ‘instances’ in a sequence), would the result be a new, unique pattern (original pattern A will no longer contain the clip, cloned pattern B will hold the clip at the position where I dropped it), or would both patterns/instances reflect the same changes, and still be identical to each other?

Currently, Renoise use the latter approach, but it may not be very intuitive to work with for an arranger. Automatic cloning is definitely something we should consider, perhaps with a modifier for not cloning the clips (holding CTRL while dragging a selection in the pattern sequencer will cause cloning, imagine that something like the opposite was true for the arranger)

I think the current limit is 512 rows, but listen to It-Alien’s demosong ThePath for an 5min long example of a single pattern song.
However the breakcore people in here could probably finish it off in 5secs :slight_smile:

This is a data-view, not a GUI mock-up (although it drops a few visual hints in that direction).
Renoise Song data-view

Mainly, the panels denoted “SONG” and “PATTERN” relate to this thread. There’s some tantalising tidbits of other stuff in there also, purely to satisfy my own interests…

Imagine an instrument which has a whole pattern rendered into it already.
Now, the whole “what do we do when happens to a clip” question becomes a bit easier to handle. For any of you who have used Flash before, you know double-clicking a clip lets you edit the clip: and you can also “drill down” into clips by double clicking until you hit the core ingredients like text and drawn shapes.

I’ve been hacking up a data-structure view of my idea of a new-format Renoise song. It’s not terribly strict (e.g. whether sub-tick timing is done through effects or some other mechanism is up to you) but I believe it serves as a good springboard. It amalgamates arrangement right into regular pattern editing, for a seamless and intuitive experience.

Root Pattern / Subpattern GUI - Possible Treatment
There is a root pattern (i.e. a song) which contains subpatterns. This implies the little “arranger” column on the left of the screen in today’s Renoise might be replaced with simple zoomed-out representation of the subpatterns and notes lying directly in the root pattern. Double-click a block make the pattern editor edit that pattern (aka “Zoom In”). Have a button to toggle “onion-skinning N levels deep”, whereby subpattern contents, N sublevels deep, are allowed to appear right inside the pattern editor ready to be edited immediately.

Points for discussion:

  • One root pattern? I hate copy-paste style arrangement.
    If the interface presenting this structure is well-thought out, re-arrangement will be intuitive and quick. For a quick preview of how it might work, take the Adobe Premiere timeline and rotate it 90° to the right, and enable Ripple Edit. Simple drag & drop “insertion” re-arrangement, just like in Renoise today, but with concurrent patterns (a.k.a. clips) going on. Of course, the issues that can make using the Premiere timeline f****ing annoying will need ironing out.
  • What if clips (subpatterns) “overlap”?
    They act like an instrument might - the subpattern’s NNA (new note action) happens. The clip will cut off, fadeout, or continue.
  • So let’s say I had some clip in a track. I move down a couple rows and play a note right in the middle of it.
    As you’d expect, the subpattern would cut off/fadeout/continue, and the new note would be played.
  • What’s that “transpose - key” event property about?
    Two words: “one touch”. Choose your pattern from the Asset bank, and start using it like an instrument. If you play one note at a time, it indicates a simple transpose. If you enter a chord for the subpattern all under one track, the subpattern is correctly transposed to the new key that chord represents.
  • What could I do with a clip?
    You can stretch it (change its tempo from the parent), you can loop it, you can clip its ends off, you can copy or clone it inline, pretty much anything you might do in Acid Pro. Clipping its ends off might be done by mouse, or it might be done by 9xx and note-cut/note-off.
  • How would I make a clip?
    Select some rows of the song, go “make this a clip”. The selected notes are cleared, and a single clip in the first track of the old selection would contain everything the selection had.
  • How would I do the opposite of that (break apart)?
    In Flash, you’d hit Ctrl-B :) In Renoise, if you were to “break apart” a.k.a. “bake” a.k.a “merge-down” a subpattern to its parent pattern, tracks of the same name would have their content merged into the parent pattern (undoable of course!). Tracks which have no parental equivalent would be created anew after the track containing the subpattern. Or, if that track were empty but for that subpattern, said track would be replaced with the first of the new tracks (and renamed if necessary), and further new tracks would be inserted after it. An option to “merge like-named tracks / just add new tracks / replace like tracks’ contents on affected rows” and another “prepend like-named tracks’ DSPs/replace like-named tracks’ DSPs / ignore subpattern DSPs” would eliminate most foreseeable collision issues. Funky issues like differing tempos will prohibit a merge-down like this. After a warning, effects which are impossible after a merge-down (like pitchbending a whole subpattern) would be erased… or DSP replacements for those effects would be added and applied to the affected tracks :)
  • How would I merge subpatterns into one long subpattern?
    You’d multi-select your subpatterns, and click merge. Space between them would be preserved, the resulting subpattern would collapse to occupy only 1 track (the left-most track of the merged subpatterns).
  • Copy and paste between subpatterns with different track structures?
    It would act just as Renoise does now: it disregards track structure entirely. It only acknowledges columns.
  • Let’s say I wanted to isolate the drums off from the rest of the song, and those drums are spread among many subpatterns. (aka. switch arrangement style from traditional tracker-style to Acid Pro style.) What do I do? Will I have to get inside each subpattern, cut the drums, paste to parent pattern, create clip from this…?
    f**** no. It should be as easy as turning on “look inside subpatterns” or “onion-skin” or whatever we call it, drag a selection through the drum tracks (if they line up, otherwise CTRL-CLICKing the subpatterns’ tracks’ headings to make a multi-selection), right-click, go “split off to new subpatterns”.
  • How do we treat patterns whose track structure mismatches the main song?
    Every pattern has its very own track structure (as indicated by the “tracks” property which is pattern, not song, specific. This implies that, each tick of audio is comprised of a mixdown of subpatterns. Sub-subpatterns are mixed first, then subpatterns, then the root pattern (the song).
  • What happened to columns?
    Sorry, this was a detail I missed in the visualisation. Columns work the same as they always have. Thus, several subpatterns can play independently and side-by-side under 1 track if they’re in different columns.

I do hope I’m solving problems rather than creating them…! :)

Well, ideas are food for invention :slight_smile:

So basically, you propose that clips could be “compressed patterns” - and I get the reference to movieclips in Flash. But - how should Renoise be able to deal with a pattern, served inside a single track, when each track has a separate DSP chain? That would require a major change in the fundamental audio engine, I should think.
Unless, of course, you imagined the ability to freeze tracks?

really loving the arranger idea,for me coming from more conventional sequencers,that would be a massive + to have in renoise,and help giving a more visual overwiew of the track

wooow that looks great,now if renoise got something like this,it would be really really nice,but i also (even as i use more conventional sequencers)still would like that renoise kept the patternbased,but if renoise got something like what danoise have sketched up,it would be "easier"for nOObs like myself to get into renoise more easily

Thanks, it really seems that implementation goes well with most people. And yes, it’s patternbased :slight_smile:
Actually, I’m working on a simpler, but more detailed design for the feature design forum…

sounds good,really hope this will be implemented in one of the coming updates

this topic is started in 2003.

i couldnt read all the topics(because i STILL get that stupid error-message)but what are still missing,from the original OPs ideas??

Finite time and other new features that wanted to be done. A concept that works for most of us. Such a thing is not implemented in a few weeks if we want it perfectly done.

But why is the ideas&suggestions forum getting so stressful during the last months? Is there really nothing more to explore in Renoise? Do we really need more features NOW to make more and better music?

It’s a measure of the success of 1.9.1 which is a good thing.

Newbies who want to contribute to the community are doing so with suggestions sincerely thinking they are helping. Others have started using Renoise heavily again and are using this forum to jot down ideas so they don’t forget. I don’t think the frequency of feature requests should affect your time line. The enthusiasm is a good thing. Weather you like it or not? Haha.

I do agree that people should chill out though. The new release is cause for good times. Thanks for the good work taktik and others, keep it up.

All respect to the vertical GUI arranger idea, which is innovative and saves space, but I’m getting an awkward feeling about it, maybe it’s about vertical song structure that don’t run well in my head(?!), but also because I’d like to see both the arranger and pattern editor at the same time, which is not possible with the zoom concept!?

I just imagine a straight forward view, with a normal horizontal arranger on top and pattern editor below divided by a draggable pane. Ohh - imagine when you click on a block in the arranger you immediately goes to it in the track editor, that’s fast and with superb overview. Clips and instruments can go to right of the arranger, maybe with a show/hide panel.

I’m not against the idea of a traditional arranger view. Many of the ideas presented with my “zoomable pattern editor” are in fact not restricted to the novel idea of zooming - it’s more a way of integrating “clips” into the overall working flow. And once a good way for working with clips has been established, it would be much simpler to make a traditional “arranger” view.

No matter what, the zoomable editor holds a number of advantages to the current one - for instance, being able to zoom in would make subtick editing so much easier:

This screenshot illustrates how a triplet note sequence (track04) could be seen in a subtick zoom level. Notice how notes are distributed simularly with speeds 06 and 03 - only the row number (left and right edge) reveal that the tempo is different.