Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make automation of some basic processing parameters by key frames. #119

Open
bouncyball-git opened this issue Oct 23, 2018 · 9 comments
Open
Labels
enhancement later maybe Changes which can't be done now, but are a future wish

Comments

@bouncyball-git
Copy link
Collaborator

I thought about this long while ago. What if make in time automation of some basic processing parameters like exposure, light/dark range (maybe gradient stuff also) by interpolating value between keyframes (over actual frames).

I know it won't be easy but we could try :)

@masc4ii
Copy link
Collaborator

masc4ii commented Oct 23, 2018

I also thought about that. But this is indeed a monster task. First we need a kind of keyframe editor, then we need a data structure to save all those keyframes. Keyframes may be different for each parameter... and so on...
One little thing could make it a little easier: there is a Qt Automation class, which does linear interpolation between 2 values on one parameter. But I think, this is the easiest thing in this task.
For linear gradient this would be sooo cool 😄

@bouncyball-git
Copy link
Collaborator Author

Yea, we could start with one parameter without key frame editor only with simple structure for now to test.

@masc4ii
Copy link
Collaborator

masc4ii commented Oct 23, 2018

It will also dramatically drop framerate. Because all matrices will be calculated for each frame within the animation.
In ReceiptSettings.cpp all members should be QVector<....> and all public functions should get a frame parameter.
Oh man... but then we should get the same problem as with the "Save on Quit" thing: if the code changes a parameter, it is the same as the user changes it (with the current strategy) -> nobody nows the reason for a parameter change. We would have to invent a completely new parameter input and update strategy... sh**. And if doing so, we should first implement Undo and Redo. I saw some examples in Qt which I did not understand at all... hahaha.

@bouncyball-git
Copy link
Collaborator Author

Yeah... u r absolutely right. At least we could do key frame processing optional during playback.

@bouncyball-git
Copy link
Collaborator Author

QVector type array also quite slow right?

@masc4ii
Copy link
Collaborator

masc4ii commented Oct 23, 2018

I really think this would be MLVApp 2.0 - This should not really be possible with current archtecture and strategy. When I started I did not think about something like this could ever happen 😄

Really better would be here to start at zero - with all our knowledge we got in the last months.
Edit: and someone who really knows creating good software objects architecture...

QVector should not be slower then something else - I don't expect a problem there.

@bouncyball-git
Copy link
Collaborator Author

and someone who really knows creating good software objects architecture...

Think it's all said already. We so many times told people on forum to join us but, alas...
If someone wants job to be done he/she should do it him/herself ;)

@ilia3101
Copy link
Owner

I remember dreaming of this about a year ago. Maybe for 2.0 then ;)

@bouncyball-git
Copy link
Collaborator Author

Nice to hear that we all have the same vision and desires 😀

@masc4ii masc4ii added the later maybe Changes which can't be done now, but are a future wish label Oct 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement later maybe Changes which can't be done now, but are a future wish
Projects
None yet
Development

No branches or pull requests

3 participants