diff --git a/README.md b/README.md index bd03103..70ba407 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ $EDITOR .env ```bash # RTSP stream URL — one per camera (variable name matches camera name) -CAM_RTSP_sunrise=rtsp://admin:password@192.168.1.100:554/stream1 +CAM_RTSP_east=rtsp://admin:password@192.168.1.100:554/stream1 # Mattermost upload mattermost_url=https://your-mattermost.example.com diff --git a/daily_sunrise_video.sh b/daily_sunrise_video.sh index a338ebf..d5f15a9 100644 --- a/daily_sunrise_video.sh +++ b/daily_sunrise_video.sh @@ -168,7 +168,7 @@ fade_out=$(echo "scale=1; $SUNRISE_TARGET_SECS - 0.5" | bc) # ── Pick audio source ───────────────────────────────────────────────────────── audio_src="" -audio_offset="0" +audio_offset="0" # cam audio is pre-centred on sunrise; library files are trimmed to fit cam_audio="$image_dir/sunrise-audio.m4a" if [ "${AUDIO_ENABLED:-false}" = "true" ]; then diff --git a/install.sh b/install.sh index b343297..a43ec26 100755 --- a/install.sh +++ b/install.sh @@ -144,14 +144,15 @@ EOF done # ── Sunrise audio capture ───────────────────────────────────────────────────── -# Triggered at 03:00; waits internally until the right time before recording. +# Uses the same schedule as the sunrise video — both start early and wait +# internally for the right moment, so they don't interfere. if [ "${AUDIO_ENABLED:-false}" = "true" ]; then write_service "sky-cam-audio-capture" \ "$SUNRISE_CAM: sunrise audio capture" \ "sunrise-audio-capture.sh" write_timer "sky-cam-audio-capture" \ "$SUNRISE_CAM: sunrise audio capture" \ - "03:00:00" + "$SCHEDULE_SUNRISE" timers+=("sky-cam-audio-capture") fi @@ -166,7 +167,7 @@ for cam in "${CAMERAS[@]}"; do write_service "sky-cam-seasons-${cam}" \ "${cam}: Four Seasons daily clip" \ "4-seasons.sh ${cam}" \ - "After=network-online.target\nWants=network-online.target\n" + $'After=network-online.target\nWants=network-online.target\n' write_timer "sky-cam-seasons-${cam}" "${cam}: Four Seasons daily clip" \ "${!sched_seasons_var}" timers+=("sky-cam-seasons-${cam}") diff --git a/montage-mvt.sh b/montage-mvt.sh index 9fc08a1..49b7d7c 100755 --- a/montage-mvt.sh +++ b/montage-mvt.sh @@ -24,7 +24,7 @@ export TIMEZONE # make it visible to season_info.py subprocess # Args: [date] [camera-name] # Camera name: second argument overrides conf (passed through from 4-seasons.sh). -CAM_NAME="${2:-$CAM_NAME}" +CAM_NAME="${2:-$SUNRISE_CAM}" # ── Configuration ────────────────────────────────────────────────────────────── base_dir="$BASE_DIR" diff --git a/notify.sh b/notify.sh index 00086ce..8f580f9 100755 --- a/notify.sh +++ b/notify.sh @@ -52,7 +52,7 @@ fi # ── Mattermost text post ────────────────────────────────────────────────────── # mattermost_url and access_token come from sky-cam.conf (sourced above). -if [ "$MM_NOTIFY_ENABLED" = "true" ] && [ -n "$MM_NOTIFY_CHANNEL_ID" ]; then +if [ "$MM_NOTIFY_ENABLED" = "true" ] && [ -n "$MM_NOTIFY_CHANNEL_ID" ] && [ -n "${mattermost_url:-}" ] && [ -n "${access_token:-}" ]; then curl -s \ -H "Authorization: Bearer $access_token" \ -H "Content-Type: application/json" \ diff --git a/sunrise-audio-capture.sh b/sunrise-audio-capture.sh index 7cc3068..6dfff83 100755 --- a/sunrise-audio-capture.sh +++ b/sunrise-audio-capture.sh @@ -49,6 +49,7 @@ sunrise_sec=$(time_to_seconds "$sunrise_time_local") half_pre=$(( SUNRISE_TARGET_SECS / 2 )) # floor — pre-sunrise portion half_post=$(( SUNRISE_TARGET_SECS - half_pre )) # ceil — post-sunrise gets odd second record_start_sec=$(( sunrise_sec - half_pre )) +[ "$record_start_sec" -lt 0 ] && record_start_sec=0 record_dur_sec=$SUNRISE_TARGET_SECS echo "Audio window: ${half_pre}s before → ${half_post}s after sunrise (${record_dur_sec}s total)" diff --git a/year-end-join.sh b/year-end-join.sh index 178fb59..d8430f5 100755 --- a/year-end-join.sh +++ b/year-end-join.sh @@ -21,7 +21,7 @@ if [ -z "$ASTRO_YEAR" ]; then exit 1 fi # Camera name: second argument overrides conf (passed through from montage-mvt.sh). -CAM_NAME="${2:-$CAM_NAME}" +CAM_NAME="${2:-$SUNRISE_CAM}" year_dir="$MOVIES_DIR/$CAM_NAME/$ASTRO_YEAR"