Skip to content

Latest commit

 

History

History
136 lines (87 loc) · 5.06 KB

File metadata and controls

136 lines (87 loc) · 5.06 KB

Mantle

Beispiel-Workflow

Mantle-Logo

🌐 English | Español | 简体中文 | Français | Deutsch | Português

Mantle ist eine plattformübergreifende Desktop-Anwendung zur Erkennung und Steuerung von intelligenten LIFX-Leuchten über Ihr lokales Netzwerk. Entwickelt mit Rust und egui, bietet die Anwendung eine Echtzeit-Lichtverwaltung sowie einzigartige Ambient-Funktionen – darunter Bildschirmfarben-Synchronisation, audioreaktive Beleuchtung, gespeicherte Szenen mit Zeitplanung, globale Tastenkürzel und ein System-Tray für den schnellen Zugriff. Entstanden aus der Asche des Projekts lifx_control_panel.

Releases

Die neueste Version können Sie hier herunterladen.

Es sind Builds für Windows (x86_64), Linux (x86_64) und macOS (Apple Silicon / aarch64) verfügbar. ## Screenshots

Mantle

Funktionen

Erkennung und Steuerung von Lichtern

  • Automatische Erkennung von LIFX-Lampen im lokalen Netzwerk
  • Ein-/Ausschalten sowie Anpassen von Farbton, Sättigung, Helligkeit und Farbtemperatur (Kelvin) über Echtzeit-Schieberegler
  • Festlegen der Übergangsdauer für sanfte Farbwechsel
  • Multizonen-Unterstützung für Lichtstreifen, mit Steuerungsmöglichkeiten für einzelne Zonen und Farbverläufe

Gruppierung

  • Organisation von Lichtern in Gruppen
  • Gleichzeitige Steuerung aller Lichter oder Filtern/Suchen nach Namen

Pipette und Bildschirmsynchronisation

  • Auswahl beliebiger Farben direkt vom Bildschirm mithilfe des Pipetten-Werkzeugs
  • Mittelwertbildung eines Bildschirmbereichs, eines Fensters oder des gesamten Monitors zur Echtzeit-Steuerung der Umgebungsbeleuchtung

Audio-reaktive Beleuchtung

  • Steuerung der Lichtfarben basierend auf Mikrofoneingaben mittels FFT-Analyse
  • Optionales Debug-Fenster zur Visualisierung des Audiospektrums (Wellenform)

Szenen und Zeitplanung

  • Speichern und Laden benannter Szenen (Farbvoreinstellungen für mehrere Lichter gleichzeitig)
  • Zeitplanung von Szenen, die sich zu bestimmten Tageszeiten automatisch aktivieren

Tastenkürzel

  • Zuweisung globaler Hotkeys zu Beleuchtungsaktionen für eine freihändige Steuerung

System-Tray

  • Minimierung in den System-Tray (Infobereich)
  • Schnelles Ein-/Ausschalten und Beenden der Anwendung über das Tray-Menü

Lokalisierung

  • Verfügbar in 6 Sprachen: Englisch, Spanisch, vereinfachtes Chinesisch, Französisch, Deutsch und Portugiesisch (Brasilien)

Entwickelt mit

Crate Zweck
eframe / egui GUI-Framework
lifx-core LIFX-LAN-Protokoll
cpal + rustfft Audioaufnahme und FFT
xcap Bildschirmerfassung
rdev Globale Tastatur-/Mauseingabe
tray-icon System-Tray
rust-i18n Lokalisierung

Kompilieren

Voraussetzungen

  • Rust-Toolchain (stabil)
  • Der Ordner data/, der die Datei products.json enthält (im Repository enthalten; wird zur Kompilierzeit eingebettet)

Nur Linux – Installieren Sie die folgenden Systembibliotheken:

sudo apt install libasound2-dev libudev-dev libxtst-dev libevdev-dev libgtk-3-dev libxdo-dev

Kompilieren

cargo build --release

Ausführen

cargo run --release

Protokolle werden in die Datei log/output.log geschrieben.

Feature-Flags

  • puffin – Aktiviert den Puffin-Profiler zur Leistungsanalyse
cargo run --release --features puffin

Mitwirken

Das Repository enthält einen Pre-Commit-Hook, der cargo fmt --check, cargo clippy und cargo test ausführt. Um diesen zu aktivieren:

git config core.hooksPath .githooks

Feedback

Treten Sie dem Discord-Server hier bei, um Feedback zu geben, Fehler zu melden oder Funktionswünsche einzureichen.

Danksagungen

Übersetzungen

| Sprache | Vollständig | Maschinell erstellt | |----------|-------------|---------------------| | Englisch | Ja | Nein | | Spanisch | Ja | Ja | | Chinesisch (vereinfacht) | Ja | Ja | | Französisch | Ja | Ja | | Deutsch | Ja | Ja | | Portugiesisch (Brasilien) | Ja | Ja |