Version 4.1.2 (March 2016)

- Optimizations in code converts all tables to InnoDB. To prevent table locking

- Support for images contained within an alert issued by NAAD.

- new test alert that contains audio and an image

- Import and export settings feature to the new admin tab

- Unicode errors fixes

- Adds a logo to the dashboard.

- Added html template engine

- Added string translations to dashboard

- Added setting for dashboard language to the HTTP tab

- Changed dashboard colours to logo OB Blue

- Alert purge log entries are now 'debug' level

- Sync_freq_emerg renamed to sync_freq_priority

- Sync_freq_log renamed to sync_freq_playlog

- RS-232 trigger now defaults to /dev/ttyS0, and led sign defaults to /dev/ttyS1

- Removed passwords from export file

- Added alert file purge, maskable tabs, and python3 support

- Added import/export of settings and fixed unicode error with alerts

- Audio logging feature will log the audio for regulatory purposes. Hard coded to use Pulse Audio as the input, and it saves the audio as 22050Hz mono in .ogg format. Each hour, it will start a new audio file. These files are saved in ~/.open broadcaster/audiologs.

- Add names to the pulse devices. Set each device to 'pulse' instead of 'auto'

- New map tab in player, select GPS coordinates on map. This puts station icon on servers with mapping module installed

- Emergency Tab. Added and rearranged advanced settings for settings that are rarely used to reduce clutter and make the test alerting tool more focused along the top of page

- Added a streaming tab to the dashboard, along with the various streaming

- Added info settings to create ICEcast mount point.

- Streamer module if enabled, when the player starts, it will start that and send to icecast with extended information.

LIVE Assist Interface

- Rounded the corners of the buttons in the button area.

- Added next/previous buttons to the live assist

- New streaming controls. << >> button at the bottom right will show/hide the streaming microphone controls with volume meters.

- Added VU meters to the Live Assist interface. One is in the lower left corner, which is the same levels shown on the status page of the player dashboard. Shows data coming out of the audio pipeline. Added one below the browser microphone controls for the microphone data.

- Local Microphone Access. HTML5 browser asks to allow access to the microphone. Firefox will ask what device you'd like to use as the input. Chrome clicking on the camera icon in the address bar on the right, it will give you a drop down menu of what devices you can use as input.

- Works with 44100 and PCM selected. A-law implemented with 22050 or 11025. Microphone works at the lower sample rates. Using 44100 + PCM, takes a lot of bandwidth and browser resources.

- Options at the top control the audio streaming to and from the browser. Select 1) only stream the microphone data from the browser to the player 2) only stream the audio output from the player to the browser 3) stream both. Monitor audio will be up to a second delayed.

Live Assist Source Switching:

- added button to LA to turn streaming on/off

- added button to LA to switch between mic / line in / player output

Live Assist - Live Event Broadcasting:

- capture local device audio and send it to OBPlayer to broadcast

RS232 GPIO Trigger

- When enabled and an alert cycle starts, the serial port will be opened and the DTR line will be set. After the alert cycle has completed, the DTR line will be cleared and the serial port will be closed. When DTR is set, it will output a positive voltage, and when cleared, it will output a negative voltage.

- "Trigger RS-232 DTR on Alerts" checkbox, when checked, will show the "RS-232 Device Filename" option. Device filename should be /dev/ttyS0, or /dev/ttyUSB0 if using a USB-to-Serial adaptor.

- "Trigger ICEcast Stream on Alerts" setting will start and stop the ICEcast streamer module (in the streaming tab) the same as the serial port. In addition to this setting, you must also uncheck the "Play Stream on Startup" option on the streaming tab, or else the streamer will start playing when obplayer starts.

- "Lead-In Delay (in seconds)". Number of seconds of silence that will be inserted at the beginning of each alert cycle before the first alert starts playing, but after the DTR/ICEcast stream notifies that an alert cycle has started. Default is 1 second. Setting this to 5 or so seconds will give time for buffering to occur, need to use trial and error to find the ideal value for this. "Lead-Out Delay (in seconds)" setting, adds a pause to the end of the alert cycle to give time for the buffers to empty before the stream disappears.

- New dependency package 'python-serial' in order to use the RS-232 feature.

- Direct RS-232 ports on computers these days are rare, but USB-to-Serial adapters also work with this code.

- When used as part of a radio playout box, current Song Title, Artist, Show and Description scroll in Multi Colour rainbow effect.

- Emergency messages always take priority.

Priority Barix signaling

- OBPlayer will create an on demand ICEcast mount point when an alert cycle starts.

- Setting on the audio/visual tab to disable the test signal. In order to make the priority stream work, so that OBPlayer just outputs the alerts and nothing else, you have to disable the scheduler, fallback player, audio in, and the test signal

Version 4.1.0 (July 2014)

Server

- AdManager module to create time based campaigns that auto archive.

- UI Contributor Module to manage a basic interface for contributors less clutter.

- Dynamic Selection allows playing all contents in a loop.

- Wav and MP4 Audio File Support.

Administration

- System Update Script and upgrade workflow

- Parent\Child in Devices to clone child schedules, media to parent

- OBPlayer > Clear Cache

Stability and Bug Fixes

- server js tweaks (calendar)

- server previewing/transcoding improvements

- server UI tweaks (media/playlist search, media type column)

- safari support (preview function)

- improved module support for JS in server component (hook/callback system in JS framework)

Player

Previously referred as "Remote Application"

Re-factored and optimized for efficiency with a touch screen controller that runs on Mobile HTML5. Reduces resources needed to run app by making operation headless requiring no GUI. Headless remote acts as a client on server to create a source mount point on ICEcast2 media servers. Provisioning and deployment all from CLI not requiring a desktop.

- Touch screen interface, to run live radio shows including a button box player

- LIVE ASSIST MODE Added a menu tab to enable this interface on http. <IP>:23456

- LA allows creating PL of jingles that are turned into columns of hot buttons on OBPlayer

- LA PL and Media are created and scheduled on OBServer

- All menus and configuration are now done 100% via http admin

- Improved logging to obremote.log including a view from menu tabs in http admin