Skip to content

xLights is a scheduling program. xLights has usb and E1.31 drivers. You can create playlists, schedule them, test your hardware, convert between different sequencers. xLights also now has Nutcracker version 3 included as a tab. This is the newest nutcracker. The entire Nutcracker software has been rewritten from php into C++ plus wxWidgets.

License

rickcowan/xLights

 
 

Repository files navigation

xLights/Nutcracker Version 4.x Linux build instructions
------------------------------------------------------------------------------

xLights/Nutcracker 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/Nutcracker on Linux.

xLights/Nutcracker is written in C++ and uses the wxWidgets library as a
compatibility layer across operating systems.  The minimum required version
of wxWidgets for xLights/Nutcracker is v3.0.0.  This can be compiled from
source or installed via packages if they are available for your distribution.
This document describes how to build wxWidgets if you need to to that yourself.

These instructions have been tested on the following distributions:

  - Linux Mint 12
  - Ubuntu 14.10
  - Fedora 21

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)

     build-essential
     libgtk2.0-dev
     libgstreamer0.10-dev
     libgstreamer-plugins-base0.10-dev
     freeglut3-dev
     libmpg123-dev
     libwxgtk-media3.0-dev

     Debian based packages to install

     sudo apt-get install build-essential libgtk2.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev freeglut3-dev libmpg123-dev libwxgtk-media3.0-dev

     Fedora 21 packages required for wxWidgets build

     sudo yum install freeglut-devel libjpeg-turbo-devel gstreamer-plugins-base-devel gstreamer-plugins-ugly gstreamer-plugins-bad-free gstreamer1-plugins-base gstreamer1-plugins-good gstreamer-plugins-base gstreamer-plugins-bad gstreamer-tools gstreamer-plugins-good gstreamer-plugins-espeak gstreamer gstreamer1 gstreamer-devel gtk2-devel mesa-libGLU-devel libmpg123-devel

  b) Build wxWidgets 3.0.1 (if not installed from packages)

     $ cd ~
     $ wget http://downloads.sourceforge.net/project/wxwindows/3.0.1/wxWidgets-3.0.1.tar.bz2
     $ tar xjf wxWidgets-3.0.1.tar.bz2
     $ cd wxWidgets-3.0.1
     $ CXXFLAGS="-std=gnu++11" ./configure --enable-mediactrl --enable-graphics_ctx
     $ make
     $ sudo make install
     $ sudo ldconfig

  c) Get the xLights/Nutcracker source code by opening a terminal window and
     typing the following:

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


xLights/Nutcracker can be built 2 ways on Linux. First, you can use the
supplied makefile to build it. This is sufficient to get xLights/Nutcracker
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/Nutcracker
within the IDE. If you plan on modifying xLights/Nutcracker yourself, this
may be the easiest way to go.

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


  d) Build xLights using the supplied makefiles:

     Option #1 - Build using the simplified top-level Makefile in the main
                 xLights directory

           $ 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

     Option #2 - Build using the xLights.cbp.mak file directly

         $ cd xLights
         $ make -f xLights.cbp.mak clean
         $ make -f xLights.cbp.mak CFLAGS="-std=gnu++11" releaselinux
 
     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 built using xLights.cbp.mak, you can copy the bin/xLights
     binary to a directory in your path or run it directly from there.

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

  e) Building xLights using Code::Blocks

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

     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/Nutcracker.
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

You can also run "make makefile" from the top-level xLights directory.  This
will run the above cbp2make command automatically.

About

xLights is a scheduling program. xLights has usb and E1.31 drivers. You can create playlists, schedule them, test your hardware, convert between different sequencers. xLights also now has Nutcracker version 3 included as a tab. This is the newest nutcracker. The entire Nutcracker software has been rewritten from php into C++ plus wxWidgets.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 73.9%
  • C 22.9%
  • Makefile 2.3%
  • Awk 0.4%
  • Batchfile 0.2%
  • Inno Setup 0.2%
  • Other 0.1%