Not possible, the undo buffer is based globally to take out actions that preceded one and another regardless of in which area the action took place.
You give the example of where only notes are inserted behind eachother, but the undo mechanism also has to consider one could manually insert two notes, do some action somewhere else not inside the pattern editor and then come back to the pattern editor and manually insert some notes again.
If you would tell the undo mechanism to remove the whole take, it will also remove proces results you did elsewhere (like swapping instruments or adding sequence positions etc.) which might not be the purpose at all.
How about this: setting undo anchors, or markers or however you would call them… then pressing for example shift+ctrl+Z and shift+ctrl+Y to undo/redo all the steps until the previous/next marker (or until the start/end of the undo buffer if there are no markers, or the first/last marker has been reached).
Not only could you set a marker before recording something, but also when trying something any kind of changes… then you could do something like an A/B comparison with a single keypress!
There are not much Undo hooks in the scripting engine currently, it might change, but i cannot foresee that.
What i can say is that input that has been inserted by a script, is completely undone with one simple undo request. So there you don’t need to be afraid you have to keep jamming the shortcuts until all changes are gone.
… but - neither of these undo-methods you guys mention will work if you start recording halfway into pattern A, through all B, and then finish halfway into pattern C.
cus if you already HAD notes in this track from before which you want to keep, you have to ctrl-z each single note all the way back to pattern A, which often results in a real inspiration-killer when working with, let’s say, a jazzy piano solo.
sorry, if i am repeating myself… this stuff is important
Your solution is decent, but you shouldn’t need to STOP and undo the data as it’s inefficient. What I’ve been waiting for a long time now is punch-in recording. This is where when a pattern loops that you are recording (playing) into it will leave the original note data, but when you “punch-in” (play) new notes into the pattern it will overwrite any existing note data on the current line with the new note data you are playing. This is particularly useful for folks who can’t play very well (that would be me) but still like to play notes in live.
So the pattern loops and will leave your original note data, but will overwrite any existing notes as they are played into the pattern instead of constantly adding notes to the column. See:
Cakewalk had this in the 90’s… I’m still waiting for it Renoise! Cater to guys that probably shouldn’t be playing live because their timing and technique are too sloppy but still don’t want to give up and program the notes in!
You already can do that if this regards one note-column (simply disable chord mode and then just hit the escape key to toggle edit / play mode). Just test this part alone and you will find out soon why these kind of options are rather annoying than helpful.
This works for tape recorders because the original data on the track that is written is being erased before other note-data is written. Stuff in audio-applications that is being kept in the track from a previous recording only gets in your way and pulls you out of your concentration. As a bonus, you have to remove falsly placed notes manually afterwards.
I think you don’t understand what I mean, or you don’t play your notes in live, or you play very well and can do shots in one take.
While useful for playing in things like a beat, this is greatly needed for when users play piano, which is rarely done with one note at a time on a line. Usually, I’m playing chords, and there should be a way so that if I make a mistake while playing I shouldn’t have to stop the pattern and undo/edit. This is such a basic recording feature.
As far as the previously recorded note data getting in the way, with “punch-in” the old note data will be overwritten which will solve the problem. (That is the purpose of it). I will add that you shouldn’t presume that I (and many users) wouldn’t find this feature useful, because I used to use it all the time in cakewalk back in the day.
I realize that many renoise users concentrate on percussion, and there is somewhat little demand for real time recording of instruments like piano. However, it’s a glaring omission from the software. How can a software this polished not have count-in? Have you ever heard of a single workstation in the world not having count-in? I don’t mean to hijack this thread, but the fact is it’s not the undo feature thats lacking, it’s the way renoise handles real-time input of notes while playing in live.
In fairness, I think it’s a matter of the fact that Renoise only recently implemented the more accurate timing, and before that most jazz pianists couldn’t even consider using renoise as an option. I know there isn’t much demand for this because the user base predominantly isn’t interested, but for the folks who do play notes in live, (and especially folks like me who can’t do that very well) these featuers would make our life much easier. Think of how much easier it would be to use Renoise to make music in genres that don’t end in the word “CORE”. =)
I know inserting piano riffs aren’t the most easiest things to do in Renoise, i’ll grant you that. (I do that sideways on my master clavier).
I’m thinking in what way scripting could add a working solution for that.
You may already be speaking about this, but how about a feature to make Renoise clear whole row if there are new notes coming to it or alternatively destructively clearing the stuff on the go even if there are no new notes coming in (inserting silence when nothing is played)? These two combined with recording only to selected area might form a working solution (“record to selection only” -checkbox or some such).
I would also like count-in (and other meters for metronome, like 3/4 etc).