summaryrefslogtreecommitdiff
path: root/assets/easyeffects-eq-presets.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-28 06:19:58 -0600
committerCraig Jennings <c@cjennings.net>2026-01-28 06:19:58 -0600
commitd4d997653574b5a00c01f02a3fb45001cd86c2f4 (patch)
tree32b2910e2734b5a7d814de853c022d2bf5e48ad1 /assets/easyeffects-eq-presets.sh
parentef8b2e1fcd216ce6aed21f11e011246b033a9138 (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-xassets/easyeffects-eq-presets.sh63
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