Skip to content

Latest commit

 

History

History
136 lines (87 loc) · 5.38 KB

File metadata and controls

136 lines (87 loc) · 5.38 KB

Mantle

Exemple de flux de travail

Logo Mantle

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

Mantle est une application de bureau multiplateforme permettant de découvrir et de contrôler les ampoules connectées LIFX via votre réseau local. Développée en Rust et egui, elle offre une gestion de l'éclairage en temps réel ainsi que des fonctionnalités d'ambiance uniques, telles que la synchronisation des couleurs avec l'écran, un éclairage réactif au son, des scènes enregistrées avec planification, des raccourcis clavier globaux et une icône dans la zone de notification pour un accès rapide. Née des cendres de lifx_control_panel.

Versions

Vous pouvez télécharger la dernière version ici.

Des versions compilées sont disponibles pour Windows (x86_64), Linux (x86_64) et macOS (Apple Silicon / aarch64). ## Captures d'écran

Mantle

Fonctionnalités

Découverte et contrôle des lumières

  • Découverte automatique des ampoules LIFX sur le réseau local
  • Activation/désactivation, réglage de la teinte, de la saturation, de la luminosité et de la température de couleur (Kelvin) via des curseurs en temps réel
  • Définition de la durée de transition pour des changements de couleur fluides
  • Prise en charge multizone pour les rubans lumineux, avec contrôles par zone et gestion des dégradés

Groupement

  • Organisation des lumières en groupes
  • Contrôle simultané de toutes les lumières ou filtrage/recherche par nom

Pipette et synchronisation d'écran

  • Sélection de n'importe quelle couleur à l'écran grâce à l'outil pipette
  • Calcul de la couleur moyenne d'une zone spécifique, d'une fenêtre ou de l'écran entier pour piloter l'éclairage d'ambiance en temps réel

Éclairage réactif à l'audio

  • Pilotage des couleurs des lumières à partir de l'entrée microphone via une analyse FFT
  • Fenêtre de débogage optionnelle pour visualiser la forme d'onde et le spectre audio

Scènes et planification

  • Enregistrement et chargement de scènes nommées (préréglages de couleurs appliqués à plusieurs lumières)
  • Planification de scènes pour une activation automatique à des moments précis de la journée

Raccourcis clavier

  • Attribution de raccourcis clavier globaux pour piloter l'éclairage sans les mains

Zone de notification

  • Réduction de l'application dans la zone de notification (systray)
  • Activation/désactivation rapide et fermeture de l'application via le menu de la zone de notification

Localisation

  • Disponible en 6 langues : anglais, espagnol, chinois simplifié, français, allemand et portugais (Brésil)

Technologies utilisées

Crate Objectif
eframe / egui Framework d'interface graphique (GUI)
lifx-core Protocole LAN LIFX
cpal + rustfft Capture audio et FFT
xcap Capture d'écran
rdev Gestion globale des entrées clavier/souris
tray-icon Zone de notification
rust-i18n Localisation

Compilation

Prérequis

  • Chaîne d'outils Rust (stable)
  • Le dossier data/ contenant products.json (inclus dans le dépôt ; intégré au moment de la compilation)

Linux uniquement — installez les bibliothèques système suivantes :

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

Compiler

cargo build --release

Exécuter

cargo run --release

Les journaux sont écrits dans log/output.log.

Indicateurs de fonctionnalités (Feature Flags)

  • puffin — Active le profileur Puffin pour l'analyse des performances.
cargo run --release --features puffin

Contribuer

Le dépôt inclut un hook de pré-validation (pre-commit) qui exécute cargo fmt --check, cargo clippy et cargo test. Pour l'activer :

git config core.hooksPath .githooks

Retours

Rejoignez le serveur Discord ici pour faire part de vos retours, signaler des bugs ou demander de nouvelles fonctionnalités.

Remerciements

Traductions

| Langue | Complète | Automatique | |----------|-------------|------------| | Anglais | Oui | Non | | Espagnol | Oui | Oui | | Chinois (simplifié) | Oui | Oui | | Français | Oui | Oui | | Allemand | Oui | Oui | | Portugais (Brésil) | Oui | Oui |