AVDash is a macOS app for local AV monitoring, video preview, audio routing experiments, hardware telemetry, and trusted remote hardware monitoring.
- macOS with Xcode command line tools installed.
- Xcode 26.3 is the currently tested build environment.
- The main macOS app target supports macOS 11.5 and later. Companion and widget targets have their own deployment targets in the Xcode project.
Resolve Swift packages and build the main app without signing:
xcodebuild \
-project PodcastPreview.xcodeproj \
-scheme PodcastPreview \
-configuration Release \
-destination 'platform=macOS' \
build \
CODE_SIGNING_ALLOWED=NOThe default public build uses only in-repository code and the pinned GRDB SwiftPM dependency. Direct-download builds with the full audio and FireWire feature set also need the signed sibling artifacts described below.
GitHub Actions runs this unsigned public build on every push and pull request so fresh-clone buildability is continuously checked.
Developer ID distribution is handled by:
Scripts/package_release_dmg.sh --cleanThis script is configured for the official signing owner by default. Override the following environment variables for other Apple Developer accounts or CI:
TEAM_IDDEVELOPER_ID_IDENTITYMAIN_PROFILE_NAMEMAC_WIDGET_PROFILE_NAMENOTARY_PROFILEBUILD_ROOT
Public downloads should be notarized. The packaging script now fails if
NOTARY_PROFILE is not set, unless --skip-notarize is passed for an
internal-only artifact.
Full direct-download releases can build, sign, stage, and bundle the local sibling payloads in one pass:
NOTARY_PROFILE=<your-notarytool-keychain-profile> \
Scripts/package_release_dmg.sh --clean --build-external-artifactsUse --include-external-artifacts instead when you intentionally want to
package an already-staged Artifacts/External/ directory. See
Artifacts/README.md for the expected layout.
External payloads are copied by Scripts/localise_external_artifacts.sh, which
verifies source signatures, preserves or reapplies per-artifact entitlements,
and signs copied code from the deepest nested bundle outward before the main app
is sealed.
The helper build scripts expect sibling checkouts by default:
AVCMETER_ROOT, defaulting to../AVCMeterFIREWIRE_NET_BRIDGE_ROOT, defaulting to../FireWireNetBridge
Scripts/stage_external_artifacts.sh writes those products under
Artifacts/External/ for packaging. Do not commit the staged signed artifacts
or private signing material.
Remote hardware monitoring advertises and browses Bonjour service
_ppremotehw._tcp. The app includes the required local-network privacy strings
in PodcastPreview/Info.plist.
This repository is released under the MIT License. See LICENSE and
THIRD_PARTY_NOTICES.md.