| 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.