Sobre el proyecto

ChurchPresenter es un software de presentación de adoración gratuito y de código abierto diseñado para iglesias. Creado con Compose Multiplatform (solo JVM), funciona en Windows, macOS y Linux, y ofrece una plataforma sin distracciones para presentar servicios de adoración. Las características clave incluyen: - **Arquitectura offline-first**: Todos los datos se almacenan localmente, lo que garantiza la fiabilidad sin depender de internet. - **Soporte multidisplay**: La salida del presentador puede mostrarse en un segundo monitor o mediante NDI/OMT para transmisión por red. - **Integración bíblica**: Descarga y gestiona traducciones de la Biblia (eBible, Zefania, Beblia), con un motor de búsqueda integrado para la detección de referencias por voz. - **Biblioteca de canciones**: Gestiona canciones con notación de acordes, transposición y una herramienta de conversión dedicada. - **Soporte multimedia**: Reproduce vídeos, imágenes y presentaciones (PPTX, PPT, Keynote, PDF) con sincronización y animación. - **Control móvil**: Empareja teléfonos mediante un relé con cifrado de extremo a extremo para control remoto. - **Integración**: Conéctate con Planning Center Online para planes de servicio y controla conmutadores Blackmagic ATEM. - **Personalización**: Nueve esquemas de color, tipografía y escalas de formas, además de un generador de Lottie para lower-thirds animados. ## Arquitectura El proyecto es modular, con cada módulo como un componente de compilación de Gradle: - `settings`: Ajustes persistidos y migración. - `diagnostics`: Informes de fallos con Sentry y limpieza de PII. - `planning-center`: Cliente OAuth para Planning Center Online. - `bible-formats`: Descarga y conversión de formatos de Biblia. - `bible`: Traducciones de la Biblia cargadas y búsqueda. - `song-chords`: Gramática de acordes y transposición. - `calendar`: Planificación mensual de servicios. - `songlibrary`: Gestión de la biblioteca de canciones. - `converter`: Conversor de formatos de canciones/Biblia. - `companion-satellite`: Protocolo Bitfocus Companion Satellite. - `ndi`: Fuente y receptor NDI. - `omt`: Open Media Transport. - `atem`: Protocolo Blackmagic ATEM. - `theme`: Sistema de diseño visual. - `core-models`: Modelos de datos compartidos. - `bible-engine`: Detección de referencias por voz. - `lottieGenerator`: Generador de superposiciones Lottie. - `crossword`: Creación de crucigramas. - `presentation-engine`: Análisis de PPTX/PPT/Keynote/PDF. ## Compilación y ejecución Clona el repositorio (sin submódulos) y compila con Gradle: ```bash git clone https://github.com/ChurchPresenter/ChurchPresenter ./gradlew :composeApp:run # macOS/Linux .\gradlew.bat :composeApp:run # Windows ``` La aplicación incluye ffmpeg para la captura de cámara, descargado en el momento de la compilación. Para el desarrollo, se puede forzar una ventana de respaldo con `CHURCHPRESENTER_FORCE_DEV_WINDOW=true`. El backend gráfico puede seleccionarse mediante `CHURCHPRESENTER_RENDER_API` (por ejemplo, OPENGL, DIRECT3D, METAL). ## Documentación - `DEVELOPMENT_GUIDE.md`: Estándares de codificación y flujo de trabajo. - `DOCS_README.md`: Referencia rápida. - `BUILD_INSTALLERS.md`: Compilación de instaladores. - `QUICK_START_INSTALLERS.md`: Inicio rápido. Ejecuta `./cleanup_check.sh` antes de hacer commit para las comprobaciones de calidad del código.