steveway / papagayo-ng

Papagayo is a lip-syncing program designed to help you line up phonemes (mouth shapes) with the actual recorded sound of actors speaking. Papagayo makes it easy to lip sync animated characters by making the process very simple - just type in the words being spoken (or copy/paste them from the animation's script), then drag the words on top of the sound's waveform until they line up with the proper sounds.
http://steveway.github.io/papagayo-ng/
19 stars 3 forks source link

Unable to exit Breakdown without forced close #24

Closed Hunanbean closed 3 years ago

Hunanbean commented 3 years ago

When you press Breakdown to alter a word, you are locked in to the Breakdown window. Even after you go through the whole phrase, or hold cancel, or hold Esc, or keep pressing F4. The only way i have found to exit the Breakdown window is to open Task Manager on windows 10 and force close the whole application.

Thank you

Hunanbean commented 3 years ago

Additional information: If you click on an individual word, you do not get locked in to Breakdown. If you press the Breakdown button, you have the issue. Turns out, you can alt-F4 out, but you have to hold it down.

steveway commented 3 years ago

If I understand correctly then you do mean for example if you want to run the breakdown on a text with some unknown words. It will then pop up the Pronuncation Dialog for every unknown word as it goes along. But instead of entering the missing phonemes you want to stop the process? If so, then there is already a fix for that in Version 1.6.3! I actually added this feature earlier today in commit: 850920d8fff34d4f5f81235aaf7702b6770e2fa1 You can see the new Pronunciation Dialog with the stop button here: new_pronunciation

Hunanbean commented 3 years ago

Unfortunately, the stop button did not allow the procedure to be ended. It still kept me in the loop, and after holding down alt-f4, or then esc, it seemed to crash out entirely. Great coincidental timing though!

Thank you

p.s. Thank you for the credit on the About page! :)

Hunanbean commented 3 years ago

Further information. It is generally asking me to Breakdown a number, such a 0 or 480 or 960 (may not be those exact numbers) instead of words. It works on individual words. This is when pressing the Breakdown button.

Ok.. I see what is happening. When you press the large Breakdown button, it is going through the phonemes and timestamps that have been automatically populated into the spoken text window.

It works great on individual words from the Waveform window.

Thank you

Hunanbean commented 3 years ago

Just making sure i was able to clearly relay what was happening. Please let me know if a video is required.

Thank you

steveway commented 3 years ago

Yes, maybe that might help. I'm not sure I understand. The new Stop Button in the breakdown Window stops the whole breakdown process for me.

Hunanbean commented 3 years ago

This issue does not affect the CLI version. This issue does not occur if breaking down individual words, only when using the main Breakdown button. Sorry for the quick clicking

https://user-images.githubusercontent.com/52123900/130261520-5e983a65-46a9-49a7-bc1c-6a5b76bfb697.mp4

steveway commented 3 years ago

I see, so I likely already fixed it if it doesn't happen in the CLI version. I'd have to look in my commit history but I'm sure it's there somewhere.

Hunanbean commented 3 years ago

Indeed. So at this point, i guess just a reference to make sure it doesn't get reintroduced.

steveway commented 3 years ago

I will close this Issue for now since the problem seems to be fixed. And it should not re-appear.

Hunanbean commented 3 years ago

Unfortunately, this problem has returned. On the plus side, the 1.6.5 update is amazing! the recognition is working great, and i do not need to add silence at the end of the audio anymore. Also, the zoom issue seems resolved!

Thank you

steveway commented 3 years ago

Alright, I think I finally fixed this with this commit: https://github.com/steveway/papagayo-ng/commit/f9947bf5763aad385cb269b32ae4acfbd11be7ef

Hunanbean commented 3 years ago

Although it does now exit, it removes any previously recognized conversion. Meaning, if i begin a breakdown, then decide to press stop, anything that Allosaurus had previously placed/converted/recognized is now erased. You then have to hit the Voice Recognition button to have it run again to get the phrase conversion back.

steveway commented 3 years ago

Yeah, that's the current behaviour, most actions are destructive. As a quick test I created new methods which are modified from the .pg2 saving, but they save and load from strings instead of to files. So before breakdown I save it to a string containing the Project Data in the .pg2 Json Format. And if we get a return value of -1 from the breakdown (when we tell it to stop) we load that saved project. Restoring is a bit slow since it does reload everything, but it seems to work. I guess we can use these methods to also implement undo and redo. For that we have to locate all places which modify the project, save the project to a string and add it to an Undo list. And when Undoing or Redoing we load the appropiate project string from that list.