Commit graph

5 commits

Author SHA1 Message Date
Olive Vaughn
ac846dc38f JMF playback, transparent graphics plane, macOS tsMuxeR
Wire up MAIN FEATURE to play playlist 00000 via JMF
Manager.createPlayer / prefetch / start. Clear the BD-J graphics
plane with AlphaComposite.Clear so the video plane shows through
during playback; redraw the menu on EndOfMediaEvent or Enter/Escape.

Claim exclusive key access through DVB EventManager so the player
firmware does not interpret arrow keys as transport controls.

Swap the Linux ELF tsMuxeR binary for the native macOS ARM64 build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-03 19:44:02 -04:00
Your Name
1b44001d44 hmm mayube revert this 2026-09-03 16:11:42 -04:00
4c270b744f Play feature under the menu; add mpv path; simplify VLC launch
Root causes found this session (all player-side, disc is valid -- bd_info
validates it and mpv plays the ISO's feature directly):

- Plain 'vlc <iso>' can't run ANY BD-J: system Java is 26, and libbluray's BD-J
  needs a JVM where System.setSecurityManager() works (<=21). run-vlc.sh pins
  mise Temurin 8, which is why it gets a menu at all.
- The BD-J VFS-cache 'error creating /tmp/libbluray-bdj-cache' flood is
  libbluray's SecurityManager.canWrite() denying the cache root while an Xlet
  context is active. Fixed by pointing TMPDIR at LIBBLURAY_CACHE_ROOT (buda
  root), which canWrite() allows unconditionally.
- Menu->playback failed with 'blurayReleaseVout: subpicture channel exists':
  VLC botches the background->playlist transition for an idle BD-J menu. Now the
  Xlet starts the feature immediately and draws the menu on top, so VLC stays in
  normal playing mode; MAIN FEATURE just hides the menu, any key brings it back,
  and the feature loops.

Also: drop the redundant tools/vlc-plugins swap (system VLC already ships the
bluray plugin), and add scripts/run-mpv.sh to play the feature with no BD-J/JVM
at all. Vendored the SDK helloworld sample for reference.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 16:25:42 -04:00
48c172cb80 Preview from BDMV folder so the BD-J menu Xlet actually loads
The disc structure, signed JAR, and video are all valid. The menu never
appeared because 'make run' opened the UDF .iso: libbluray's BD-J stack must
copy BDMV/JAR/00000.jar out of the image into /tmp/libbluray-bdj-cache before
the JVM can load it, and that write is refused by libbluray's BD-J
SecurityManager (usingUdf=true / no disc root). With no JAR mounted the Xlet
class isn't found (ClassNotFoundException: org.homebrew.MyXlet) and VLC falls
back to the raw playlist -> video, no menu.

Opening the build/disc BDMV folder instead lets libbluray read the JAR
directly, so the Xlet loads and the menu overlay runs. The ISO is still built
for burning; real players read the JAR from the disc filesystem directly.

- run-vlc.sh: default to build/disc, accept folder or .iso, add --bluray-menu
- Makefile: 'run' depends on the disc folder, not the ISO
- README: document the folder-vs-ISO libbluray caveat

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 14:57:31 -04:00
9c88b8f7f6 Base: BD-J Adjustments Blu-ray scaffold
Vendored BD-J SDK, tsMuxeR + local VLC plugins, ffmpeg asset generation,
and a signed BD-J Xlet menu (org.homebrew.MyXlet) authored into a UDF 2.50 ISO.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 14:47:05 -04:00