Brainstorming: Arranger

Here are some of my ideas. Terminology in bold.

Basics
First of all, the main parts of the arranger will be a time ruler and multiple trackstrips.
It’s enough to describe what a trackstrip should contain.

A trackstrip will have two parts, the trackheader and the trackcontents.
This is much like in the patterneditor, and as in other sequencers with similar arrangers.

The trackheader will show trackname and other relevant information.
Trackcontents will show clips with trackdata.

Up to this point I don’t think there is anything special.

About clips
The text below assumes noteclips and automationclips are indepentent “objects”.
Each track will have one list of noteclips, and one list of automationclips for each track- or DSP parameter.
Possibly there will also be a third commandclips type.

At any time when a partial clip is selected and dragged in the arranger, it will be split automatically.
Clips should be draggable to move, copy, and move with linked contents.

New ideas
In the trackheader there will be controls to hide, show and group different clip types in a track. Some group modes:

  1. Group all, where noteclips and other clips can be selected and moved “as one”.
  2. Group by cliptype, where noteclips, automationclips and commandclips are viewed as three separate entities.
  3. Group the parameters of each DSP device, where the automation of each single DSP is treated as a separate entity.
  4. No grouping, where each automated parameter is viewed by itself (in addition to noteclips and commandclips).

Each group (or in (4) each parameter) will be viewed in the trackcontents as a “subtrack” with separately editable clips.

I will make some scetches to show how I imagine this to look.

yes, an image would be nice :)

And here goes:

A scetch

A more “real” scenario

Just like the text above, the first image can be a little technical.
The second image is perhaps easier to understand.
I recommend looking at both and reading my post again,
then ask questions. (Your question may very well be something
I haven’t thought about, so fire at will!)

All in all its a great idea to seperate the automation from the notes and put them into different clips (or not if they are grouped). This is a very powerfull idea and I start to wonder why no other sequencer handles it like this ? Or maybe I missed one who does ?

If you cannot understand for what this might be good, imagine that you can move copy / paste / create automations very easy between tracks / patterns this way. So you can decouple or couple the automations from the notes itself if you want.

So : This is easy and fast to use. We should go for this ! Great idea Martin.

hi, just wondering how the note clips will be specified? Will each clip start as a pattern long i.e. 64 lines and them have to be shortened if you want to move a part of it? Will renoise recognise particular note sequences and assign the corresponding colour to it or will each clip have to be defined by the user?

edit: Just thought, will the colours only be assigned to individual tracks, so if you drag your note clip from track 1 to track 2 the colour will change or will this not be possible to drag across tracks (guessing it is as copy and paste in patterns can be done like this)? just thinking about this because if you want to keep track of individual clips it would make sense to me if the clip colour was kept for each clip. On the other hand if eack clip has its own colour within tracks aswell as across them it may on the other hand be confusing if you want to remember which instrument/s you used for a group of clips.

I think it might be a good idea to have names for clips as colors are probably not enough to avoid mess. I’m also not sure if there is any point in placing notes and note commands in separate clips as they are very closely related and I can hardly imagine a situation in which note commands from one sequence can be reused for another. Will there be direct-from-disk audio clips as well?

But what I really wanted to ask is how will the clip data relate to the pattern data? As far as I can imagine, there can be two ways:

  1. With pattern data as source: you edit pattern data as usual and then mark some of the data as clips for reusing in arranger. This approach might be more natural for people used to trackers, but doesn’t seem very good otherwise.

  2. With arranger data as source: you create clips of desired length, edit their data - using a one track pattern editor or pianoroll view - give them colors and names etc. Then you can switch to the pattern view and add variations (with new clips auto created). This approach would be more natural to people used to drag&drop environments like Cubase, Cakewalk etc.

I think the second way would be better as it is closer to what the song creation process is about - creating clips, placing them here and there to form a general structure of the song, then adding variety. It would combine the best features of drag&drop editing and trackers.

Well, yes, I’m a bit Cakewalk-infected, but I liked the way clips are handled there very much.

–P/\ULiE PHONiCK

I agree, but maybe I can´t see the future so I think you should build this into the arrangeer in case of later use…

But leave it out as a feature that you can use for now.

I see one problem, with this solution what happens if you have notes that are not made into clipps,
on a pattern, how will they be visible in the arranger? Or will they be invisible?
It would not be so good to have invicible note data when you want to arrange the song.

Therefore a note must allways belong to a old clip or a new clipp.

Another thing, don´t limit the arranger window to only the pattern window, make the arranger
a floating window or make it expandable so that it can go on top of the instruments.

Clip names: yes.

Clip colors: per clip. Assignable by the user and/or automatically assigned from a color set perhaps?

Window size: we’re planning to make the upper- and lowerview hideable. This will make both the arranger, pianoroll, patterneditor and other middleviews full screen if you wish.

Will renoise recognise particular note sequences

No. That job is up to you.

Clips will be created either by defining them in the arranger, perhaps also directly in the patterneditor, or by Renoise automatically creating clips when you enter data in the patterneditor where there are no clip. For old trackers, this means you don’t have to open the arranger at all, just start entering notes and the clips will come automatically. I suggest that the automatic clips simply will fill the whole patternlength. They can be resized afterwards, or you can create them in the arranger with the right size before you enter data. Another option is to let Renoise automatically resize clips that cover the whole patternlength whenever you resize the pattern. Clips can be splitted, copied, copied linked (so data in the original location is reflected in the copy and vice versa), merged, and of course deleted :)

(*)Clipdata relation to patterndata: I’ll get back to this. I have written about it elsewhere in this forum. In short, patterndata will always belong to a clip as you say.

(*)Commandclips / noteclips: I’ll get back to this too. I think some larger changes should be made as well (that will only make Renoise’s commands more flexible).

(* I just don’t have time to get into those details now).


I can’t see why one would rule the other one out…? But then again our guru Martin has probably thought about this already and will come back with the details later… :)

Will renoise recognise particular note sequences

No. That job is up to you.

The reason I ask this is for example if you were to copy a clip and place it further down a track, then later make adjustments to it, it would be useful in the arranger that when the clip is changed, the representation of the clip changes also (rather than having to remember to rename it every time yourself). But If renoise will not recognise the sequence (which I can imagine would become complex + in a lot of cases messy also i.e. short sequences within larger) or any changes to it, I guess in this case manual name changes are the only way to do it.

Maybe it could be to name each copy differently i.e. copy of DRUMCLIP is dragged and shown as DRUMCLIP(1) (even though it may be left as an identical copy). This way every clip would be unique but maybe linkable by the prefix name i.e. if you wanted an edit on 1 clip to effect all the clips from the same root clip. On the other hand they could be left as independant and edited idependently.

(just a bit of brainstorming ) :)

What will happen if you have a clip that at some place overlaps two patterns, than you move or delete one of the patterns?

The clip is than cut, will all clips that are copies of that clip also be cut or will that clip become a new clip?

Or are patterns something that will be replaced with clips?

Maybe a clip should not be able to overlap two patterns. If you move a clip so that it overlaps two different patterns it becomes divided into two clips.

Ok… here is a screenshot of Renoise 2.0 that I hacked from taktiks computer. :0

I have spend some time thinking of how an arranger will actually work when you compose… then how to implant it in Renoise… and finally all the problems because of backcompatibility.
Had a few discussions with Martinal about problems of this and that…
Now plz remember this is just my personal in-my-mind-dreamtracker v.0.75alpha :)… But I guess it has a few good useful things that can be used somehow before Renoise v6.0 ;)

Ok… couldnt help my self…added some features as Audio tracks and Freezing… other then that this should be on topic.

On top you can see 2 new tabs: Clip/Waves and Samples.
Samples is the samplepool containing a list of all samples loaded to ram in renoise (all instruments etc). This way you can reuse samples without using more memory. (Dublicate sample-instruments using the same samples),
The Clip/Waves tab is what you see now. On left is a list of clips. On right is a list of Waves.
Waves can only be used in Audio tracks. Waves are not loaded into ram… They will be streamed from harddrive when placed in Audiotracks.
You can sort/filter the lists… more about that later…

Clips:

What is a clip?
Read martinal posts.

To keep backcompatibility and still be very flexible I think there must be Autoclips (automatically made clips) that will be made if you type inn something in an empty track in patternview. This clip will be very anonymous as it will be as long as the beginning to the end of the pattern it was made in. It will also get a name automatically… and a default color in the arranger.
Take a look at Clip1 on Track00 on the screenshot (dont mind the automation there) This is a Autoclip. It was made by entering a few notes at the end of pattern 00 in Track00.
I have not defined anything for that clip.

Then you have Defined Clips. Those are the clips you will take care off and arrange proper.

How do you make a Defined Clip?
Well if you define a Autoclip by giving it a name/color/resize/merge/split/move/link etc then its your baby. Thats a defined clip.
If you are the type of person that wanna arrange everything from the beginning, then you can make clips by drawing a empty clip in the arranger… give it a name/color whatever… then enter notes in it.
You can also make defined clips directly in the patterneditor by selecting a block and hit the ‘make clip key’

On upper right under the instrument list you can see the color settings.
Just select one or more clips in the arranger, then hit one of the color presets or just slide the spectrum.
The button to the the right of the colorpresets is a ‘color link button’. This button will link the color of clips in arranger to the color of the same clips inn the pattern editor.
Some ppl like a lot of colors… others hate them… and ppl like me just want them in the arranger and not in the patterneditor :)
An Autoclip will get an default color that you can be define in configs… both for the autoclipcolor in arranger and another one for autoclipcolor in patterneditor (if you dont want colors in patterneditor then just turn it off (set as same color as empty tracks))

There are 3 types of clips… you have note clips, command clips and automation clips.
In this screenshot you dont see any names on automation or command clips… (you can see some automation… so there must be some automation clips there as well… I’m was just to lazy to insert them into the picture…)
Do notise that in this screenshot all clips are grouped together on the same track (merged into each other). So you can see both notedata and automation on the same bar… this is because of the ‘Clip Grouping mode’ that is set to ‘All’
In this mode you can still automate. but only one clip at a time. You choose witch one to automate from the dropdownbox under the track name (its the same list you will find in the automation window). In other clip grouping modes this will look different.

The other modes:

Martinal scetch

Linked clips:

Linked clips means that one clip is used several times in the song, and any changes done any place in the linked clips will also make changes some other place in the song.

The ‘Bassline1’ clip is a linked clip (see symbol in the upper right corner of the clip. And has of course the same color.

There are several issues with this system… especially the old patternarranger can screw things up. There is no problem whatsoever if you dont make clips bigger then the pattern,or somehow dont cross patterns with clips.
If you keep clips inside pattern boundaries then everything works like a charm, 100% the old way. Thats the reason automatic clips will be made the way they do.
If you insert the same pattern twice or more in the song, all clips in that pattern will be linked in the arranger.
So far so good.
Now take a look at the pattern/position 01 in the arranger (screenshot).
‘Bassline2’. That clip crosses patterns (its bigger then pattern 01). Copy/pasting a pattern in this case will totaly screw things up. If I copied pattern 01 to a new pattern in pattern position 03, I would only get parts of the ‘Bassline2’ clip. (the part of it will then be made into a new undefined clip, but with a similar name like ‘Bassline2_partial1’)
((Btw if you copy/paste a clip it will get the “[Name from copied]”+".1" etc i.e a unique copy of Bassline1 will get the name 'Bassline1.1 … another copy will get ‘Bassline1.2’ etc))

All in all there really is only one good solution to all this. Use the arranger to copy/paste more ‘complex’ clips… thats why you have that arranger in the first place. And dont expect to get a much chance to reuse pattern like:
00||00
01||01
02||01
03||01

You can of course do this… but all clips (notes and automation) will be linked.
So if you make only one unique move in one of the patterns in the arranger,it will be autoconverted to a new unique pattern (unlink/unique any of the clips, or just one of them).
Be sure the ‘Link’ button is activated if you wanna make changes in the arranger (like adding a empty clip will in this case insert it in three places at once) and not let the patterns convert themselves into unique pattern.

So basically using the ctrl F4/F5 in pattern editor to copy/paste patterns will not care for how you have struggled to set up defined clips in the arranger. Use with care! :)

Another problem is that many ppl scroll through many patterns to find the right one in patternposition. So as you can figure this can mess things up too.
Maybe some sort of ‘safe mode’ can be applied to the arranger…making it impossible to scroll/change patterns. Only inserting new ones.
If you use the arranger a lot you wont care that much about patterns at all. You will most likely only make unique patterns.Then the patterns are basically just ‘time flags’ , a marker in time that you use to navigate in the song… and of course looping (playing pattern).
You will not then use patterns to arrange your song in the same ways as before.
But all this depends very much on the user himself. Most ppl work in patterns from the beginning… and would never make any funny-sized clips. Then arranging the old way is much easier as well…

Back to the lists.

As you have figured, it can be a hell of a lot of clips if you dont arrange from the beginning, but rather let the autoclips do the job. This is easily solved by sorting the list.
If you select one clip in the Bass1 track, then the whole track is activated as well. (the background of the track slightly changes colors (not shown in screenshot).
Now if you press the ‘In Track’ filter in the clip list, then you only see clips that is used in that track.
You can use several clip filters at once.
‘In song’ filter assumes that you can take care of clips thats not even in the song. So making a backup of that awesome-bassline-you-just-made-but-that-you-just-dont-find-the-place-for-yet,
will be stored in the list.
Maybe an option to ‘preview’ clip could be made… then the clip will be opened in a temporary pattern.

The cliplist can be used directly in the patterneditor too. You can insert clips to cursor in patterneditor.

In this screenshot I have not made anything to separate noteclips from command/automation clips. I think there is room enough for making one or even two more list (one for each type of clips) And as the ‘wave’ list wont be used for a long long time I guess ;) , then you can easily have three lists at once visible.

Another thing I have thought of is possibility to save entire ‘Instrument clips’ to/from disc.
This clip is just like a small one track song. It has one instrument, notes/automation/commands, and track settings(all track devices).
This Intrument clip you could load into a empty track in your song. This way you can easily move parts from different songs.
Or even better… copy/paste ‘on the fly’ from several songs at once… and let the instrument/samples/track settings follow the notes too.

anyways… As you can see there is an Arranger Option tab on the Lower tabline too… There you will find tons of other options like snapping … tools to draw/edit clips etc etc…
more automation options… hide all … show all automations to singel blah blah
Duplicate x times… Duplicate Linked…

Other things/ideas in the screenshot:
Zoom presets. Well… its just zoom presets :) If you spend time finding the zoom levels that fint you best, then save to presets.
Also ‘Apearance’ presets are at buttom of screen. Its just different ‘screen presets’ you can store. Like having the arranger opened with the clip list and ‘Edit Automation’ enabled and instruments settings shown all at once by pressing this preset.

Button to show/hide upper/lower-views (making almost all screen for arranger/patterneditor)

‘Edit Automation’: if ennabled you can edit automations :) You can see the dots on the automation curves. Also left/right clicking and draging etc in the arranger will vary if the automation edit is on/off.

Down to the right , beside the clock, its a textbox to rename clips. Then you can rename clips in both arranger and patterneditor even if you hide the whole screen.


Be freezing I mean rendering the track to a temporary wave that will be streamed from harddrive. This can save enormous cpu usage, and is not that slow and awkward to work with as many ppl thinks. In the sreenshot you can see ‘Freeze’ added to the devices. The little ‘F’ on the second and third device in track tells you from where in the chain it will freeze. Here it will be freezed with a reverb (second device), but you can still tweak the third and fourth etc device… (might be a few issues with senddevice and vsti/midi lfo devices, that must be solved).
A freezed file is much like an audio file. You can choose to see the wave curves (option) or still see the note clips. You can not change anything (move notes/wave) but you can copy both wave and notes from the freezed track to another track. And you can still automate devices that is not freezed in the chain.

I know… its just a dream :)
Time to wake up!

much more to come :blink:

Pysj

I didn’t have time to read everything (anything), but that’s a very attractive screenshot Pysj. The envelope points could be larger, and the up/down switch could be smaller. I don’t think you need a seperate pane for Arranger Options. It should go under Configs somewhere. I think you could have either A) outline on the clip text or B) some dark transparent line to discern it from the actual clip. Else it looks really good and painterly.

Btw martinal, “bikkjefløyte” og “Dudadudareireirei”? :rolleyes:

((Btw if you copy/paste a clip it will get the “[Name from copied]”+".1" etc >i.e a unique copy of Bassline1 will get the name 'Bassline1.1 … another >copy will get ‘Bassline1.2’ etc))

Glad to see you have incorporated my little idea into your master plan Pysj! :D

Like the screenshot by the way!

A thought on clips that span patterns. Maybe there could be an option to “lock” these clips. The idea being that if you wanted to erase all other information from the pattern or move it to another location then any clips locked would remain behind on a fresh blank pattern. This way any long clips important to the structure of your song could remain without having to repaste/ reload in some cases. The clips that are locked could also have the option that if the pattern they are on is being moved (cut and pasted) that a copy of them (or the section that is within that pattern) will be copied and moved instead of cut and moved.

There could also be the option of “locking” tracks (in the sence that I have described above). Here I can see a use with vocals etc. to avoid chopping when it is not required. If patterns are inserted in both these cases all information other than the locked clips would be shifted up one pattern as normal but the locked clips would obviously be part of the new inserted pattern.

Edit: Pysj, just realised that your frozen tracks may have to work in a similar way to these locked tracks/ clips if I have understood the freezing process correctly, unless it is possible to cut and paste quickly with the harddrive?

Thught of a problem with the above which would be when cutting and pasting patterns when for example a track was locked. If the locked section was being copied and there was alresdy a locked clip at the new location it obliously wouldn`t fit in immediately. to get around this a new track could be assigned (maybe with a popup asking if you would like it to be, or a configurable option to do this automatically). When you started reaching 64 tracks then obviously a problem may arise, but spare columns can always be utilised as a workaround (this might also be utilised as an automatic option).Can only see this as a rare occurance though, unless your already reaching these sort of track numbers, or you wish to lock 32+ tracks!

edit By It-Alien:
removed guest post and assigned to actual author

:P lol …basically just jokes…

First of all, keep the “freeze tracks” discussion out of this thread or it’ll just get messy. Other threads exist, or start a new if you’d like.

Pysj: You haven’t got the patterns quite right. I’ll explain.

First a little technical view of the song structure:

  • A song contains a list of patternnumbers, like the patternsequencer today.
  • Each patternnumber represents a unique pattern, which can be reused at will like today.
  • Each pattern has a list of tracks (of course…)
  • In each track in the pattern, there is a list of clips (actuall, it’s rather “clipinstances”: see below). Important: The clips belong to the track in which they begin!
  • Each clip has some contents of a specific type (notes, automation, commands, perhaps audiofile in the future like Pysj suggested here…). We don’t discuss the details of the contents here.
  • Content can not exist outside a clip. Every time some content is entered anywhere where there is no clip, a new clip is automatically created by Renoise. This will get a default color, and an automatic name like “Clip123”.

About clipinstances.
(a bit technical) In fact, technically clips will not be “linked” to each other. The clips you see in the arranger are clipinstances. A clipinstance can be seen as an event saying “play this clip from here”. The clips exist in a clippool behind the scenes. So technically “linked clips” actually only means that the same clip is referred to from more than one place in the song.

About patterns then. Since tracks in a pattern are completely separated, we can look at only one track to simplify. I repeat: The clips belong to the track in which they begin! Now think of the clips as events, just like notes in a noteclip.

The notes start to play at their position, and they stop to play when a new note comes in the same notecolumn.
The clips start to play at their position, and they stop to play when a new clip comes in the same column (or when there are no more clip contents…).

“Column” in the clip case means command column for command clips (if we use commandclips, another discussion), same DSP parameter for automation clips, and NOT notecolumn for noteclips. There will be only ONE noteclip at a time in a track, ie the noteclip will contain a timerange of all notecolumns in the track.

Look at this “screenshot”.
See how pattern1 has clips that goes past the edge of the pattern.
See how pattern2 is here comes two times, but only the first time those hihatnotes from pattern1 will play.

About patternsequencer.
Pysj reduces patterns to just be the same set of linked clips, which gives problems when you want to add or edit stuff in a pattern used several places later. This is not the way it will be. Pattern3 is pattern3, and the patternsequencer only shows the order in which patterns will be played and repeated.

Referring to the screenshot above: When editing pattern2, it will be reflected in both places the pattern is used because it is the same pattern! Just like today. It’s not just a set of clips that are linked together. To avoid this, you will have to do a “make pattern unique” operation. This operation can come in two flavours: one that copies contents of the overlapping clips from a previous pattern into new clips, and one that only duplicates the original pattern with the clips that belong to it (remember: clips belong to the pattern in which they start) and nothing more.

The same way as when editing the contents of a clip in the patterneditor, the same changes will apply to all linked clips. But when moving a clip in the patterneditor, it will not change the other linked clips in any way, because you’re only changing that specific clipinstance.

Don’t have time to write more right now… bbl

Makes a lot more sense now B)

Just one thing that I am unsure about, with the screenshot I am guessing that the unique operation has been done already so that what is shown as the second instance of pattern 2 is actually pattern 3. I say this because I can`t see how this would work when playing back this sequence as it is in the pattern editor. The hihat instance would be played in the first instance of pattern 2 and then dissapear on the second time around.

just checking that I`ve understood you right

Nope. Both “Pattern2” on the image is the same. The hihat clipinstance belongs to pattern1.

When it comes to the patterneditor, it should show what is played, but also make it clearly visible that the hihat clip belongs to the previous pattern. If the patterneditor shows the previous and next patterns continuously, this shouldn’t be a problem. One way to do it is by using dotted lines around clips in the patterneditor if they are linked, dashed lines if they belong to the previous pattern, and dash-dottet .-.- if both. (No lines if it’s an unlinked clip within one pattern).