New Tool (2.8): Automasher

I mean 2 subsequent curves, that are different in shape, but have the same direction… like a stepped curve downwards followed by a linear line downwards.

Ah, yes, you’re right. :(

Though that looks more like a job for “alternate peak”… What if I add a way to configure a different shape for the even peaks?

Sounds good, flexibility all the way! :drummer:

edit:

generating envelopes seems slower on the newest update, takes a while compared to earlier versions? Using a points / line setting of 1, length of 16 with just one peak takes longer then I expect it to be, gets worse with bigger lengths obviously.

I’ve uploaded a new version on the tool page.

As discussed above, you can now configure a different shape for the alternate peaks:

3119 automasher-v5.2.png

(The lower part is hidden until you enable alternate peaks)

Also corrected a minor bug where some extra points were generated at the end of the curve.

cool! looks like you’ve got everything covered B) , what’s left?

Random curve, and randomize settings? The envelope’s from note’s idea?

Here, with these settings, it’s almost instant. Though I guess it depends on the computer. With a length of 32 I have a noticeable delay, maybe 1 second.

I will try another method for erasing (which is the most time consuming), but I’m not sure it will be faster…

I think I’ll do a separate tool window for all the “modify” options (multiply/divide and so on). The trigger on notes is a bit more challenging, and I’m not even sure which result I want exactly.

Edit: Actually, I just found a silly bug in the erasing code, which is much faster now. I will still try the other method, just in case.

I’m on a core 2 duo here, 4 gig ram… btw just had a bug pop up, trying to generate a shape when having the alternate peaks toggle enabled, but having both shape selection boxes in the alternate window turned ‘off’:

I’ve uploaded a new version, which should correct the speed problem. It also adds a new feature, the possibility to have a random progression instead of a step progression, where the origin, peaks and alternate peaks are randomly generated between two values.

Wow, the randomization really adds flavor to this tool, much quicker as well! :yeah:

Had a bug notice with it though, trying to generate an envelope with a length of 65, on one 64 length pattern (with no other patterns in the sequence list):

Mmm, changing the length to 64 in the tool, doesn’t get rid of the bug notice, so it probably is something else?
Ah, yes…resetting the phase back to 0.000 % fixes it, so something buggy going on with phase.

I don’t know how you fixed this, but pressing the ‘scissor’ icon in the automation editor cuts away everything present in the editor, maybe triggering this somehow with lua can speed things up even more?

Sounds good! A way to modify existing envelopes is something which I can see good use for, maybe the ‘trigger on notes’ concept fits better here?

The way Dblue’s tool works, but using the shapes selected in your tool, fit within consecutive note ranges, so automatically scaled to fit, auto cut-off at pattern borders (no spill to the next)?

Thanks for the bug report. I think I see where’s the problem.

I don’t think it’s possible to configure and trigger the cut/copy/paste operations from Lua, at least I haven’t seen anything in the API for it.

I’d like to reuse the shape selector already done, to avoid duplicating a lot of code. So it will probably be in the “Shaper” tool, not in the “Modifier”.

There will probably be two modes, since I really like the “unintended feature” of dblue’s tool (the ramp that lead to the note).

One thing though, the “trigger on note” feature will only use the first two shape parts, there won’t be alternate peaks (I really need to keep the code simple enough to be maintainable, and I don’t think alternate peaks would be really useful in this situation). I’ll try to keep the step and random progression, that could be interesting.

awesome!

I was jiggling some knobs and I got the following error:

  
Error Message: '/Users/dac514/Library/Preferences/Renoise/V2.8.0/Scripts/Tools/org.drakmaniso.Automasher.xrnx/main.lua' failed in one of its notifiers.  
Error Message: Please contact the author (drakmaniso | moussault.laurent@gmail.com) for assistance...  
Error Message: ./Shaper.lua:130: attempt to perform arithmetic on local 'scl' (a nil value)  
Error Message: stack traceback:  
Error Message: ./Shaper.lua:130: in function 'write_curve'  
Error Message: ./ShaperWindow.lua:173: in function 'on_write_pressed'  
Error Message: ./ShaperWindow.lua:689: in function <.><br>
<br>```

<br>
<br>
With the following parameters (?) every time I would click Write Curve, the error would happen.<br>
<br>
Attachment 3126 not found.<br>
<br>
-=-=-<br>
<br>
Suggestion: Can you return the key_handler to Renoise if nothing is captured? That way, I can do a CTRL+Z without having to click the Renoise window. Code to do so looks like this:<br>
<br>

[details="Click to view contents"]

```<br><br>
local kh = function (d, k) return self:key_handler (d, k) end -- Note the new return here<br>
-- ... Snip ...<br>
elseif key.modifiers == "control" and key.name == "y" then<br>
    renoise.song():redo ()<br>
else<br>
  return key -- Add this<br>
end<br>
-- ... Snip ...<br>
<br>```

[/details]

<br>
<br>
-=-=-<br>
<br>
Keep up the good work.</.>

I reported the same bug notice in the previous page, reset the phase slider to 0% and it will render a new envelope without the error.

Great tool, really enjoying using it. Will be following this one.

I’ve uploaded a new version (v5.4), that fixes the bug with phase reported by Jonas and Conner_Bw. It also adds an “Auto-update” feature, though it’s only workable for short curves. I might disable it for some higher settings later, or maybe I should just trust the user to do it?

Ah! Thanks for this! I was looking for a way to do it, and overlooked the part in the doc that talked about it. Fixed in the last version.

The strange thing is I had already mapped “control Z” to undo, so it should have worked before the change, unless you have it mapped to something else?

This tool is freakin awesome, cant wait to see what’s next.

FR, a slider that can simultaneously change the steepness of the of the 1st and 2nd curve, so something like the slider being at -25% would make the 1st curve shorter and the 2nd curve longer.

I’m on OS X.

You mapped “control” but the modifier on this platform is “command”

Thanks!

-=-=-

PS: I can still cause an error. (Different, but the same?)

Attachment 3128 not found.

Wow, awesome! Works like a charm here :)

Please trust the user, we’re all on different systems anyway, so what’s pushing on one machine, might be easily managed on another one. Maybe a ‘tool-tip’ warning, triggered when hovering with the mouse pointer above the auto-update toggle for a second, should explain the function and possible behaviors?

There was bug in the bug fix… :unsure:

This time it should work.

I had something like that in mind, unfortunately I can’t do it easily with my current code. I’ll add it on the to-do list, but don’t hold your breath… ^ ^

We really need some cross-platform wrapper to translate these keys to one generic key…

  
local key_modifier = key.modifier  
if key_modifier == 'command' or key_modifier == 'control' then  
 key_modifier = 'c-key'  
end  
  

At least they are a c-key on every platform :P