Closed DanielSWolf closed 6 years ago
Hello) I have a I have a problem
Thanks for any help
@Sergmarshall: Please let me know what operating system and what exact version of Rhubarb you're using.
In addition, please do the following:
<rhubarb>/extras/EsotericSoftwareSpine
java -jar rhubarb-for-spine-<version>.jar
java.lang.UnsupportedOperationException at java.util.AbstractCollection.add(Unknown Source) at com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:267) at com.rhubarb_lip_sync.rhubarb_for_spine.SpineJson.createOrUpdateAnimation(SpineJson.kt:142) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.saveAnimation(AnimationFileModel.kt:96) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.access$saveAnimation(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:60) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:155) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:17) at com.rhubarb_lip_sync.rhubarb_for_spine.ToolsKt$runAndWait$$inlined$withLock$lambda$1.run(tools.kt:59) at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) at java.lang.Thread.run(Unknown Source)
Microsoft Windows [Version 10.0.14393] rhubarb-for-spine-1.7.1
I think I found the problem. If my understanding is correct, this error occurs if the JSON file doesn't contain at least one animation. As a quick workaround, create an empty dummy animation in Spine, re-export to JSON and try again.
Let me know if that fixes the problem. If so, I'll create a bugfix release.
I made some animations and everything is the same and with empty dummy animation
at java.util.AbstractCollection.add(Unknown Source) at com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:267) at com.rhubarb_lip_sync.rhubarb_for_spine.SpineJson.createOrUpdateAnimation(SpineJson.kt:142) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.saveAnimation(AnimationFileModel.kt:96) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.access$saveAnimation(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:60) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:155) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:17) at com.rhubarb_lip_sync.rhubarb_for_spine.ToolsKt$runAndWait$$inlined$withLock$lambda$1.run(tools.kt:59) at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) at java.lang.Thread.run(Unknown Source)
I'm afraid I can't reproduce the error you're getting. My guess is that there's either something unexpected in your JSON file, or your JVM behaves differently from mine.
Could you attach the Spine JSON file you're using, along with all images and sound files? Just create a ZIP file with the entire directory structure. This should help me reproduce the behavior you're getting.
Also, could you tell me the exact JVM version you're using? (Execute java -version
)
Hi,
Getting same error / stack trace too. OSX 10.13.4 Spine 3.7.1.4 rhubarb-for-spine-1.7.1.jar java version "9.0.4" Java(TM) SE Runtime Environment (build 9.0.4+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode) rhubarb_spine_test.zip
Thanks!
Apr 09, 2018 4:53:15 PM tornadofx.Stylesheet$Companion detectAndInstallUrlHandler INFO: Installing CSS url handler, since it was not picked up automatically WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by tornadofx.adapters.TornadoFXNormalTable$contentWidthField$2 (file:/Users/rich/Desktop/rhubarb_test/rhubarb-lip-sync-1.7.1-osx/extras/EsotericSoftwareSpine/rhubarb-for-spine-1.7.1.jar) to field javafx.scene.control.TableView.contentWidth WARNING: Please consider reporting this to the maintainers of tornadofx.adapters.TornadoFXNormalTable$contentWidthField$2 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release objc[4406]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fffab6ccc90) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x144edbcd8). One of the two will be used. Which one is undefined. java.lang.UnsupportedOperationException at java.base/java.util.AbstractCollection.add(AbstractCollection.java:267) at javafx.base/com.sun.javafx.collections.ObservableSetWrapper.add(ObservableSetWrapper.java:267) at com.rhubarb_lip_sync.rhubarb_for_spine.SpineJson.createOrUpdateAnimation(SpineJson.kt:142) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.saveAnimation(AnimationFileModel.kt:96) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel.access$saveAnimation(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:60) at com.rhubarb_lip_sync.rhubarb_for_spine.AnimationFileModel$$special$$inlined$map$lambda$1.invoke(AnimationFileModel.kt:15) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:155) at com.rhubarb_lip_sync.rhubarb_for_spine.AudioFileModel$startAnimation$wrapperTask$1$1.invoke(AudioFileModel.kt:17) at com.rhubarb_lip_sync.rhubarb_for_spine.ToolsKt$runAndWait$$inlined$withLock$lambda$1.run(tools.kt:59) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
Update: It works if in Spine you add the dialog text to the String property of the event (in setup mode). I thought this was optional so had left it out..
Thank you for the detailed information! I'll fix this as soon as I find some time. And, yes, the dialog text should be completely optional!
I found the problem! It is a bug in my code (as expected). The real mystery was why it works on my machine. Turns out it's a bug in the programming language that would make it work in some cases, when really it should always have failed. I'll have a fix ASAP.
I believe I've fixed the issue. @Sergmarshall, @rich-earth: Please replace the JAR file in your Rhubarb installation with the JAR file contained within the attached ZIP file. Let me know whether that fixes your problems! If so, I'll make an official bugfix release.
the plugin is working! thank you!
Thanks
When Rhubarb Lip Sync for Spine is run from a JAR file (as opposed to a .class file), it fails to determine its binary directory. This results in the generic error message "Error performing lip sync for event."
To fix this, a more robust may of determining the binary directory needs to be implemented.