Because text broadcast often runs over open UDP ports, be aware:
As of EasyWorship 7 (version 7.5+), Softouch has introduced a REST API and WebSocket server. This officially replaces the need for reverse-engineering Tb.ewb files.
Recommendation: If you are building a new integration today, ignore .ewb files entirely. Use the WebSocket API. However, if you are stuck with legacy hardware or an older version of EasyWorship (7.0–7.3), understanding Tb.ewb is essential. Tb.ewb Easyworship 7
Cause: The receiving device expects ASCII, not UTF-8.
Fix: In your EasyWorship broadcast template, force encoding="UTF-16" or UTF-8 in the export filter. Alternatively, use the "XML Broadcast" module (which saves as .ewb.xml) instead of raw text. The .ewb.xml file preserves Unicode perfectly.
Most professional worship tech forums (like Church Tech Resources on Facebook or r/ProPresenter on Reddit) strictly forbid sharing TB.EWB links. Why? Because veteran tech directors unanimously tell the same story: Someone downloaded a cracked EasyWorship, the computer got infected, and the pastor’s Mother’s Day slideshow became a ransom note. Because text broadcast often runs over open UDP
Moreover, EasyWorship offers generous discounts for small churches, missionaries, and multi-site plants. Their customer support is known for helping churches find payment plans. Many don’t realize they can get a fully functional version for the cost of a single projector bulb.
tb_ewb_path = r"C:\ProgramData\Softouch\EasyWorship 7\BroadcastCache\current_slide.ewb" Recommendation: If you are building a new integration
def read_tb_ewb(file_path): try: # Open in shared read mode (prevents locking) with open(file_path, 'r', encoding='utf-16', sharing=0) as f: content = f.read() # Parse XML (assuming .ewb is XML based) root = ET.fromstring(content) text_element = root.find('.//BroadcastText') if text_element is not None: return text_element.text except Exception as e: return f"Error: e" return ""
For legacy system integrators, here is a Python script snippet that safely reads the current text broadcast from an EasyWorship 7 .ewb cache file without locking it.
import os
import time
import xml.etree.ElementTree as ET