EnvelopeBlock

wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: Tip: Automating a VST

Post by wde »

0.7.2

Fixes and stuff.
Joachip wrote: Sun Nov 01, 2020 10:34 am I think this feature might be on my wish list: That it works when more than one curve is visible. It should probably just pick the closest one.
Now if you click a curve it gets selected and you can use the ctrl-click (add) or shift-click (remove) even if there is multiple curves visible.
oskari wrote: Sun Nov 01, 2020 5:41 pm You should call Machine.SendControlChanges after SetValue to make buzz call CMachineInterface::Tick immediately. It might not work with old machines so you should check the machine interface version. See http://svn.jeskola.net/buzzgui/BuzzGUI. ... meterVM.cs
Cool, copied the logic to EB. Seems to work at least with Qsamo and Tethys.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: EnvelopeBlock

Post by rav »

Looks fabulous, but every automations stops working here now :(
wde wrote: Sat Oct 31, 2020 5:05 pm - automatic unfreez. maybe a setting option for it - manual/automatic
Add EnvelopeBlock to your project and go to View -> Settings. You can adjust some of these now.
I don't see any difference with checked or unchecked this setting.
wde wrote: Sat Oct 31, 2020 5:05 pm - possibility to edit/type value by rightclick on point for example
Please add a little bit wider textbox or auto scalable, because some automation e.g. from polac adapter have 5 digit values
wde wrote: Sat Oct 31, 2020 5:05 pm When you grab a "node" and move it around, it loses its track of the mouse pointer if you accidentally move the pointer outside the pattern. I don't think it should lose track of the mouse until you release the left button.
It works ok on the left and right side of the pattern, but not on up or bottom.
wde wrote: Mon Nov 02, 2020 4:46 pm Now if you click a curve it gets selected and you can use the ctrl-click (add) or shift-click (remove) even if there is multiple curves visible.
Not possible to add point when automation line is highlighted.
User avatar
HerrFornit
Posts: 435
Joined: Sat Feb 25, 2017 12:27 pm
Location: Dortmund
Contact:

Re: EnvelopeBlock

Post by HerrFornit »

has no effect here. Still freezed at startup. ;)
Settings.jpg
Settings.jpg (6.78 KiB) Viewed 14177 times
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

Fixes.
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

Updated. Small fixes.

I tried to fire parameter changes from Work() to make it more accurate but that seems to cause issues. Something hangs in SetValue. Maybe not a good idea to do this in audio thread and stress the call too much. Anyways Timer seems to work fine.

Also target machine sliders may "twitch" when sending new values. Debugging and recording shows that the values are correct so might be just UI thing.
User avatar
UNZ
Posts: 808
Joined: Mon Nov 21, 2011 9:42 pm
Contact:

Re: EnvelopeBlock

Post by UNZ »

wde wrote: Thu Nov 05, 2020 6:34 pm I tried to fire parameter changes from Work() to make it more accurate but that seems to cause issues. Something hangs in SetValue. Maybe not a good idea to do this in audio thread and stress the call too much.
this should work i think, at least in native machines it does, but you might want to wait for PosInTick / PosInSubTick == 0. Also make sure you batch stuff right, as in, calling sendcontrolchanges before calling setvalue for the same parameter again. something like:

Code: Select all

if posinsubtick==0
 for each param in batchedparams
 setvalue()
 sendcontrolchanges()
 next
end if
Don't think timers are a good idea...
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

UNZ wrote: Fri Nov 06, 2020 5:34 pm this should work i think, at least in native machines it does, but you might want to wait for PosInTick / PosInSubTick == 0. Also make sure you batch stuff right, as in, calling sendcontrolchanges before calling setvalue for the same parameter again.
Great suggestion, thanks! Timers are gone in the new version. There is now new setting called 'UpdateRate' and by default the update rate is every subtick. This can be set to tick if you need lower resolution.

I still ran into trouble using 'Work' but calling setvalue from 'MasterTap' seems to be the way to go in this specific use case in managed machines.

Edit: 'Copy All' crash fix. src updated.
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

Fix: Handle machine renaming.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: EnvelopeBlock

Post by rav »

I found interesting bug. Adding EnvelopeBlock as first machine in sesion makes buzz crash always when hitting play transport. Adding any other gen, fx or peer machine as first machine and then envblock works as expected.
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

0.7.7: Bug Fix.

0.7.9: Works better with MSE.
User avatar
Joachip
Posts: 352
Joined: Mon Nov 21, 2011 7:21 pm
Contact:

Re: EnvelopeBlock

Post by Joachip »

I just tried this again, and it's great!

There's still a tiny little oddity that feels a bit like a bug: The automation curve points don't understand what the mouse is doing if the pattern below is selected. Could this be addressed somehow?

Like, the 2nd automation from the top here can't be reached because it sits above a selected pattern:
Attachments
envblock_selected_pattern.png
envblock_selected_pattern.png (38.95 KiB) Viewed 13596 times
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

Should work now in the latest MSE.
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

Fixes.
User avatar
Klangkulisse
Posts: 304
Joined: Tue Nov 22, 2011 12:20 am
Location: ••• Düsseldorf ••• Made of Light

Re: EnvelopeBlock

Post by Klangkulisse »

WHAAAAT!? :o
I missed this spectacular improvement until right now.
Blows me away! :dance: :dance: :dance:
River Cricket
Posts: 136
Joined: Sat Dec 20, 2014 6:53 am

Re: EnvelopeBlock

Post by River Cricket »

wde, you're just absolutely killing it, Buzz is so, so lucky to have your energies devoted to it right now.

One small quality-of-life improvement idea: When dragging a block, it'd be nice if the X-axis of the blocks immediately above and below it were "sticky", such that it was easy to end up with a straight vertical line. This would make it a bit easier to reposition blocks along the timeline without having to go back and type in the proper values afterwards. Of course, snapping might also be frustrating when trying to make tiny precise adjustments, so maybe use a modifier key when dragging or have a menu option to enable/disable.

(Actually, looking at it more, it might be nice if all blocks were sticky, not just the immediate above/below neighbors. Makes it easier to return to initial values. Something similar to how Audacity handles track boundaries)

Another idea would be the ability to shape curves logarithmically/exponentially. I could almost swear this had come up before and maybe it was a limitation in .NET or Buzz, but doesn't seem to be mentioned in this thread so maybe it was just one of my many vivid EnvBlock fantasies :D Anyway, it'd be nice if shift-dragging (or alt-dragging, either/or) on the line between two blocks would change the slope between those two blocks, with "linear" in the middle and nice and sticky so it's easy to get pure-linear, pure-log, pure-exp.
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

Good suggestions.
  • Snap to previous, current, next. Press ctrl to ignore.
  • 'Logarithmic Param Value' option. Basically changes scale to logarithmic before sending to target machine.
  • Fixes
River Cricket wrote: Mon Apr 26, 2021 1:25 am One small quality-of-life improvement idea: When dragging a block, it'd be nice if the X-axis of the blocks immediately above and below it were "sticky", such that it was easy to end up with a straight vertical line. This would make it a bit easier to reposition blocks along the timeline without having to go back and type in the proper values afterwards. Of course, snapping might also be frustrating when trying to make tiny precise adjustments, so maybe use a modifier key when dragging or have a menu option to enable/disable.

(Actually, looking at it more, it might be nice if all blocks were sticky, not just the immediate above/below neighbors. Makes it easier to return to initial values. Something similar to how Audacity handles track boundaries)

Another idea would be the ability to shape curves logarithmically/exponentially. I could almost swear this had come up before and maybe it was a limitation in .NET or Buzz, but doesn't seem to be mentioned in this thread so maybe it was just one of my many vivid EnvBlock fantasies :D Anyway, it'd be nice if shift-dragging (or alt-dragging, either/or) on the line between two blocks would change the slope between those two blocks, with "linear" in the middle and nice and sticky so it's easy to get pure-linear, pure-log, pure-exp.
Edit:
  • Snap to current also vertically
  • Should not block UI when using SubTick accuracy
User avatar
Joachip
Posts: 352
Joined: Mon Nov 21, 2011 7:21 pm
Contact:

Re: Automation at last - this changes everything!

Post by Joachip »

Okay, maybe I'm dement, but I just installed Buzz on a new PC, and decided to give EnvelopeBlock a spin, and I ran into the problem with the missing right-click menu again:

Image
Left side of screenshot: Yours. | Right side of screenshot: Mine.

So I read my own comments in here which seem to suggest it's something about "freeze", but I totally can't figure it out. I still only get the old buzz context menu which lacks the automation stuff. What am I missing? :?:

I think I need to write a really good thorough guide on how to get from clean Buzz to having both ModernSeq & EnvBlock installed and available, so that the automation curves can be accessed. I'll gladly write this guide on the wiki once i figure this out again.
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: Automation at last - this changes everything!

Post by wde »

Joachip wrote: Sun May 16, 2021 9:45 am I still only get the old buzz context menu which lacks the automation stuff. What am I missing? :?:
I did some changes to MSE, so update it and see if that helps.
User avatar
Joachip
Posts: 352
Joined: Mon Nov 21, 2011 7:21 pm
Contact:

Re: EnvelopeBlock

Post by Joachip »

Now it works!
Thank you! :dance:
wde
Posts: 332
Joined: Sun Jan 08, 2012 9:28 am

Re: EnvelopeBlock

Post by wde »

Envelope Block Machine 0.8.6
  • Ignore when recording (settings)
  • Tooltip, menu improvements
Edit: 0.8.8 Resize bug
Post Reply