forked from xLightsSequencer/xLights
-
Notifications
You must be signed in to change notification settings - Fork 0
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.
License
cinoan/xLights
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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) build-essential libgtk2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev freeglut3-dev libavcodec-dev libavformat-dev libswscale-dev libsdl1.2-dev liblog4cpp5-dev Example command to install packages on Ubuntu sudo apt-get install build-essential libgtk2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev freeglut3-dev libmpg123-dev libavcodec-dev libavformat-dev libswscale-dev libsdl1.2-dev liblog4cpp5-dev 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++ gtk2-devel gstreamer1-devel gstreamer1-plugins-base-devel freeglut-devel gstreamer1-plugins-bad-free-devel ffmpeg-devel SDL-devel log4cpp-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 directory. 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: http://www.codeblocks.org/downloads 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. ============================================================================== == Patch required for wxWidgets 3.1 due to http://trac.wxwidgets.org/ticket/17683 == 127c127 < if (style & wxNO_BORDER) --- > if (style & wxNO_BORDER) { 128a129,135 > GtkStyle *style = gtk_widget_get_style(GTK_WIDGET(m_widget)); > style->xthickness=0; > style->ythickness=0; > gtk_widget_set_style(GTK_WIDGET(m_widget), style); > gtk_widget_set_can_default(GTK_WIDGET(m_widget), false); > gtk_widget_set_can_focus(GTK_WIDGET(m_widget), false); > } == End of patch ==
About
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.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 56.5%
- C 40.9%
- Makefile 1.8%
- JavaScript 0.3%
- HTML 0.1%
- Objective-C++ 0.1%
- Other 0.3%