scaredyfish / blender-rhubarb-lipsync

Blender Rhubarb Lipsync is an addon for Blender integrating Rhubarb Lip Sync to automatically generate mouth-shape keyframes from a pose library.
187 stars 33 forks source link

Don't run rhubarb on every generation #22

Closed theblooopz closed 3 years ago

theblooopz commented 3 years ago

It should only run rhubarb if the audio or script file has changed. Otherwise, it should just update the key frames etc. based on the last rhubarb output.

scaredyfish commented 3 years ago

This would add extra complexity, and I'm not sure there's a huge benefit. Could you explain what you think the use-case for this is?

theblooopz commented 3 years ago

Obviously because running rhubarb is CPU heavy and if you need the keyframes again or to overwrite something that you did already then you won't have to wait for the CPU heavy process just to place the keyframes in the appropriate spot based on the output that was already provided. It's puzzling why you wrote the code in such a way that would make this addition add "complexity." It just seems like something obvious anyone would do. You don't set up a button to run a CPU heavy process every time it is pressed if all it needs really is data if that data is already available. It's common practice to cache data like.

Honestly, why did you do it this way? It's perplexing. It makes no sense.

scaredyfish commented 3 years ago

Every feature adds complexity.

If you're finding yourself running the same operation on the same data enough times to make it a problem, I suggest the problem is in your workflow.

I have no plans to implement a cache for Rhubarb's output at this time. If a compelling use-case is presented I will reconsider.

theblooopz commented 3 years ago

You can just say "I don't feel like doing it" and that would be good enough. You don't have to pretend like this isn't standard practice and there's no good reason for it.

scaredyfish commented 3 years ago

I'm quite happy to accommodate reasonable requests, all I want is a use-case for why anyone would need to run this tool multiple times on the same data. I don't require commentary on what is standard practice, or what is puzzling or perplexing.

This is a tool I made in my free time, and provided for free, so yeah, I don't feel like doing it if you're not going to make the minimal effort to explain what kind of workflow would benefit from this change.