← Commit history

README: install via Adom Bridge, not a manual download (not yet notarized); optional Developer ID signing in build-release

anastasia ·312a05e0cc ·10d ago ·parent e2a04f4
2 files changed +15−1
README.md+4
@@ -6,6 +6,8 @@ Let the AI in Hydrogen edit video in **Adobe Premiere Pro** on your desktop: imp  ## Install +> **Don't download the release zip by hand.** It's the runtime Adom Bridge fetches for you. Opened directly from a browser download, macOS blocks it ("Apple could not verify it is free of malware") because this first release isn't notarized yet. Install it through Adom Bridge as below; that copy isn't quarantined and runs normally.+ From any Hydrogen container connected to your desktop:  ```bash@@ -54,6 +56,8 @@ Security: the bridge binds to 127.0.0.1 only. It rejects non-JSON and non-POST r  ## Known limits +- The macOS binary is ad-hoc signed, not yet Developer ID signed and notarized. Installing through `bridge_install` works; a manual browser download is blocked by Gatekeeper.+ - Premiere's frame exporter doesn't evaluate keyframes *between* two keys, so a mid-fade frame shows the before/after state. `premiere_monitor_snapshot` shows what Premiere actually displays. - UXP has no audio transitions; fade audio with volume keyframes instead (`premiere_audio_fade`). - Clip speed, adding tracks, and the true razor need the CEP helper, which loads the next time Premiere starts after `premiere_install_plugin`.
scripts/build-release.sh+11−1
@@ -10,6 +10,16 @@ SLUG=premiere-bridge ZIP="adom-bridge-premiere-macos-v$VER.zip" URL="https://wiki.adom.inc/download/adom/$SLUG/$VER/$ZIP" MURL="https://wiki.adom.inc/api/v1/pages/$SLUG/files/adom-bridge-premiere-manifest-macos.json"-CMD="cd ~/adom-dev/premiere-bridge && rm -rf dist && mkdir -p dist/stage && cp target/release/premiere-bridge bridge.json launcher.py dist/stage/ && cd dist/stage && zip -q -X ../$ZIP premiere-bridge bridge.json launcher.py && cd .. && rm -rf stage && SHA=\$(shasum -a 256 $ZIP | cut -d' ' -f1) && SIZE=\$(stat -f%z $ZIP) && printf '{\n  \"manifest_version\": 1,\n  \"name\": \"premiere\",\n  \"version\": \"$VER\",\n  \"url\": \"$URL\",\n  \"sha256\": \"%s\",\n  \"size\": %s,\n  \"platform\": \"darwin-arm64\",\n  \"verbPrefixes\": [\"premiere_\"],\n  \"healthEndpoint\": \"/health\",\n  \"updateManifestUrl\": \"$MURL\",\n  \"released_at\": \"%s\"\n}\n' \$SHA \$SIZE \$(date -u +%Y-%m-%dT%H:%M:%SZ) > adom-bridge-premiere-manifest-macos.json && unzip -l $ZIP && cat adom-bridge-premiere-manifest-macos.json"+# Optional Developer ID signing + notarization (needs Adom's Apple team cert in the keychain+# and a notarytool keychain profile):+#   SIGN_ID="Developer ID Application: Adom Inc. (B22GYTS2NN)" NOTARY_PROFILE=adom-notary scripts/build-release.sh+SIGN=""+if [[ -n "${SIGN_ID:-}" ]]; then+  SIGN="codesign --force --options runtime --timestamp -s \"$SIGN_ID\" premiere-bridge && codesign -v --strict premiere-bridge && "+  if [[ -n "${NOTARY_PROFILE:-}" ]]; then+    SIGN+="ditto -c -k premiere-bridge ../notarize.zip && xcrun notarytool submit ../notarize.zip --keychain-profile \"$NOTARY_PROFILE\" --wait && rm ../notarize.zip && "+  fi+fi+CMD="cd ~/adom-dev/premiere-bridge && rm -rf dist && mkdir -p dist/stage && cp target/release/premiere-bridge bridge.json launcher.py dist/stage/ && cd dist/stage && $SIGN zip -q -X ../$ZIP premiere-bridge bridge.json launcher.py && cd .. && rm -rf stage && SHA=\$(shasum -a 256 $ZIP | cut -d' ' -f1) && SIZE=\$(stat -f%z $ZIP) && printf '{\n  \"manifest_version\": 1,\n  \"name\": \"premiere\",\n  \"version\": \"$VER\",\n  \"url\": \"$URL\",\n  \"sha256\": \"%s\",\n  \"size\": %s,\n  \"platform\": \"darwin-arm64\",\n  \"verbPrefixes\": [\"premiere_\"],\n  \"healthEndpoint\": \"/health\",\n  \"updateManifestUrl\": \"$MURL\",\n  \"released_at\": \"%s\"\n}\n' \$SHA \$SIZE \$(date -u +%Y-%m-%dT%H:%M:%SZ) > adom-bridge-premiere-manifest-macos.json && unzip -l $ZIP && cat adom-bridge-premiere-manifest-macos.json" python3 -c 'import json,sys; print(json.dumps({"command":sys.argv[1],"reason":"Build the Premiere bridge release zip and manifest","timeoutSeconds":120}))' "$CMD" \   | adom-bridge shell_execute "$(cat)" | python3 -c 'import json,sys; d=json.load(sys.stdin); print(d.get("stdout","")); print(d.get("stderr",""))'