No description
Find a file
2026-09-03 16:11:42 -04:00
docs Base: BD-J Adjustments Blu-ray scaffold 2026-08-25 14:47:05 -04:00
scripts Play feature under the menu; add mpv path; simplify VLC launch 2026-08-25 16:25:42 -04:00
src/org/homebrew hmm mayube revert this 2026-09-03 16:11:42 -04:00
tools Base: BD-J Adjustments Blu-ray scaffold 2026-08-25 14:47:05 -04:00
vendor/bdj-sdk Play feature under the menu; add mpv path; simplify VLC launch 2026-08-25 16:25:42 -04:00
.gitignore Base: BD-J Adjustments Blu-ray scaffold 2026-08-25 14:47:05 -04:00
Makefile Preview from BDMV folder so the BD-J menu Xlet actually loads 2026-08-25 14:57:31 -04:00
mise.toml Base: BD-J Adjustments Blu-ray scaffold 2026-08-25 14:47:05 -04:00
README.md Play feature under the menu; add mpv path; simplify VLC launch 2026-08-25 16:25:42 -04:00

Adjustments Blu-ray

BD-J scaffold for the off-beat dark comedy Adjustments.

Tooling

  • mise pins Temurin JDK 8 for legacy BD-J bytecode.
  • vendor/bdj-sdk contains the BD-J Linux SDK pieces used for signing, template BD-J metadata, stubs, and UDF ISO generation.
  • tools/tsmuxer/tsMuxeR authors the generated elementary streams into a Blu-ray playlist, clipinfo, and .m2ts.
  • tools/vlc-plugins can hold project-local Arch VLC Blu-ray plugins when the system VLC package is split and vlc-plugin-bluray is not installed.
  • ffmpeg generates the temporary feature clip.
  • vlc opens 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.