snuq / VSEQF

VSE Quick Functions Addon For Blender. Improve the Blender video editor with new workflows and functions.
154 stars 11 forks source link

Draw a volume curve #7

Closed tin2tin closed 4 years ago

tin2tin commented 4 years ago

Doesn't work for me(I'm in left select mode).

When pressing V the text in the header notifies me about the keyframe mode, but nothing happens when pressing(left mouse) and dragging - nothing is being drawn.

I can leave the mode with right click.

BTW. maybe this mode can be added to the sound strip context menu?

snuq commented 4 years ago

argh, ok, ive been fighting this issue a few times, i THINK i got it fixed now, give it a shot in the latest master. I also had the idea of adding it to the menu before, but I couldn't get it to work, managed to get it working now tho.

tin2tin commented 4 years ago

Yes, it drawing does work now.

Removing keypoints doesn't seem to have any effect?

Maybe a 'remove volume curve' in the menu would be nice - or in a context menu in the keyframe draw mode?

It would be super useful to draw while playing(so you can draw the curve ahead of the playhead), do you think it would be possible?

After drawing on a long strip, and then cutting it the curve of the parts is as long as the original strip: image

snuq commented 4 years ago

Removing keypoints doesn't seem to have any effect?

Removing points will remove the points under the cursor while you click and drag. depending on how many points are in the curve, you might have to drag over a section a couple times before you see a change in the drawn curve. Take a look at the graph editor and you should see the curve changing. Please let me know if its not working.

Maybe a 'remove volume curve' in the menu would be nice - or in a context menu in the keyframe draw mode?

Not a bad idea. I implemented a backspace/delete shortcut while in draw mode that clears and resets the curve. I dont know about the usefulness of putting it in a menu tho, you can already just click the volume variable and reset the curve there.

It would be super useful to draw while playing(so you can draw the curve ahead of the playhead), do you think it would be possible?

Ah, looks like blender is generating another event type that was breaking it (same problem as before) while playing back, i added that to the exceptions list and it should be drawable while playing back now.

After drawing on a long strip, and then cutting it the curve of the parts is as long as the original strip:

hmm, this is kindof intentional... i thought displaying the volume curve outside of the current strip would be helpful. seeing it in that context it does look a bit confusing, but imagine if you have a curve with two points, one at the start of the strip at volume 0, and one 50 frames after the strip end at volume 1. without drawing the points outside of the strip, you wouldnt see anything in that case. So, as a compromise, i made it only draw one keyframe outside of the draw range

tin2tin commented 4 years ago

Removing keypoints doesn't seem to have any effect?

Removing points will remove the points under the cursor while you click and drag. depending on how many points are in the curve, you might have to drag over a section a couple times before you see a change in the drawn curve. Take a look at the graph editor and you should see the curve changing. Please let me know if its not working.

Yes, it is working. I just didn't notice the small changes. Maybe the "clean up area"/"eraser tip" should be a bit larger, so you quickly could clean up a wider area? But that properly relates to the zoom level too? Btw. I noticed a new function to clean up unneeded keyframes was implemented recently, but I can't the name of it.

Maybe a 'remove volume curve' in the menu would be nice - or in a context menu in the keyframe draw mode?

Not a bad idea. I implemented a backspace/delete shortcut while in draw mode that clears and resets the curve. I dont know about the usefulness of putting it in a menu tho, you can already just click the volume variable and reset the curve there.

Maybe it would be simpler for people to learn about the reset curve function if it was below the Draw Volume Curve with a short cut.

It would be super useful to draw while playing(so you can draw the curve ahead of the playhead), do you think it would be possible?

Ah, looks like blender is generating another event type that was breaking it (same problem as before) while playing back, i added that to the exceptions list and it should be drawable while playing back now.

Ah, will have to check. Thank you. EDIT: Doesn't work here. Sorry.

After drawing on a long strip, and then cutting it the curve of the parts is as long as the original strip:

hmm, this is kindof intentional... i thought displaying the volume curve outside of the current strip would be helpful. seeing it in that context it does look a bit confusing, but imagine if you have a curve with two points, one at the start of the strip at volume 0, and one 50 frames after the strip end at volume 1. without drawing the points outside of the strip, you wouldnt see anything in that case. So, as a compromise, i made it only draw one keyframe outside of the draw range

I haven't worked in a DAW as much as you, so you know better.

BTW. love the way fades and drawn keyframes are working together.

snuq commented 4 years ago

Maybe the "clean up area"/"eraser tip" should be a bit larger, so you quickly could clean up a wider area?

the problem is, i definitely want it to be able to have single keyframe removing... not sure how to keep that and allow more frames to be removed from an area. I think at that point, it would be better to just redraw that spot, or clean up the curve in the graph editor.

Maybe it would be simpler for people to learn about the reset curve function if it was below the Draw Volume Curve with a short cut.

I dont understand what you mean by this. I added the shortcut to the info header.

Ah, will have to check. Thank you. EDIT: Doesn't work here. Sorry.

hmm, can you try using this version: VSEQF-Blender_2_81.zip

I added a few more timer exceptions, if it works ill commit the changes

tin2tin commented 4 years ago

Yes, drawing while playing works in that one ^. Thanks.

snuq commented 4 years ago

awesome!