diff options
| author | Craig Jennings <c@cjennings.net> | 2026-01-28 06:19:58 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-01-28 06:19:58 -0600 |
| commit | d4d997653574b5a00c01f02a3fb45001cd86c2f4 (patch) | |
| tree | 32b2910e2734b5a7d814de853c022d2bf5e48ad1 /assets/easyeffects-eq-presets.sh | |
| parent | ef8b2e1fcd216ce6aed21f11e011246b033a9138 (diff) | |
feat(hyprland): add easyeffects EQ presets and autostart
- Add Harman EQ presets for DT770, PXC 550-II, and Pixel Buds Pro 2
- Start easyeffects minimized on Hyprland startup
- Move preset docs and install script to assets/
Diffstat (limited to 'assets/easyeffects-eq-presets.sh')
| -rwxr-xr-x | assets/easyeffects-eq-presets.sh | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/assets/easyeffects-eq-presets.sh b/assets/easyeffects-eq-presets.sh new file mode 100755 index 0000000..40e9cd9 --- /dev/null +++ b/assets/easyeffects-eq-presets.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash +# Install EasyEffects parametric EQ presets (Harman target) +# +# Presets: +# dt770-pro-250-harman-eq.json - Beyerdynamic DT 770 Pro 250 Ohm (oratory1990) +# pxc-550-ii-harman-eq.json - Sennheiser PXC 550-II (AutoEQ/oratory1990) +# pixel-buds-pro-2-harman-eq.json - Google Pixel Buds Pro 2 (AutoEQ/DHRME) +# +# Prerequisites: easyeffects, pipewire, pipewire-pulse +# +# Usage: ./easyeffects-eq-presets.sh [install|uninstall] + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PRESET_DIR="${HOME}/.config/easyeffects/output" + +PRESETS=( + "dt770-pro-250-harman-eq.json" + "pxc-550-ii-harman-eq.json" + "pixel-buds-pro-2-harman-eq.json" +) + +install_presets() { + # Ensure easyeffects is installed + if ! command -v easyeffects &>/dev/null; then + echo "easyeffects not found. Installing..." + sudo pacman -S --needed --noconfirm easyeffects + fi + + mkdir -p "$PRESET_DIR" + + for preset in "${PRESETS[@]}"; do + if [[ -f "${SCRIPT_DIR}/${preset}" ]]; then + cp "${SCRIPT_DIR}/${preset}" "${PRESET_DIR}/${preset}" + echo "Installed: ${preset}" + else + echo "Warning: ${preset} not found in ${SCRIPT_DIR}" >&2 + fi + done + + echo "" + echo "Presets installed to ${PRESET_DIR}" + echo "Open EasyEffects and select a preset from the dropdown." +} + +uninstall_presets() { + for preset in "${PRESETS[@]}"; do + if [[ -f "${PRESET_DIR}/${preset}" ]]; then + rm "${PRESET_DIR}/${preset}" + echo "Removed: ${preset}" + fi + done +} + +case "${1:-install}" in + install) install_presets ;; + uninstall) uninstall_presets ;; + *) + echo "Usage: $0 [install|uninstall]" >&2 + exit 1 + ;; +esac |
