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> |
||
|---|---|---|
| docs | ||
| scripts | ||
| src/org/homebrew | ||
| tools | ||
| vendor/bdj-sdk | ||
| .gitignore | ||
| Makefile | ||
| mise.toml | ||
| README.md | ||
Adjustments Blu-ray
BD-J scaffold for the off-beat dark comedy Adjustments.
Tooling
misepins Temurin JDK 8 for legacy BD-J bytecode.vendor/bdj-sdkcontains the BD-J Linux SDK pieces used for signing, template BD-J metadata, stubs, and UDF ISO generation.tools/tsmuxer/tsMuxeRauthors the generated elementary streams into a Blu-ray playlist, clipinfo, and.m2ts.tools/vlc-pluginscan hold project-local Arch VLC Blu-ray plugins when the system VLC package is split andvlc-plugin-blurayis not installed.ffmpeggenerates the temporary feature clip.vlcopens the resulting ISO.
Commands
make bootstrap
make
make inspect
make run
The ISO is written to:
build/adjustments.iso
make run previews the disc by pointing VLC's Blu-ray access module at the
build/disc BDMV folder (a real player reads the same tree from the ISO):
vlc --bluray-menu bluray:///absolute/path/to/build/disc
BD-J cache note: to load the menu Xlet, libbluray copies the disc's JAR and
fonts into a VFS cache under java.io.tmpdir (default
/tmp/libbluray-bdj-cache). Its BD-J SecurityManager.canWrite() allows writes
under the buda/persistent roots unconditionally, but only allows the VFS cache
root when no Xlet context is active on the calling thread -- and that extraction
frequently runs while a context is active, so the write is denied and you see
a flood of error creating .../libbluray-bdj-cache followed by the Xlet failing
to load (no menu). scripts/run-vlc.sh fixes this by pointing TMPDIR at the
same directory it gives libbluray as LIBBLURAY_CACHE_ROOT (the buda root), so
the cache path is always writable. This is a libbluray/VLC runtime quirk, not a
defect in the authored disc.
The initial menu is a Java Xlet overlay with a few bonus-feature placeholders
and a hidden menu stub. The actual generated video is a short ffmpeg SMPTE bars
pattern with AC-3 audio, authored as playlist 00000.