xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers.
C++ C Makefile JavaScript HTML Objective-C++ Other
Clone or download
Latest commit 5cd5ae5 Jun 21, 2018
Failed to load latest commit information.
CodeXL Fix test tab tool tips Oct 21, 2016
bin Remove executable bit off of various resource files, remove signing p… Jun 21, 2018
bin64 Upgrade windows to wxWidgets 3.1.1 and gcc to 7.2.0 Feb 25, 2018
colorcurves Add some default colour curves. Sean this folder should be placed und… Aug 5, 2016
controllers Refactor all the output handling - loads networks xml file and test runs Jan 1, 2017
dependencies Add a bunch of dependencies as git submodules Jun 20, 2018
download Update xlights_vendors.xml May 12, 2018
images Add a UI hint that the scheduler is serving web requests. Dec 19, 2017
include Merge branch 'xCrossFade' Jun 16, 2018
lib Rework wxWidgets to include the button paint background fix for nVidi… Mar 29, 2018
songs checked in a few too many one off files. removing them May 14, 2015
valuecurves Add LOR Pixel Editor import Jun 6, 2018
xCapture Build/install xFade on linux Jun 18, 2018
xFade Update xFadeMain.cpp Jun 21, 2018
xLights.xcodeproj Remove executable bit off of various resource files, remove signing p… Jun 21, 2018
xLights Remove excessive logging Jun 20, 2018
xSchedule Build/install xFade on linux Jun 18, 2018
.gitattributes Add attributes file to handle cr/lf a bit better Jan 16, 2015
.gitignore got this to compile now but some weird errors are happening Apr 28, 2018
.gitmodules Add a bunch of dependencies as git submodules Jun 20, 2018
.travis.yml Remove time extension on build Feb 22, 2018
License.txt Added the generic License.txt file. This file was missing from the Or… Feb 27, 2013
Makefile Build/install xFade on linux Jun 18, 2018
PackageWindowsRelease.cmd 2018.8 Mar 16, 2018
README.linux Build fixes for debian Mar 21, 2018
README.osx Add xFade to mac project Jun 18, 2018
README.txt Adding a 'circular swirl' warp (#1165) Jun 20, 2018
README.windows Rework wxWidgets to include the button paint background fix for nVidi… Mar 29, 2018
ToolConfig.txt Update documentation Apr 21, 2017
appveyor.bat Update appveyor.bat Feb 26, 2018
appveyor.yml Appveyor Visual Studio Build working with wxWidgets 3.1.1 Feb 26, 2018
cbp2make.cfg Makefile improvements and corresponding doc update. Aug 9, 2013
dependencies.txt Add a bunch of dependencies as git submodules Jun 20, 2018
vamp_plugins_32.iss Cleanup vamp files and vamp install script May 28, 2017
vamp_plugins_64.iss Add more submodel generation options. Jun 2, 2017
xLights_4_32bit.iss 2018.16 Jun 17, 2018
xLights_4_64bit.iss 2018.16 Jun 17, 2018


xLights Linux build instructions

xLights can be built and run on Linux, Mac OS/X, or Windows. This
document describes how **developers** should set up their tool chain to build
xLights on Linux.
Ubuntu packages are provided for users at https://code.launchpad.net/~chris-debenham/+archive/ubuntu/xlights

xLights is written in C++ and uses the wxWidgets library as a
compatibility layer across operating systems.  The minimum required version
of wxWidgets for xLights is v3.1.  This can be compiled from
source or installed via packages if they are available for your distribution.
The provided makefile will download and build wxWidgets if needed - including application of a small patch from the end of this file to fix the sizing of bitmap buttons.
Please note that wxWidgets needs to use Gtk2 rather than Gtk3 currently due to issues in some controls.
A precompiled libliquidfun.a.`uname -p` library and QM Vamp plugins are included for i686 and x86_64 - for other platforms it would need to be recompiled from https://github.com/google/liquidfun

These instructions have been tested on the following distributions:

  - Ubuntu 16.10
  - Fedora 24

Instructions for other Linux distributions will vary. 

  a) Using Software Manager (or apt-get or rpm), install the following packages.
     (Fedora packages will be named differently and have 'devel' instead of 'dev'
     in their name)

     cbp2make (optional but recommended if compiling from git)

     Example command to install packages on Ubuntu

     sudo apt-get install build-essential libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev freeglut3-dev libmpg123-dev libavcodec-dev libavformat-dev libswscale-dev libsdl1.2-dev liblog4cpp5-dev libportmidi-dev cbp2make

     Example commands to install packages on Fedora 24

     sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
     sudo dnf install gcc-c++ gtk3-devel gstreamer1-devel gstreamer1-plugins-base-devel freeglut-devel gstreamer1-plugins-bad-free-devel ffmpeg-devel SDL-devel log4cpp-devel portmidi-devel

  b) Get the xLights source code by opening a terminal window and
     typing the following:

     git clone https://github.com/smeighan/xLights.git xLights

xLights can be built 2 ways on Linux. First, you can use the
supplied makefile to build it. This is sufficient to get xLights
running, but you will be limited in what source code modifications you can
make.  Minor code changes or enhancements will be OK.  The second way to
build is to install the Code::Blocks IDE and compile xLights
within the IDE. If you plan on modifying xLights yourself, this
may be the easiest way to go.

To build xLights using the supplied makefile proceed to step 'c'.  To build
using Code::Blocks, proceed to step 'd'.:

  c) Build xLights using the supplied makefiles:

     Build using the simplified top-level Makefile in the main xLights
     If wxWidgets 3.1 is not available then as part of this wxWidgets 3.1
     will be downloaded, compiled statically linked to xLights

           $ make

         Then install xLights to the default /usr/local/bin location as root:

           # make install

         To run the clean command:

           $ make clean

         To uninstall the xLights binary as root:

           # make uninstall

     You may get some compiler warnings, however, the executable 'xLights'
     should get built in the ./bin directory.  The proper dependencies are
     not currently setup in the makefile to trigger rebuilds when some
     files are modified, so you may have to run the clean command if your
     code does not build properly after making modifications to the source.

     If you want to build using Code::Blocks, proceed to step 'd'.

  d) Building xLights using Code::Blocks

     Install the Code::Blocks IDE using your distribution's package
     manager as long as it is version 16.01 or later.  Otherwise,
     you can try downloading it directly from the Code::Blocks web site:
     Also, you may need to install libwxsmithlib0 to 
     enable visual layout.

     You will need to run 'make' from the command line once to build and
     patch wxwidgets.  Then ensure that the wx-config command is in your
     PATH so that codeblocks can find it.

     Now you are ready to use Code::Blocks to build xLights
     by double-clicking on the xLights.cbp file.
     In order for the double-click to work, you may need 
     to first right-click on the cbp file, select properties,
     and uncheck the box indicating that the file is runnable.
     Make sure you set the target to "Release Linux" before you build.

That should be all you need to build xLights.
If you get missing decoder messages related to gstreamer, a couple of things to try are:
- sudo apt-get install ubuntu-restricted-extras  (substitute as appropriate for other *nices)
- install "Play it slowly"  - this app includes some gstreamer dependencies


If it is necessary to rebuild the xLights.cbp.mak makefile such as when new
source files are added to the project, the command used to run cbp2make is:

cbp2make -in xLights.cbp -cfg ../cbp2make.cfg -out xLights.cbp.mak --with-deps --keep-outdir --keep-objdir

This will be run automatically at compile time if cbp2make is installed.