<div dir="ltr"><div>finished. It's not pretty, but it works. If people have more understanding of libbluray internals can go through this and learn from what I did, perhaps would be able to get support for a new class of menus.<br><br></div>This implementation of havi draws strong inspiration from xletview <a href="https://xletview.sourceforge.net/">https://xletview.sourceforge.net/</a> - which is under the GPL so perhaps not directly mergable even if the code was perfect, with that said, the main inspiration from it was its usage of helper classes to manage the common navigation / activation patterns that many havi classes would have. perhaps if videolan reached out to the author he'd be ok with that concept being used as such in libbluray,<div><br>for those who want to experiment with it (or play the Seinfeld UHDs)<br><br><a href="https://code.videolan.org/spotter/libbluray/-/tree/merge">https://code.videolan.org/spotter/libbluray/-/tree/merge</a></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Jan 10, 2026 at 11:11 PM Shaya Potter <<a href="mailto:spotter@gmail.com">spotter@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div>I've been trying to play the seinfeld UHD discs for a long time and they haven't worked. I either would get a screen that just showed the background for the menu, or no video rendering at all and just the seek bar scanning back and forth in vlc.<br><br></div>Now, one might not like this, but I decided to sit down with an AI editor and made some significant progress in fixing it, but I'm still blocked, but perhaps my discoveries can help people fix things better (or I can work on cleaning up the AI generated fixes).<br><br></div>The big thing is that this UHD discs depends heavily on HAVI code in a manner that was heavily unimplemented or not implemented correctly (or so I think, could be wrong).<br><br></div>1. A bunch HAVI widgets needed to be implemented (to provide buttons and the like).<br><br></div>2. needed to enable one to navigate amongst all these and focus them and activate them (not quite sure this is working, but it does do stuff). This also involved key handling <br><br></div>3. needed to work on rendering them correctly (it seems the components weren't painting their children).<br><br></div>4. more work on rendering dealt with rectangles coordinates and translation between coordinate systems amongst children and parents.<br><br></div>5. offscreen images weren't being handled correctly in havi<br><br></div>7. was getting a null pointer exception due to TVTimer not really being implemented<br><br></div>I'm currently stuck in 2 probably related ways.<br><br></div>1) if I don't have resume data, it just loads a background image with a single havi component and seems to xlet die without any real message (I see jar timeout errors, but unsure that has anything to do with it)<br><br></div>2. similarly if I do have resume data and it can now render the resume yes/no screen (due to havi work I did), it then dies similarly when I try to do something (again, showing a jar timeout error, but I dont know if that has anything to do with it or not).<br><br></div>is the progress I've made so far valuable to anyone or can provide better than AI advice on how to proceed from here?<br><br></div>thanks.</div>
</blockquote></div>