Files
ten31-transcripts/project.yml
T
Grant Gilliam fd7e1a5907 Phase 1: dual-track audio capture → mixed-mono 16 kHz WAV + mic VAD
AudioRecorder captures system audio (ScreenCaptureKit) + mic (AVAudioEngine) on a
single serial ioQueue, one shared monotonic t0, time-driven writers (pad gaps /
trim overlaps) so tracks stay aligned, and an energy mic-VAD for 'self' spans.
AudioMixer sums the aligned tracks into mixed_mono_16k.wav. SessionController
drives a serialized start/stop state machine, writes the session folder +
self_vad.json, exposes live level meters, and finalizes on quit.

Hardening from review: ioQueue single-domain (no races), stop() never hangs
(mic-first teardown + bounded stopCapture), layout-agnostic mic deep-copy,
discard-only video output to keep SCStream alive, VAD lockstep on committed
frames, stable signing team in project.yml, single-instance enforcement.
2026-06-05 21:30:11 -05:00

52 lines
1.5 KiB
YAML

name: Ten31Transcripts
options:
bundleIdPrefix: xyz.ten31
deploymentTarget:
macOS: "13.0"
createIntermediateGroups: true
groupSortPosition: top
settings:
base:
MARKETING_VERSION: "0.1.0"
CURRENT_PROJECT_VERSION: "1"
SWIFT_VERSION: "5.0"
CODE_SIGN_STYLE: Automatic
# Grant's free personal team (cert OU). Baked in so `xcodegen generate` keeps
# a STABLE signing identity across regenerations — macOS ties TCC permission
# grants (Mic / Screen Recording / Accessibility) to this identity, so a
# stable team is what makes those permissions persist across rebuilds.
DEVELOPMENT_TEAM: "BK4Y6CXN35"
targets:
Ten31Transcripts:
type: application
platform: macOS
sources:
- path: Ten31Transcripts
settings:
base:
PRODUCT_NAME: Ten31Transcripts
PRODUCT_BUNDLE_IDENTIFIER: xyz.ten31.transcripts
INFOPLIST_FILE: Ten31Transcripts/Support/Info.plist
CODE_SIGN_ENTITLEMENTS: Ten31Transcripts/Support/Ten31Transcripts.entitlements
GENERATE_INFOPLIST_FILE: NO
ENABLE_HARDENED_RUNTIME: NO
MACOSX_DEPLOYMENT_TARGET: "13.0"
scheme:
testTargets:
- Ten31TranscriptsTests
Ten31TranscriptsTests:
type: bundle.unit-test
platform: macOS
sources:
- path: Ten31TranscriptsTests
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: xyz.ten31.transcripts.tests
GENERATE_INFOPLIST_FILE: YES
dependencies:
- target: Ten31Transcripts