All Projects → anthonyeden → Livewire-Simple-Delegation-Switcher

anthonyeden / Livewire-Simple-Delegation-Switcher

Licence: GPL-2.0 License
A Delegation/Studio Switcher for Livewire Devices - now with GPIO support.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Livewire-Simple-Delegation-Switcher

laravellte
Fully customizable and tests supported Laravel admin dashboard 2.0
Stars: ✭ 202 (+963.16%)
Mutual labels:  livewire
grwave
Python for ITU P.368 : Ground-wave propagation curves for frequencies between 10 kHz and 30 MHz
Stars: ✭ 19 (+0%)
Mutual labels:  broadcast
react-native-ibeacon-simulator
Simulate device act as an iBeacon, or transmit as an iBeacon signal from your phone
Stars: ✭ 48 (+152.63%)
Mutual labels:  broadcast
CEventCenter
一个Android事件分发中心库,基于对象池及接口回调实现。实现类似BroadcastReceiver/RxBus/EventBus等的消息事件传递功能,用于在Activity/Fragment/Service之间的消息传递通讯。
Stars: ✭ 116 (+510.53%)
Mutual labels:  broadcast
AppListManager
📱 AppListManager (Android Library) makes managing application and activity lists easy.
Stars: ✭ 59 (+210.53%)
Mutual labels:  broadcast
Limg
An image hosting service powered by Laravel
Stars: ✭ 41 (+115.79%)
Mutual labels:  livewire
MatrixLib
Lightweight header-only matrix library (C++) for numerical optimization and machine learning. Contact me if there is an exciting opportunity.
Stars: ✭ 35 (+84.21%)
Mutual labels:  broadcast
twilio-live-interactive-video
An interactive live video app built with Twilio Live and Twilio Video
Stars: ✭ 23 (+21.05%)
Mutual labels:  broadcast
UitzendingGemist
An *Unofficial* Uitzending Gemist application for Apple TV 4 (**deprecated, use TV Gemist ☝🏻**)
Stars: ✭ 48 (+152.63%)
Mutual labels:  broadcast
modal
Livewire component that provides you with a modal that supports multiple child modals while maintaining state.
Stars: ✭ 664 (+3394.74%)
Mutual labels:  livewire
markdom
A markdown parser for laravel for making beautiful html
Stars: ✭ 42 (+121.05%)
Mutual labels:  livewire
tall-toasts
A Toast notification library for the Laravel TALL stack. You can push notifications from the backend or frontend to render customizable toasts with almost zero footprint on the published CSS/JS 🔥🚀
Stars: ✭ 296 (+1457.89%)
Mutual labels:  livewire
KnzkLive
No ads, Unlimited, Open-Source Live Streaming Service.
Stars: ✭ 46 (+142.11%)
Mutual labels:  broadcast
CRUD-Laravel-Livewire-SPA
CRUD Laravel 7 & Livewire (SPA) Single Page Application
Stars: ✭ 34 (+78.95%)
Mutual labels:  livewire
laravel-livewire-ui
Laravel Livewire UI, Auth, & CRUD starter kit.
Stars: ✭ 92 (+384.21%)
Mutual labels:  livewire
livewired
Reusable components for @livewire applications
Stars: ✭ 12 (-36.84%)
Mutual labels:  livewire
select2-wire
free select2 livewire for laravel
Stars: ✭ 18 (-5.26%)
Mutual labels:  livewire
livewire-sortablejs
A Laravel Livewire plugin that makes it easy to use Sortable.js
Stars: ✭ 68 (+257.89%)
Mutual labels:  livewire
data-transport
A generic and responsible communication transporter(iframe/Broadcast/Web Worker/Service Worker/Shared Worker/WebRTC/Electron, etc.)
Stars: ✭ 27 (+42.11%)
Mutual labels:  broadcast
laravel-boilerplate
This is how I start new Laravel projects.
Stars: ✭ 0 (-100%)
Mutual labels:  livewire

Livewire Simple Delegation Switcher

This application allows you to simply switch between different Livewire Sources (Inputs) and send them to a single Livewire Destination (Output). It's designed to be used as a simple studio delegation switcher. It also supports GPI as inputs (either to switch, or change the button indications), and GPIO Trigger outputs. It runs on Microsoft Windows and the Raspberry Pi (Raspbian).

Livewire Simple Delegation Switcher - Screenshot

You could use the PathfinderPC software. However, most small radio station's don't have the budget to buy this. If all you need to do is switch between a couple of different sources, Pathfinder may seem a little excessive.

This application relies on the Livewire Routing Protocol, so most Axia Livewire devices are supported. To support LWRP, we make use of the following libraries:

This software has been developed by Anthony Eden (https://mediarealm.com.au/). Visit the official website.

Getting Started

  1. Download the latest version from the "Releases" page
  2. Unzip the files someplace on your computer
  3. Rename 'config-sample.json' to 'config.json'
  4. Edit config.json to meet your needs
  • You'll need to include the IP Address of your Output Node, the physical output number on your Node, and Livewire Channel Numbers for each source
  1. Run LW-Delegation-Switcher.exe

If all has gone well, you'll now be able to switch the source to your destination. The source highlighted in "Red" is the currently active source.

GPIO Support

There are two ways you can use Livewire GPIO within this app:

  1. GPI Inputs
  2. GPIO Output Triggers

You can use these two features together, or separately.

GPI Inputs

You can configure this switcher to be controlled via the GPI pins on a single Livewire device. It's an input - essentially a way of controlling the switcher from external hardware. There's a 1:1 relationship between GPI pins and Switcher Buttons in this app. Whenever a pin is pulled low, the configured button in the lwSDS app is selected, changing the destination audio.

To configure this, configure global options 'GPI_DeviceIP' and 'GPI_DevicePassword', and source options 'GPI_SwitchPort' and 'GPI_SwitchPin'.

If you don't need this option, delete the lines with 'GPI_DeviceIP' and 'GPI_DevicePassword' from the config file.

You can also specify the GPI on a button to only be used as an 'indication' (rather than performing a switch). To do this, set option "GPI_IndicationOnly" to true.

GPIO Output Triggers

Output Triggers are used to send GPIO changes when a button is selected. Think of it as an output from this app, which is only sent whenever you press a button.

For configuration options, see the file 'config-sample-gpiotriggers.json'.

Under some circumstances, you may also like to set option "DisableRouteChange" to true to stop button presses from changing actually a route - with this mode enabled, button presses will only trigger the GPIO action (not a route change).

Raspberry Pi

Installation

  1. Download and install Raspbian Desktop on your Raspberry Pi
  2. Connect to an Ethernet network
  3. Open Terminal and run the following commands:
sudo apt-get install python2 git
git clone https://github.com/anthonyeden/Livewire-Simple-Delegation-Switcher/
chmod +x Livewire-Simple-Delegation-Switcher/start.sh
echo "@/home/pi/Livewire-Simple-Delegation-Switcher/start.sh" >> .config/lxsession/LXDE-pi/autostart
cp Livewire-Simple-Delegation-Switcher/config-sample.json Livewire-Simple-Delegation-Switcher/config.json
  1. To edit the configuration, run this command:
nano Livewire-Simple-Delegation-Switcher/config.json

Press Ctrl + X to close the Nano text editor.

  1. The Livewire Simple Delegation Switcher should now load automatically whenever you login to your Raspberry Pi (there is a 10 second delay to give the Pi a chance to connect to the network). To start it manually, run the following commands from the terminal:
cd /home/pi/Livewire-Simple-Delegation-Switcher/
python2 LW-Delegation-Switcher.py

Upgrading - Raspberry Pi

  1. Open Terminal and run the following commands:
cd ~/Livewire-Simple-Delegation-Switcher
git pull

Disabling the Screensaver on a Raspberry Pi

If you run this application on a Raspberry Pi, you're going to need to disable the screensaver. There's a couple of ways to do this, depending on your version of Raspbian:

Method 1

  1. Install XScreensaver, by using the following terminal command:
sudo apt-get install xscreensaver
  1. Open the menu in the top-left corner of your desktop.
  2. Go to Preference > Screensaver.
  3. Select "Disable Screensaver"
  4. Reboot your Pi for the changes to work

Method 2

sudo nano /etc/lightdm/lightdm.conf

Find (Ctrl + W):

#xserver-command=X

Change it to:

xserver-command=X -s 0 dpms

Method 3

Add these lines to .config/lxsession/LXDE-pi/autostart:

@xset s noblank 
@xset s off 
@xset -dpms

License

This software has been released as open source software. You're free to use and modify this software, but no liability can be accepted by the developer.

Please read the license agreement.

Contributing

Contributions are welcomed. Feel free to submit a pull request to fix bugs or add additional functionality to this application.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].