pashkal / obs-video-scheduler

Library and web application for managing pre-recorded videos playbacks in Open Broadcaster Software broadcasts.
Apache License 2.0
62 stars 6 forks source link

Error thrown when attempting to use reschedule feature #7

Closed hindermyertim closed 3 years ago

hindermyertim commented 3 years ago

Hi I've been messing around testing this looking to see if this plugin will be suitable to use for an upcoming music marathon I'm organizing for a charity. So far it seems good but I've found an issue with the reschedule feature when attempting to set in a designated start time for a media clip. You can't get super exact with timing with the timeline so this ether that would need to be tightened up, or this feature would need to work to hard configure a start time for the next media file. Let me know if you need any more information.

Below is my output in the terminal. Also going to note once this happens, the timeline breaks. Even if I ctrl + c out of the program in the terminal, it is not functional again on start so I have been removing and reinstalling the program.

java.lang.NullPointerException: Cannot invoke "javax.json.JsonString.getString()" because the return value of "org.glassfish.json.JsonObjectBuilderImpl$JsonObjectImpl.getJsonString(String)" is null at org.glassfish.json.JsonObjectBuilderImpl$JsonObjectImpl.getString(JsonObjectBuilderImpl.java:257) at util.ScheduleEntry.fromJsonObject(ScheduleEntry.java:27) at util.DataProvider.getSchedule(DataProvider.java:94) at services.VideoLaunchService.run(VideoLaunchService.java:29) at java.base/java.lang.Thread.run(Thread.java:832) java.lang.NullPointerException: Cannot invoke "javax.json.JsonString.getString()" because the return value of "org.glassfish.json.JsonObjectBuilderImpl$JsonObjectImpl.getJsonString(String)" is null at org.glassfish.json.JsonObjectBuilderImpl$JsonObjectImpl.getString(JsonObjectBuilderImpl.java:257) at util.ScheduleEntry.fromJsonObject(ScheduleEntry.java:27) at util.DataProvider.getSchedule(DataProvider.java:94) at services.VideoLaunchService.run(VideoLaunchService.java:29) at java.base/java.lang.Thread.run(Thread.java:832) java.lang.NullPointerException java.lang.NullPointerException java.lang.NullPointerException java.lang.NullPointerException java.lang.NullPointerException

pashkal commented 3 years ago

Hey! Thanks for reporting.

I'd love to debug this issue.

Next time you see this error, please do the following:

As for precise timing: at the moment, this is intentional that videos are sticky to specific moments on the timeline. I will look into whether it can easily be changed to allow for more flexible timing.

pashkal commented 3 years ago

Actually never mind.

This change is fixing 'reschedule' functionality: https://github.com/pashkal/obs-video-scheduler/commit/f1a708848a0feb63ae4eb906d2bd39246376a66e

Note, however, that this button doesn't reschedule individual clip - it moves the whole timeline back and forth relative to the 'start' time, together with all the videos. This is a highly niche feature we needed when I was building this project. I'll explore how to make scheduling more flexible so that you could schedule videos more precisely.

I'll explore how to make the whole timeline more flexible, too.

pashkal commented 3 years ago

I will see if I can make timeline more flexible over the weekend, and if I do - I'll push changes and release a new version.

Can't promise anything yet though.

hindermyertim commented 3 years ago

Ok understood on the reschedule feature, I must have misunderstood the doc with that.

Feel free to let me know on any the timeline changes, I would be happy to help test!

gijoe2cool commented 3 years ago

I also just ran into this issue. I've also noticed that my scheduler places videos at the nearest minute, which is fine, but it's always off 29 seconds...

pashkal commented 3 years ago

Hey folks,

I've released 0.1.3 with reschedule bug fixed, and with the capability to stack videos one after another - no more precise timing yet, but from what I've heard on the OBS forum people mostly want it to be able to stack videos.

So, I think this issue is resolved - feel free to open a new one for a more flexible timing!