Page 2 of 3

Re: Tip: Automating a VST

Posted: Mon Nov 02, 2020 4:46 pm
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.

Re: EnvelopeBlock

Posted: Mon Nov 02, 2020 5:44 pm
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.

Re: EnvelopeBlock

Posted: Mon Nov 02, 2020 6:42 pm
by HerrFornit
has no effect here. Still freezed at startup. ;)
Settings.jpg
Settings.jpg (6.78 KiB) Viewed 14207 times

Re: EnvelopeBlock

Posted: Mon Nov 02, 2020 6:55 pm
by wde
Fixes.

Re: EnvelopeBlock

Posted: Thu Nov 05, 2020 6:34 pm
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.

Re: EnvelopeBlock

Posted: Fri Nov 06, 2020 5:34 pm
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...

Re: EnvelopeBlock

Posted: Sat Nov 07, 2020 10:59 am
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.

Re: EnvelopeBlock

Posted: Tue Nov 17, 2020 5:33 pm
by wde
Fix: Handle machine renaming.

Re: EnvelopeBlock

Posted: Sat Nov 21, 2020 1:38 pm
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.

Re: EnvelopeBlock

Posted: Sun Nov 22, 2020 10:40 am
by wde
0.7.7: Bug Fix.

0.7.9: Works better with MSE.

Re: EnvelopeBlock

Posted: Sun Dec 27, 2020 8:21 pm
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:

Re: EnvelopeBlock

Posted: Mon Dec 28, 2020 3:46 pm
by wde
Should work now in the latest MSE.

Re: EnvelopeBlock

Posted: Fri Feb 05, 2021 4:40 pm
by wde
Fixes.

Re: EnvelopeBlock

Posted: Fri Feb 05, 2021 5:55 pm
by Klangkulisse
WHAAAAT!? :o
I missed this spectacular improvement until right now.
Blows me away! :dance: :dance: :dance:

Re: EnvelopeBlock

Posted: Mon Apr 26, 2021 1:25 am
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.

Re: EnvelopeBlock

Posted: Sun May 02, 2021 12:23 pm
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

Re: Automation at last - this changes everything!

Posted: Sun May 16, 2021 9:45 am
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.

Re: Automation at last - this changes everything!

Posted: Sun May 16, 2021 12:19 pm
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.

Re: EnvelopeBlock

Posted: Sun May 23, 2021 11:58 am
by Joachip
Now it works!
Thank you! :dance:

Re: EnvelopeBlock

Posted: Thu Oct 07, 2021 2:14 pm
by wde
Envelope Block Machine 0.8.6
  • Ignore when recording (settings)
  • Tooltip, menu improvements
Edit: 0.8.8 Resize bug