Skip to content

Releases: boraita/obs-bible-stream-verses

OBS Bible Plugin v2.2.0 - OBS WebSocket Integration 🎬

Choose a tag to compare

@boraita boraita released this 03 Nov 18:17
9ad341b

OBS Bible Plugin v2.2.0 - OBS WebSocket Integration 🎬

🎉 What's New

This release introduces complete OBS WebSocket integration, allowing the plugin to communicate directly with OBS Studio for advanced automation and scene management.

✨ Major Features

🔌 OBS WebSocket Integration

  • Real-time connection to OBS Studio via WebSocket Protocol v5.x
  • Visual connection status indicator with animated feedback
  • Secure authentication with SHA256 password protection
  • Automatic reconnection with exponential backoff

🎬 Automatic Scene Switching

  • Smart scene detection - Monitor multiple scenes simultaneously
  • Conditional switching - Only triggers when current scene is in monitored list
  • Target scene configuration - Automatically switch to designated scene when showing verses
  • Return scene option - Optionally return to previous scene when hiding verses
  • Test mode - Test your scene changes before going live

📊 Scene Management

  • Live scene list with active scene highlighting
  • Current scene display with one-click refresh
  • Scene status monitoring in real-time
  • Quick scene switching from control panel

🔑 Downstream Keyer (DSK) Support

  • DSK detection - Automatically detect downstream keyer sources
  • Status monitoring - Check if DSK is active or inactive
  • Source listing - View all DSK sources and their states
  • Visual feedback - Toast notifications for DSK status

🎛️ New OBS Control Panel Tab

A dedicated OBS tab in the control panel provides:

  • ✅ Connection management (Connect/Disconnect)
  • ⚙️ Configuration settings (Host, Port, Password)
  • 🧪 Test connection before committing
  • 📺 Current scene display and refresh
  • 📋 Complete scenes list
  • 🔄 Auto scene change configuration
  • 🔑 DSK status and sources

🔒 Security

  • Secure storage - Connection settings saved in localStorage
  • Encrypted authentication - SHA256 challenge-response protocol
  • No plain-text passwords - Passwords never transmitted in clear text
  • Optional password - Works with or without OBS password protection

📦 Installation

  1. Download obs-bible-stream-verses-v2.2.0.zip from this release
  2. Extract the ZIP file
  3. Open OBS Studio
  4. Add Custom Browser Dock:
    • Go to ViewDocksCustom Browser Docks
    • Name: Bible Control Panel
    • URL: file:///path/to/obs-bible-stream-verses-v2.2.0/dist/panel.html
  5. Add Browser Source (for overlay):
    • Add a new Browser source to your scene
    • URL: file:///path/to/obs-bible-stream-verses-v2.2.0/dist/browser.html
    • Width: 1920, Height: 1080

⚙️ OBS WebSocket Setup

Enable WebSocket in OBS

  1. Open OBS Studio
  2. Go to ToolsWebSocket Server Settings
  3. Check "Enable WebSocket server"
  4. Note the Server Port (default: 4455)
  5. (Optional) Set a Server Password for security
  6. Click OK

Configure Plugin

  1. Open the Bible Control Panel dock in OBS
  2. Go to the OBS tab
  3. Enter your settings:
    • Host: localhost (or OBS IP address)
    • Port: 4455 (or your configured port)
    • Password: Your OBS WebSocket password (if set)
  4. Click 🧪 Test Connection to verify
  5. Click 💾 Save Configuration
  6. Click 🔌 Connect

Setup Automatic Scene Switching

  1. Ensure you're connected to OBS WebSocket
  2. Click 🔄 Refresh Scenes List
  3. In the Auto Scene Change section:
    • ✅ Enable Auto Scene Change
    • ☑️ Select scenes to monitor (can select multiple)
    • Select target scene (scene to switch to when showing verses)
    • (Optional) Select return scene (scene to return to when hiding)
  4. Click 💾 Save Scene Configuration
  5. Click 🧪 Test Scene Change to verify

🚀 Usage

Once configured:

  1. Show verses: Click "Mostrar" button
    • If current scene is monitored → Automatically switches to target scene
    • If not monitored → No scene change occurs
  2. Hide verses: Click "Ocultar" button
    • If return scene configured → Returns to that scene
    • If not configured → Stays on current scene

📝 What's Changed

Added

  • Complete OBS WebSocket v5.x integration
  • Automatic scene switching system
  • OBS control panel tab with full management
  • DSK status checking and monitoring
  • Real-time scene detection and switching
  • Visual notifications for OBS actions
  • Connection testing functionality
  • Persistent configuration storage
  • Comprehensive OBS integration documentation

Changed

  • Enhanced control panel UI with OBS tab
  • Improved error handling for OBS operations
  • Better user feedback with toast notifications
  • Updated project description

Technical

  • Implemented obsWebSocket.js singleton
  • Added obsWebSocketConfig.js for configuration
  • Promise-based connection handling with timeout
  • Automatic reconnection with exponential backoff
  • SHA256 authentication implementation

📚 Documentation

🐛 Bug Reports

Found a bug? Please open an issue with:

  • OBS Studio version
  • Plugin version (2.2.0)
  • Steps to reproduce
  • Expected vs actual behavior

🙏 Acknowledgments

Special thanks to the OBS WebSocket Protocol developers and the OBS Studio community.


Full Changelog: v2.1.1...v2.2.0

Download: obs-bible-stream-verses-v2.2.0.zip (21 MB)

Improve settings and configurations

Choose a tag to compare

@boraita boraita released this 21 Oct 16:07
44660ce

Release v2.1.1

Highlights

  • Major improvements to the settings panel UI: modular layout, English translation, and clearer navigation.
  • Enhanced responsive design and scroll behavior for all configuration modules.
  • Updated quick presets and settings map for easier customization.
  • Improved accessibility and visual separation of configuration sections.
  • Fixed JavaScript errors and added robust null checks for all event listeners.
  • Updated default styles, color handling, and container options.
  • Refactored code comments and structure for maintainability.

Changelog

  • Modularized and translated all settings panel sections to English.
  • Added settings map for quick navigation between configuration groups.
  • Improved grid and card layout for better clarity and usability.
  • Fixed event listener errors in sendMessage.js, searchBible.js, and other modules.
  • Updated default values for colors, padding, borders, and opacity.
  • Enhanced quick formatting controls and effect toggles.
  • Cleaned up legacy Spanish content and comments.
  • Updated package version to 2.1.1.

OBS Bible Stream Verses v2.1.0 - Testing Suite & Code Improvements

Choose a tag to compare

@boraita boraita released this 13 Oct 11:15
1d1d00e

📖 OBS Bible Stream Verses v2.1.0

🎯 Overview

This release focuses on code quality improvements, comprehensive testing infrastructure, and developer experience enhancements. The plugin now includes a professional testing suite and refactored codebase for better maintainability.

✨ What's New

🧪 Testing Suite

A comprehensive testing system has been added to ensure code quality and prevent regressions:

  • Algorithm Testing (testAlgorithm.js)

    • Tests 20 different Bible verses for consistency
    • Validates font size differentiation by text length
    • Supports --quick and --verbose modes
    • 100% consistency validation across all verses
  • Configuration Testing (testBibleSelection.js)

    • Validates all 6 Bible versions are properly configured
    • Ensures correct title construction
    • Verifies compatibility with core functionality
  • Snapshot Testing (testSnapshot.js)

    • MD5-based snapshot validation
    • Detects unintended algorithm changes
    • Tracks configuration integrity
    • --update flag for intentional changes

📚 RVR60 Bible Included

  • Reina-Valera 1960 now included in the repository as a reference Bible
  • Provides immediate functionality for testing and demonstration
  • Public domain Spanish translation
  • Users can still add their own Bible versions following the documentation

🔧 Code Improvements

  • Centralized Configuration: Refactored sendMessage.js to use BIBLE_MAP from bibleConfig.js
  • Bug Fixes: Fixed getBibleMap() function returning incorrect name property
  • DRY Principles: Eliminated redundant code and improved maintainability
  • Consolidated Tests: Reduced from 7+ test files to 3 essential, focused tests

📖 Documentation

  • New TESTING.md with comprehensive testing guidelines
  • Updated README.md with RVR60 reference information
  • Improved testing documentation in testing/README.md
  • All test content and comments translated to English

🏗️ Infrastructure

  • Modified .gitignore to include RVR60.sqlite
  • Updated .npmignore for cleaner distribution packages
  • All tests provide proper exit codes for CI/CD integration
  • Release packages now exclude .md files (production-ready)

🔄 Changes & Fixes

Changed

  • Bible Configuration: Updated Kadosh display name for clarity
  • Test Data: All verse references translated to English
  • Code Structure: Improved organization and naming conventions

Removed

  • Deleted redundant test files: testDirecto.js, testAvanzado.js, testFinal.js
  • Eliminated duplicate and unnecessary testing code

Fixed

  • Bug in getBibleMap() where it returned key instead of BIBLE_CONFIG[key].name
  • Inconsistent naming conventions across test files

📦 Installation

For Users (OBS Studio)

  1. Download the ZIP file below (obs-bible-stream-verses-v2.1.0.zip)
  2. Extract to a folder on your computer
  3. In OBS Studio:
    • Add a Custom Browser Dock: file:///path/to/dist/panel.html
    • Add a Browser Source: file:///path/to/dist/browser.html
    • Set Browser Source dimensions: 1920x1080 (or your stream resolution)

For Developers

# Clone the repository
git clone https://github.com/boraita/obs-bible-plugin.git
cd obs-bible-plugin

# Install dependencies
pnpm install

# Development with hot reload
pnpm start

# Run tests
node [testAlgorithm.js](http://_vscodecontentref_/0) --quick
node [testBibleSelection.js](http://_vscodecontentref_/1)
node [testSnapshot.js](http://_vscodecontentref_/2)

# Production build
pnpm build

# Create release package
pnpm release

OBS Bible Stream Verses v2.0.0

Choose a tag to compare

@boraita boraita released this 10 Oct 13:38

🎉 OBS Bible Stream Verses v2.0.0

First independent release - A tool for displaying Bible verses in OBS streams with control panel and customizable overlay.

✨ Features

  • 🔍 Dual Search: By reference (e.g., John 3:16) or by text content
  • Optimized Performance: Lazy loading architecture (only 2.6 MB initial load)
  • 🎨 Customizable: Easy to modify styling and add new Bible translations
  • 🌐 100% Offline: No internet connection required - all data is local
  • 🆓 Free & Open Source: MIT License

📥 Installation

Quick Start

  1. Download the obs-bible-stream-verses-v2.0.0.zip file below
  2. Extract to a permanent location on your computer
  3. In OBS Studio:
    • Go to ViewDocksCustom Browser Docks
    • Name: Bible Control Panel
    • URL: file:///path/to/obs-bible-stream-verses-v2.0.0/dist/panel.html (use your actual path)
    • Click Apply
  4. Add Browser Source:
    • In your scene: AddBrowser
    • Name: Bible Verses
    • URL: file:///path/to/obs-bible-stream-verses-v2.0.0/dist/browser.html
    • Width: 1920, Height: 1080 (or your canvas size)
    • Click OK
  5. Start using: Select a Bible version, search for verses, click to display on stream!

Detailed Instructions

See README.md for complete installation guide.

🎯 What's New in v2.0.0

This version represents a complete rewrite with modern architecture:

  • Clean Code principles applied throughout the codebase
  • 95% bundle size reduction (from 54MB to 2.6MB initial load)
  • Lazy loading for Bible databases (loaded only when selected)
  • Centralized configuration system for easy maintenance
  • Comprehensive documentation for users and contributors
  • Independent project - clean history, no fork dependencies
  • BroadcastChannel API for real-time panel-to-overlay communication

🆕 Perfect For

  • ⛪ Church services and religious broadcasts
  • 📖 Bible study streams and teaching sessions
  • ✝️ Christian content creators
  • 🙏 Worship and prayer gatherings
  • 📚 Online preaching and ministry work

🔧 Technical Details

  • Requirements: OBS Studio 27.0+ on Windows, macOS, or Linux
  • Technologies: JavaScript ES6+, Webpack 5, SQL.js
  • Initial Load: 2.6 MB (panel + browser + SQL engine)
  • Bible Files: 6-23 MB each (loaded on-demand)
  • Total Package: ~62 MB uncompressed
  • Architecture: Custom Browser Dock + Browser Source

📊 Performance

  • ⚡ Search speed: <100ms average
  • 🔄 Bible switching: ~1s first load (then cached)
  • 💾 Memory efficient: Only active Bible loaded
  • 🎯 Zero lag during streaming

📄 License

MIT License - Free for personal and commercial use. Modify and distribute freely.

🙏 Credits


Made with ❤️ for the streaming community

Enjoy displaying God's Word in your streams! 🎉📖✨