- MCP Server with audio fallback, sample management - Song generator with bus routing - Reference listener and audio resampler - Vector-based sample search - Master chain with limiter and calibration - Fix: Audio fallback now works without M4L - Fix: Full song detection in sample loader Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
53 lines
1.2 KiB
Bash
53 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
readonly GREEN='\033[0;32m'
|
|
readonly YELLOW='\033[1;33m'
|
|
readonly BLUE='\033[0;34m'
|
|
readonly NC='\033[0m'
|
|
|
|
log_info() { echo -e "${GREEN}[INFO]${NC} $*"; }
|
|
log_warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
|
log_step() { echo -e "${BLUE}[STEP]${NC} $*"; }
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
WSL_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
AUTOMATION_DIR="$(cd "$WSL_DIR/.." && pwd)"
|
|
DOCKER_ENV_FILE="$WSL_DIR/.env"
|
|
COMPOSE_FILE="$WSL_DIR/docker-compose.yml"
|
|
PID_DIR="$AUTOMATION_DIR/wsl_runtime/pids"
|
|
|
|
compose_cmd() {
|
|
docker compose --env-file "$DOCKER_ENV_FILE" -f "$COMPOSE_FILE" "$@"
|
|
}
|
|
|
|
stop_runner() {
|
|
local pid_file="$1"
|
|
if [[ ! -f "$pid_file" ]]; then
|
|
return
|
|
fi
|
|
local pid
|
|
pid="$(cat "$pid_file")"
|
|
if kill -0 "$pid" 2>/dev/null; then
|
|
kill -TERM "$pid" 2>/dev/null || true
|
|
sleep 2
|
|
kill -KILL "$pid" 2>/dev/null || true
|
|
fi
|
|
rm -f "$pid_file"
|
|
}
|
|
|
|
main() {
|
|
log_step "Stopping queue runner"
|
|
stop_runner "$PID_DIR/queue-runner.pid"
|
|
echo
|
|
log_step "Stopping Docker services"
|
|
if command -v docker >/dev/null 2>&1; then
|
|
compose_cmd down "$@" || true
|
|
else
|
|
log_warn "Docker not installed"
|
|
fi
|
|
log_info "Stack stopped"
|
|
}
|
|
|
|
main "$@"
|