Commit Graph

221 Commits

Author SHA1 Message Date
redpanther
a85a5c0f2c implement use of multiple v4l devices.
Not all v4l devices are compat with that or must be attaches to different usb controllers
2016-08-30 22:28:13 +02:00
redPanther
e0430f088d fix #197
fix #197, prio 0 is set to black for infinity, when foreground effect is invalid
2016-08-29 19:26:42 +02:00
Rick van Hattem
61db9f43b8 Qcommandlineparser (#199)
* Replaced getoptplusplus with QCommandLineParser. Fixes #39

* enabling C++11 if possible

* enabling C++11 if possible

* fixed gcc compilation issues

* fixed linux builds and improved os x build

* trying to fix dispmanx

* trying to fix dispmanx

* simplified travis build script

* fixed argumentparser default values

* rewrote validator system and made sure default arguments are processed correctly

* rewrote validator system and made sure default arguments are processed correctly

* fixed bool vs. regular options

* oops... removing debug code

* reverted screenshot api change
2016-08-28 15:10:43 +02:00
brindosch
a6bf58c21e fix jsonrpc (2/2)
no ci NO CI
2016-08-25 13:54:30 +02:00
brindosch
ceeed07e6c Update package creation (#186)
* Update packages.cmake

* Update packages.cmake

* Update postinst

* Update packages.cmake

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* update cc
2016-08-20 16:37:45 +02:00
redPanther
7ee2e7cf8d rework kodi grabbing mode for all grabbers (#169)
* pull out setgrabbing mode from every grabber into parent class

* implement optional kodi check for v4l

* fix typo

* fix dispmanx build
2016-08-12 23:07:32 +02:00
redPanther
050ab11c8e v4l grabber wont crash hyperiond anymore (#168)
* v4l errors won't lead to crash hyperiond (exceptions are catched)
v4l auto device mode with better log messages
createV4l in hyperiond.cpp refactored, now v4l is always available as long as it is compiled in

* change back, code accidently altered

* fix compile of dispmanx grabber
2016-08-12 09:39:41 +02:00
redPanther
f1cc82b8c7 enable components at runtime + grabber refactoring (#160)
* implement enable/disable on runtime for:
- smoothing
- kodi
- udplistener
- boblight

* implement enable/disable for forwarder
refactor component

* - implement grabber enable/disable at runtime
- big grabber refactoring. now with common base class for all grabbers

* implement enable/disable at runtime for bb detector

* osx fix

* try to fix cutted travis output for osx build
2016-08-11 07:13:55 +02:00
Rick van Hattem
0d3f6c7ba1 made sure v4l code only initializes when needed and only errors when … (#162)
* made sure v4l code only initializes when needed and only errors when the module is enabled

* fixed v4l2 as suggested by @redPanther
2016-08-11 07:13:11 +02:00
redPanther
197af35de0 Clone single led color from other led (#157)
* start ledclone

* led cloning: clone scan areas from original led
main: show exceptions, better exit

* tune json schema for new option. somwe cleanup

* fix warnings and bug for framebuffer selection. thx to clang brought by new osx buikld on travis

* make ledclone feature work flawlessly for effects too. Effect sees the ledstring without cloned leds.
cloned leds will be inserted just before sending to leddevice

additional: remove warnings and fix code style

* fix warning
2016-08-08 00:17:00 +02:00
Rick van Hattem
05812f107b Travis osx support (#155)
* fixed OS X compatibility

* adding OS X travis test

* ignoring autogenerated files

* adding OS X travis test

* fixed os x building

* fixed os x building

* reduced ignore file

* v4l osx issue fixed

* improved qt5 detection

* disabled cleaning of child threads on os x for the time being

* fixed avahi on OS X
2016-08-07 18:39:45 +02:00
redPanther
817dabae8c sourceOff feature + small json refactoring (#151)
* add --sourceOff to hyperion-remote - this will select "off" source and set all leds to black
refactor new json stuff
make schema checker not so strict, do not require values that have defaults (not finished yet)
initialEffect config: effect is always an array, regardless if it is a color or an effect name

* make off source visible in active priority list

* transform initialeffect to qjson (except part of effect-args, this needs effectengine transformed to qjson)

* remove unneeded comment

* add web ui for source selection.
call http://hyperion_host:8099/select/index.html
current example needed json server on port 19444
2016-08-06 08:28:42 +02:00
Paulchen-Panther
f183032270 JsonCpp to QTJson (Part 2) (#147)
* Replace std::string with QString

* Replace std::string with QString

* Replace std::string with QString

* Replace std::string with QString

* Convert JsonCPP Code to QTJson

Not all JsonCPP Code is converted to QTJson Code. See Pull Request for Details.

* Convert JsonCPP Code to QTJson

Not all JsonCPP Code is converted to QTJson Code. See Pull Request for Details.
2016-08-04 10:53:26 +02:00
redPanther
f1a4672a93 Amlogic box uses aml and fb buffer (#141)
* v4l: fix auto mode opens usable device twice

* on amlogic system, start framegrabber and amlogic grabber

* tune code formating

* make aml grabber always one prio below fb

* hyperiond refactoring

* refactor hyperiond grabber donfig code
add json clinet view of active and inactive input sources
2016-07-27 22:52:59 +02:00
redPanther
30b9c20611 new frame grabber handling (#137)
* - implement framegrabber type option
- framegrabber autoselect
- integrate x11 grabber in hyperiond

* add doxy

* v4l: select device by name
hyperiond: fix x11 grabber connection to kodichecker
config: tune default prios of boblight and v4l

* make v4l name finding case insensitive
2016-07-24 15:18:34 +02:00
penfold42
8f982f3225 Added SIGPIPE handing. (#127)
If you are grepping the debugging output and then hit ctrl-C, theres a good change hyperiond never cleans up properly.
2016-07-18 09:23:55 +02:00
redPanther
b49ada956b hyperion won't fail, if v4l2 has invalid device + auto device (#118)
* hyperion won't fail, if v4l2 has invalid device

* add v4l auto select. use "auto" as device name
2016-07-14 23:40:10 +02:00
brindosch
904aad5f1c Add enable option to grabbers (#113)
* update

* .

* update

* update
2016-07-13 12:14:02 +02:00
brindosch
c802505553 logging rework json/proto (#102)
* cleanup: remove ambiled device

as written at the forum this is no longer supported. All people should move to adalight. They just need to flash a new sketch.

* fix typo

* travis.ci

* travis: move to ubuntu 14.04

* script try

* add serialport

* update .json files

* .

* .

* .

* update travis

* fix

* typo

* fix

* .

* disable v4l2 on mac

* disable email notification

* update osx

* maybe fix

* .

* disable osx and rm v4l2

* try osx

* try fix

* travis update

* add oe systemd file

* Proto

* Json

* fix

* fix2

* fix3

* .

* typo

* update

* revert runtime error
2016-07-11 17:08:22 +02:00
redPanther
3ac0781c1f Kodi checker rework (+enable option) (#96)
* big kodichecker rework

- use new logger
- 'enable' flag in config
- startable on runtime (atm not stoppable and no reconfigure)
- rename xbmc to kodi

* remove unnecceasry checks for kodi

* make kodichecker stoppable and add reconfigure

* tune config
2016-07-10 22:04:31 +02:00
penfold42
c1cb148f41 added enable to v4lgrabber (#93)
* added enable to v4lgrabber

* updated configs with v4l enable/disable example
2016-07-10 13:36:05 +02:00
redPanther
12cae1e634 catch exceptions in hyperiond (#92) 2016-07-10 12:18:40 +02:00
redPanther
4fb4121da5 try to fix build (#73)
try to fix build
2016-06-29 11:18:32 +02:00
redPanther
03ac5689cf make log level settings avail in config file (#63) 2016-06-27 23:56:21 +02:00
redPanther
809ab82524 migrate boblight to new logger and make it start/stoppable during runtime (#62) 2016-06-27 22:43:43 +02:00
redPanther
b9634e57d6 Udplistener start/stop during runtime (#56)
* start implementening runtime start/stop for udplistener

* add signal slots for start/stop/statusChanged for better connectivity with other qt stuff

* fix typo
2016-06-27 09:27:11 +02:00
penfold42
de39ff8997 UDPListener improvements: (#53)
- if you listen to a multicast address, it now also listens to all ipv4 addresses
- shared udp sockets - multiple hyperiond instance can optionally share the same udp packets
2016-06-26 20:08:03 +02:00
penfold42
0b59614ab3 native UDP listener enhancements (#48)
- uses new logger
- can specifiy which ip address to listen on
- if its a multicast address, multicast is enabled
2016-06-25 15:15:23 +02:00
redPanther
56ae551cbd extend hyperion version number (#46)
* add version number for hyperion and json level

* add new jsonrpc_version in HyperionConfig.h.in
add new hard coded version number for hyperion
2016-06-24 23:22:31 +02:00
redPanther
d4142b4eb4 migrate logging for effects and verbose options (#38)
* start step by step  migration to new logger

* fix linking for serialport

* migrate effectengine to new logger

* tune log messages

* add commandline options for hyperiond to control verbosity
--silent
--verbose
--debug
2016-06-23 13:48:49 +02:00
redPanther
f48af9daff extend logger (#34) 2016-06-21 21:41:26 +02:00
redPanther
eccd4e6637 rework bootsequence (#30)
* udplistener/boblight: use hyperion::getInstance
hyperiond: fix dispmanx is started twice
hyperiond: rework bootsequence - now named as InitalEffect

* pull out webconfig from hyperiondaemon to functional when daemon crashes
initialEffect: forbid foreground effect duration infinitiy
2016-06-20 23:41:07 +02:00
penfold42
b971c39b07 add "enable" : true/false to both udp listener and boblight, zeroconf cleanup (#22)
* Added "enable" : true to both udp and boblight server

* Changed the zeroconf/mDNS service names:
	_hyperiond-proto._tcp local
	_hyperiond-json._tcp local
	_hyperiond-rgbled._udp local

Changed the zeroconf/mDNS description:
	$leddevicename@$hostname

Removed the ability to configure these from the json config file

Cleaned up the formatting

* Change default priority of udp listener to be 700
2016-06-20 15:17:29 +02:00
penfold42
25a79d6279 hyperiond doesnt call switchoff to the leds on exit (#19)
* Fixed compile error when no grabbers are defined

* Remove stupid avahi warning...

* Started on the new integrated UDP listener to replace the python effect.

Cloned boblight server and rename it to be UDP listener
It compiles!, It starts! it seems to work as a second boblight protocol server...

* moving from the exsting TCP to UDP.
i can catch packets now.. need to consider ditching the connection handling

* It kinda works right now.
UDP packets are received, led data is sent and hyperion displays them.
.... for a moment before going back to what it was doing

* It works!

looks like the default priority of 900 was fighting with something else that was also 900

commented out some udp packet debugging

* oops, forgot to add the changes the the previous commit

* resolving merge conflicts

* The refactoring lost the automatic switchoff of leds.
Now we track the hyperion object and delete it on exit (which cleans up the led strip)
2016-06-20 09:10:23 +02:00
penfold42
a23735d1ef New builtin udp listener (#18)
* Fixed compile error when no grabbers are defined

* Remove stupid avahi warning...

* Started on the new integrated UDP listener to replace the python effect.

Cloned boblight server and rename it to be UDP listener
It compiles!, It starts! it seems to work as a second boblight protocol server...

* moving from the exsting TCP to UDP.
i can catch packets now.. need to consider ditching the connection handling

* It kinda works right now.
UDP packets are received, led data is sent and hyperion displays them.
.... for a moment before going back to what it was doing

* It works!

looks like the default priority of 900 was fighting with something else that was also 900

commented out some udp packet debugging

* oops, forgot to add the changes the the previous commit

* resolving merge conflicts
2016-06-20 08:38:12 +02:00
brindosch
065e65b8e0 cleanup: remove ambiled and fix typo (#13)
* cleanup: remove ambiled device

as written at the forum this is no longer supported. All people should move to adalight. They just need to flash a new sketch.

* fix typo
2016-06-19 17:18:11 +02:00
redPanther
4533b34606 Hyperiond refactoring + preparation for ip restriction settings (#12)
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance

* refactor hyperiond

* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond

* xbmcchecker is now a singleton

* cleanup in hyperiond
zeroconf switchable between static and shared linking

* fix xbmcchecker

* extensive refactoring of hyperiond
webserver: make client ip information availabel in request object - preparation for ip filters
proto/json server, use hyperion::getInstance instead of hyperion argument

* move creation of hyperion core into hyperionDeamon class
cleanup
2016-06-19 00:56:47 +02:00
penfold42
0e5607db65 Fixed compile error when no grabbers are defined + remove avahi warning (#11)
* Fixed compile error when no grabbers are defined

* Remove stupid avahi warning...
2016-06-18 16:33:25 +02:00
redPanther
88fbc4dfde refactoring and cleanup (#2)
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance

* refactor hyperiond

* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond

* xbmcchecker is now a singleton

* cleanup in hyperiond
zeroconf switchable between static and shared linking

* fix xbmcchecker
2016-06-17 01:25:40 +02:00
brindosch
5206202568 Update hyperiond.cpp 2016-06-14 20:15:59 +02:00
redPanther
4a841710dd webui - "cgi" handler and multiple fixes (#700)
* initial commit of webconfig

* update example config with webconfig and fix format of file
update debian postinst script for install example config

* fix compiling
add new web server command "serverinfo" to use in webapp to retrieve json port

* change web default port to 8099

* add cgi engine to webserver

* fix include
2016-06-14 20:14:06 +02:00
redPanther
eb64e7e528 webui fix and serverinfo (#699)
* initial commit of webconfig

* update example config with webconfig and fix format of file
update debian postinst script for install example config

* fix compiling
add new web server command "serverinfo" to use in webapp to retrieve json port

* change web default port to 8099
2016-06-13 22:54:08 +02:00
redPanther
7dfb9f1967 integrated webserver ... (#697)
* initial commit of webconfig

* update example config with webconfig and fix format of file
update debian postinst script for install example config
2016-06-12 22:27:24 +02:00
redPanther
5b47855bc3 Refactoring - typo fix (#689)
* make proto and json server permanent. An unconfigured p/j server means server with default values

* fix typo


Former-commit-id: 81ee35ccf348f1fe4dc554f2df03878d9c870f6f
2016-06-10 09:00:53 +02:00
redPanther
986409fbda make proto and json server permanent. An unconfigured p/j server means server with default values (#687)
Former-commit-id: ef0ac6711dbd44b6867527be60ed62c345ef6df7
2016-06-08 11:53:01 +02:00
Paulchen-Panther
f0dec4cf73 Hyperion X11 KodiCheck (#685)
* Update X11Grabber.h

* Update ProtoConnection.h

* Update ProtoConnectionWrapper.h

* Update ProtoServer.h

* Update X11Grabber.cpp

* Update message.proto

* Update ProtoClientConnection.cpp

* Update ProtoClientConnection.h

* Update ProtoConnection.cpp

* Update ProtoConnectionWrapper.cpp

* Update ProtoServer.cpp

* Update hyperion-x11.cpp

* Update X11Wrapper.cpp

* Update X11Wrapper.h

* Update hyperiond.cpp

* Update ProtoClientConnection.cpp

* Update X11Wrapper.cpp

* Update hyperiond.cpp


Former-commit-id: a572f275b270217cd8ce8cdd91b3eca3037d6472
2016-06-07 23:12:18 +02:00
redPanther
614131ebe6 compile fix, cleanup (#684)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken

* remove hyperion comaptlayer
services is not started automaticly

* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup

* add deb package dependencies

* wipe out last support for /opt installation

* change default effect path in config to /usr

* revert service files and config files

* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services

* all arguments via reference ...

* fix xbmcchecker not working

* add logger class

* - profiler must be activated with ENABLE_PROFILER, otherwise an error will raise
-> this should prevent profiler gets into release code

* fix profiler

* make logger compat with older/partial c++11 versions (r.g. debian wheezy)
fix description of optionparser
fix atmoorb not compile for qt4. now it should compile for qt5 and 4

* make logger compiles with qt5 too
fix compiler warnings

* remove debug code


Former-commit-id: 6aa41351667caed712b1f28010dbedfca8a6a5a0
2016-06-07 22:24:29 +02:00
brindosch
9578a3e386 Kodicheck: Add option for pause modus (#681)
* introduce pause mode

* fix it fe...

* fix

* fix compile warning

* change solution

* fix order

* fix

* last update

* -


Former-commit-id: b35c4d672aed5be7a6a694b3c861c6cf287d89df
2016-06-07 12:34:50 +02:00
redPanther
a5b8aeff54 fix for #674 (#679)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken

* remove hyperion comaptlayer
services is not started automaticly

* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup

* add deb package dependencies

* wipe out last support for /opt installation

* change default effect path in config to /usr

* revert service files and config files

* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services

* all arguments via reference ...

* fix xbmcchecker not working


Former-commit-id: 470fbe6f0e6fdadc5aab14e076aa9d4967a4d45d
2016-06-04 23:09:20 +02:00
redPanther
a0b0f6b35d fix for #674 (#677)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken

* remove hyperion comaptlayer
services is not started automaticly

* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup

* add deb package dependencies

* wipe out last support for /opt installation

* change default effect path in config to /usr

* revert service files and config files

* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services

* all arguments via reference ...


Former-commit-id: 0a7af16c620093b0ecd38f0efc300d7fd30d961d
2016-06-04 19:58:40 +02:00
redPanther
f2e9193987 fix #674 (#676)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken

* remove hyperion comaptlayer
services is not started automaticly

* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup

* add deb package dependencies

* wipe out last support for /opt installation

* change default effect path in config to /usr

* revert service files and config files

* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services


Former-commit-id: 56e3e0d1014999b2555418c7b5a2898ac29fb5f1
2016-06-04 19:26:34 +02:00
penfold42
6fbfda03fa add zeroconf support based on qt4 libraries (#667)
* Removed -HUP so the default -TERM signal is sent instead.
- hyperiond only listens for TERM and INT. HUP is often used to get an exe to reread its config

Changed pgrep to add '-x' so it wont partial match on the exe name.
- I have multiple instances with multiple hyperiond-instance1 names
- this ensures the service script only kills the right process

* reversing errant change to hyperion.systemd.sh

* added bonjour/zeroconf service discovery to the json interface.

When clients are also modified, they can
- find hyperiond on the network much more quickly than ping/portscan;
- find multiple instances running on different ports instead of assuming 19444

* Moved zeroconf calls to hyperiond.cpp

* Added mDNS/zerconf/bonjour registration for proto server

Added config options.
        "jsonServer" :
        {
                "port" : 49444,
//              "mDNSDescr" : "hyperiond jsonServer blah de blah",
                "mDNSService" : "_hyperiond_json._tcp"
        },

* cleaned up a couple of compiler warnings

* moved bitpair_to_byte initialiser to (hopefully) work with older GCC

* compiler warning in udp driver
removed some tabs in ws2812b.cpp

* formatting - spaces to tabs

* moved rpi_281x to tag sk6812-v1.0

* moving to my fork of rpi_281x

* Now uses the led device name and hostname to create the annouce name


Former-commit-id: abfa51bcf359cafa63338181c1b83ecfd231bc87
2016-05-31 22:55:11 +02:00
redPanther
71a4d0ba78 start multiple hyperions (#663)
* start multiple hyperions. add a config for every hyperiond to start.

* spawned hyperiond will exit when parent hyperiond exits, needed for propper function with service script. this should work, but must be refectored asap when hyperiond understands commandline params

* add optionParser to hyperiond. multi daemon: exit when any child/parent dies

* cleanup

* refactor cosmetics for hyperiond


Former-commit-id: 3b99c78661550704256f0d5887680e92cb3ddda3
2016-05-30 22:38:40 +02:00
redPanther
945f3d1c5b big code cleanup. mostly line endings and indentions (#659)
No functional changes - except protobuffer is mandatory and not optional now.

Former-commit-id: 1e6347e708707cc388cdedb8d0352a9f017030b8
2016-05-26 23:44:27 +02:00
redPanther
0940872870 create debian packages / multiple configs (#650)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken


Former-commit-id: 1c2669961da98fd05a97359e75f1d6d68e126715
2016-05-24 19:56:43 +02:00
brindosch
84a9125542 revert priority change
Former-commit-id: 4c91a9710e8ea61acd8284b07868cb2e4bae0bd2
2016-05-23 11:01:52 +02:00
redPanther
b293ea20db build script optimization (#642)
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule


Former-commit-id: 5f06f314841810c780c871f810158010d3d2de70
2016-05-22 00:27:06 +02:00
brindosch
19a6bf1ee7 change default effect priority
Former-commit-id: ccdda396083b61c417eaf908b628a2e5a7796ba4
2016-05-18 20:35:52 +02:00
Matthias Reichl
f584b05de5 dispmanx: fix grabber issues with certain widths and support cropping (#634)
* dispmanx: fix grabber issues with certain widths and support cropping

The dispmanx grabber will produce garbage output if the destination
pitch is not set to a multiple of 64 bytes (16 RGBA pixels).

It can also fail when retrieving only a part of the image
(eg in 3DSBS or TAB mode).

Handle these cases by capturing the full image into a separate
buffer with the pitch set to an appropriate value and manually
handle 3D SBS/TAB left/top half copying.

At this point supporting cropping like in the V4L2 grabber is
rather easy and added as well. This'll help handling overscan
setups (old TVs) and removing (possibly asymmetric) overscan
borders.

Cropping is disabled in video capture mode (when the
DISPMANX_SNAPSHOT_FILL flag is set).

Signed-off-by: Matthias Reichl <hias@horus.com>

* hyperion-dispmanx: add optional crop values and 3D mode options

Signed-off-by: Matthias Reichl <hias@horus.com>

* hyperiond: support cropping on the dispmanx grabber

Honor cropLeft, cropRight, cropTop and cropBottom settings in
the framegrabber section of the conf file to control cropping.

Signed-off-by: Matthias Reichl <hias@horus.com>

Former-commit-id: bbb55f6621b90384e417f37da4f2543d112ef57a
2016-05-18 11:26:25 +02:00
brindosch
fe8a92b2eb Typo
Former-commit-id: a6032547f54a181f4a48d41b9f8018ac84d42140
2016-03-23 17:44:29 +01:00
brindosch
fa66c3b2b5 Rework log messages
Former-commit-id: eac93c0fd78fdf353e940d08df3cabf0b962a3e2
2016-03-23 17:40:45 +01:00
redpanther
c7df8c23c6 Merge remote-tracking branch 'upstream/master/master' into hyperion_version_id
Conflicts:
	src/hyperion-aml/CMakeLists.txt
	src/hyperion-remote/CMakeLists.txt
	src/hyperion-v4l2/CMakeLists.txt

Former-commit-id: d34fbdd65e7c95bafe43396e1ccef7ad30def7fb
2016-03-13 08:04:49 +01:00
redpanther
3dae8d069c fix bootsequence.
if boot duration not 0 then boot prio is set to 0 to avoid start of grabber overrules boot efx
cleanup bootseq code


Former-commit-id: 85c9f099bd9a2e8d695117a24164d8ce81ad2a36
2016-03-12 19:21:47 +01:00
redpanther
e01bcd708d add install commands
instead of "make" use "make install/strip" release compile


Former-commit-id: f4dd2d9e1a4d815b667665892a3bd9cec64218a3
2016-03-10 12:22:44 +01:00
redpanther
153d1f0999 print version for every standalone grabber and hyperiond
Former-commit-id: 736894a87ba3d056a8e4f1def236ae4670f16407
2016-03-10 12:01:10 +01:00
redpanther
49e867f5fc add an auto generated version id
Former-commit-id: df3ad6b08e24e73d957611e8be45e7e8cc717b8c
2016-03-10 06:53:21 +01:00
redpanther
0bc725054c make all prios settable and make prios more consistent
Former-commit-id: f1d1c35063e98389d627f3535d2a94da33a22da4
2016-03-08 17:31:56 +01:00
redpanther
8fdf97e693 prepare standalone amlogic grabber
activate internal amlogic grabber forwarding


Former-commit-id: 21dabf759935836eef556baeb8a27e362e95ae96
2016-02-24 14:42:25 +01:00
redpanther
a9e8f0264a implement proto forwarding for osxgrabber and framebuffer. prepare forwarding in amlogic and dispmanx
Former-commit-id: d67fc2b7fe8877e6eadf31a8c76e4a68110c6680
2016-02-17 00:44:06 +01:00
redpanther
629461b944 implement proto forwarding for hyperiond internal v4l2 grabber
cleanup


Former-commit-id: 669f139386633e3435cdc33639134819464afd4d
2016-02-16 15:41:40 +01:00
redpanther
b01b5eb005 - prepare general way to send (proto) messages. currently only incomming protomessages are forwarded
- begin impl. of json server


Former-commit-id: 8f9237cd57ada1e84dc05e60b9ad723e47fd57b1
2016-02-15 18:25:18 +01:00
redpanther
5dc59344c4 forward protobuf messages.
configure (send proto messages to two other hyperiond):

"protoServer" :
{
	"port"    : 19446,
	"forward" : [ "192.168.0.10:19445", "192.168.0.11:19445" ]
},


Former-commit-id: 33af219cfce99609ca7245d662dc0f0561013bbd
2016-02-08 16:56:23 +01:00
redpanther
4decb05348 adds ability to set static color on boot.
Former-commit-id: 41ca5ba73fde698d73380fac3dcee5e33b310d76
2016-01-31 22:38:30 +01:00
redpanther
8a906b9d01 make priority of boot effect adjustable. It is set to 0 to not alter to current behaciour.
A value of 900 could be more feasable, because boot effect with prio 0 isn't overwritable by other effects


Former-commit-id: 1852339e6ade62c86719cfbb47faa46eb8f8d4ed
2016-01-31 04:34:13 +01:00
T.van der Zwan
ad876b0d8c Fixed json value lookup
Only close the amlogic device every 20th succesfull reads.


Former-commit-id: 46c0cf1465b8c8b33d696bb2aeac5cabb1cb2819
2015-09-03 21:37:49 +02:00
T.van der Zwan
a3db06e90e Demangled config naming convention is framegrabber.
Former-commit-id: ccb9b98f3e42785620ade9970b33d94c77b93508
2015-08-20 10:14:19 +02:00
T.van der Zwan
5497fbf577 Finished the amlogic grabber for the 'WeTek Play'
Former-commit-id: e459cdfe6273ad2bfee92d2d190801ebdc691a5c
2015-08-20 09:51:44 +02:00
Gamadril
3fd20ec5fa - refactored framebuffer grabber to use ImageResampler
- added OsxGrabber for OSX
- added binary for imx6 (cubox-i) and updated install script


Former-commit-id: 2c55e292c842c67e54ce36bd91e4f6303b98687a
2015-01-24 23:42:22 +01:00
Gamadril
c89e1fcefa Added frame buffer grabber support
Former-commit-id: a73767a1abb2cac977492bd8c6cc593fb21840e1
2015-01-18 00:04:45 +01:00
T. van der Zwan
a86e451db9 Added black color before boot-sequence, to make sure that the boot-sequence is the first thing to start
Former-commit-id: 575f1dfa4d2047c109d179c209c683c37028e721
2014-09-22 20:24:33 +02:00
T. van der Zwan
b4d7410520 Started on adding a configurable delay in case leds are ahead of picture
Former-commit-id: 9eedf27c9cb51d05fca2ec2f0f9edae4726ac54d
2014-09-22 20:19:58 +02:00
Floris Bos
3c65b82ac1 Allow disabling PROTOBUF support
One dependency less for users that only use DISPMANX grabbing


Former-commit-id: 24ea0480e3798bab692e75d82ddb9f5eccfa03c5
2014-09-08 16:16:02 +02:00
Marc Dahlem
106257181b Added ability to define effect arguments for the bootsequence
Former-commit-id: b9827bb7af6c2cfdd8b1b0388d16541612b360d4
2014-05-06 18:36:34 +02:00
poljvd
dd1adc4e90 Merge pull request #73 from lobocobra/patch-1
Fix error in start script


Former-commit-id: 6a02b865c86befa29e970a7465b256cde5335e95
2014-04-11 19:52:33 +02:00
johan
dd0a18642b Fix build
Former-commit-id: 1b98924c9d9292b6661a5c9e3e17b06813348b54
2014-03-04 23:22:46 +01:00
johan
5e3cb497fa Add support to set the threshold for each RGB channel separately
Former-commit-id: 5edb206bb2657e78f711f67625fd5f6164d8296c
2014-03-04 22:04:15 +01:00
johan
99fd50805c Added image handler to v4l2 grabber to send colors to Hyperion
Former-commit-id: be6fb4dd8080b3325ba6161f48c093f8a145786d
2014-02-23 22:43:02 +01:00
johan
e58f84d5c8 Merge branch 'master' into merge_v4l2
Former-commit-id: 97b281cc14b3bc239fc5eab1f66c9d15e67f753f
2014-02-23 21:53:13 +01:00
johan
22472d8f95 Added v4l2 to hyperiond (partial)
Former-commit-id: 06684261ec3ac7bb4e8ff0479e5b1472823648ae
2014-02-21 22:30:34 +01:00
johan
f0c35071da Move V4L2 grabber code to separate library
Former-commit-id: f3003eb0142af3d085ccf93fff1b297ebc2321fc
2014-02-07 21:11:50 +01:00
johan
ba73fbd470 Set qt locale to 'C'
Former-commit-id: d2c0b2ea61c8444169a8d8635adf7af5d3b5c67b
2014-01-28 22:27:02 +01:00
johan
b846b0b15d Set C locale at startup
Former-commit-id: 2f47a595266e5b865aa70a65bbc8d29c0c515eed
2014-01-28 00:39:04 +01:00
T. van der Zwan
1e2d7188b1 Deleted obsolete (out-commented) code
Former-commit-id: a37da8b0cb38a988b467bd63b671e6b098136f72
2014-01-09 11:07:32 +00:00
johan
78795b9fa8 New XBMC checker functionality: 3D video detection (filename based) and screensaver detection
Former-commit-id: ea95e4ecde3ab9378bdf9c4c60950713947bd0ac
2013-12-21 14:32:30 +01:00
T. van der Zwan
89252d45d0 Added log statement for failure to start boot sequence.
Corrected name in default configuration file of bootsequence.


Former-commit-id: 7a303ca080f11e2bb5d72da039b9b1c1b44ddcdb
2013-12-13 18:59:01 +00:00
T. van der Zwan
b124ba25d8 Removed empty argument constructor from setEffect call for bootsequence
Former-commit-id: cc46278cb2b9db725ae367f49464d361ce06e670
2013-12-13 15:00:56 +00:00
T. van der Zwan
2efd751c76 Removed bootsequence library
Former-commit-id: 5f3f927236a26ae00299a8e7a914e98ace3b328a
2013-12-13 14:55:34 +00:00
johan
3bd1789c42 Fix bug: Only 1 EffectEngine allowed; SetColors implemented for EffectEngine
Former-commit-id: ae8141ebd530b7735ffa7818dc3c690913769070
2013-11-29 23:22:49 +01:00
johan
5454ddb375 Added skeleton for effect engine development
Former-commit-id: e1fb69fd4de4b8968075660e3ba7f7add021c152
2013-11-24 16:10:48 +01:00
johan
d60cca9e20 Added flag to disable dispmanx from build
Former-commit-id: 6630f588a739a08601c0db79abd2cdf0b1c1839c
2013-11-19 23:02:41 +01:00
johan
153e75555d Changed default grabbing flags when no xbmc checker is present
Former-commit-id: 9fabc0e570d44b301646c93b355042e1747a9183
2013-11-14 19:51:10 +01:00
T. van der Zwan
dd16af0df5 Changed RgbImage to template based Image (with template for pixel type)
Former-commit-id: ef02f164eaf3c2f9dd552c1c17b525cf6eed499c
2013-11-11 09:00:37 +00:00
johan
c77f45f221 Protect Boblight server against clients sending too much data
Former-commit-id: f3a575f71425da25fbaad68c48dcec746a50def2
2013-11-09 10:33:16 +01:00
johan
7300413015 BoblightServer added
Former-commit-id: deb3479ee673d763ad2e5451fcd35a0febedb4f3
2013-11-08 22:18:10 +01:00
johan
0b08341ef1 Initial commit including a linear color smoother
Former-commit-id: ffc00087996324f989e56dc5c95ab734c7c86dfa
2013-10-27 18:04:37 +01:00
johan
756e9a28c0 Application build time added to application to write to stdout at startup
Former-commit-id: 4fca64a4b7ae6f0d74495173df26538cebae95f3
2013-10-21 20:29:30 +02:00
johan
64b9316a04 Added some extra checks to be more tolerant for configration faults
Former-commit-id: 5061311d8116f848f36808f2c77dcff011ceb571
2013-10-16 23:19:40 +02:00
poljvd
d2738ef5f6 Update hyperiond.cpp
Former-commit-id: e7fe63bd3fed3c0132d07f6835f94988754e9a91
2013-10-16 18:04:43 +02:00
johan
6db1db3129 Added ProtoServer to the Hyperion server;
Updated the configuration file and schema to be more flexible;


Former-commit-id: 0f670ae6f9512abedf279fe0b014802e31f2f16f
2013-10-13 14:48:59 +02:00
poljvd
0963092b50 Change return value when no config file present
Former-commit-id: b560663960303b01466fb36f2e442926aa3b63b4
2013-10-10 09:51:18 +02:00
johan
876100249e Added configuration to XBMC video checker
Former-commit-id: 82a73ca5a31c7152572f06bff50befd26053d8df
2013-09-24 21:45:27 +02:00
johan
cf0f94224f Changed XBMC Video checker from emitting all black on a lower channel than the grabber to commanding the grabber 2013-09-23 22:33:38 +02:00
T. van der Zwan
4a19095234 Added factory to boot-sequence
Added json-config for boot-sequence.
2013-08-25 16:20:19 +00:00
johan
213545afe7 Added config file settings for XBMCVideoChecker 2013-08-24 11:51:52 +02:00
johan
026937d5e1 Changed XBMC video checker from HTPP (using QNetworkAccessManager) to a plain TCP socket because of thre required CPU 2013-08-23 21:40:42 +02:00
johan
c4eb715592 XBMC video checker added 2013-08-23 20:44:53 +02:00
T. van der Zwan
3d02fecc7a Added 'rainbow' boot sequence
Moved color transform to utils lib
2013-08-23 16:24:10 +00:00
T. van der Zwan
9033927685 Added signal handler to properly exit application and switch off the leds. 2013-08-22 20:06:13 +00:00
T. van der Zwan
51506cdeb9 Fixed incorrect index on commandline argument. 2013-08-22 05:57:46 +00:00
T. van der Zwan
240b118ce9 Added config-schema of Hyperion as resource.
Added constructor to Hyperion using filename.
Added config-filename as commandline parameter for hyperiond.
Added implementation of blackborder detector.
Added test for blackborder detector.
2013-08-21 14:25:27 +00:00
johan
59e13a2b5f restructured project structure: move projects into sub-folders, split dispmanx-grabber from hyperion 2013-08-17 16:12:42 +02:00