* Fixing the check of createKey in handleConfigSetCommand
* Update schema-config.json
* add overwrite option to configset command
* add overwrite option to setConfig function
* add overwrite option to setConfig function
* - update coding style
- add command for getting schema via json api
- json api: merge config commands into one single "config" command with subcommands
* make setconfig work
* Remove "endOfJson" Value
Deprecated value from Hypercon
* Remove "endOfJson" Value
Deprecated value from Hypercon
* Add writeJson function to JsonFactory
* ability to ignore required value in schema file
* Remove "endOfJson" Value
* Add handleConfigSetCommand function
* Add handleConfigSetCommand function
* Update JsonSchemas.qrc
* Update schema.json
* Update JsonSchemaChecker.cpp
* Add configSet command to Hyperion-remote
* Add setConfigFile function
* Add setConfigFile function
* Add schema-configset.json
* 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
* 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
* 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
* 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
* 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
* 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.
* - 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
* 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
* common ledbuffer for color transform
hyperion class uses a common buffer for all operations on ledColors got from muxer
all color transforms uses new ledBuffer instead of making copies of ledbuffer
other fixes:
fix compile bug in profiler
update doxygen config
* migrate logging for color transform classes
* prepare new logger in hyperion class
* implement hwledcount
* Update Hyperion.cpp
Fix off color
* remove ledscount equivalent from apa102
migrate logging in hyperion.cpp
remove unused and duuplicate colorcorrection - but same is available through tempertature
* remove colorcorrection completly
fix compile
* set colororder back to static
* in remote: using correction is the same as using temperature - correction is obsolete, command not delete atm for compat reasons
* start implementening runtime start/stop for udplistener
* add signal slots for start/stop/statusChanged for better connectivity with other qt stuff
* fix typo
- 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
* 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
* 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
* 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
* 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)
* 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
* 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
* 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
* 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
* 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
* 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
* make proto and json server permanent. An unconfigured p/j server means server with default values
* fix typo
Former-commit-id: 81ee35ccf348f1fe4dc554f2df03878d9c870f6f
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
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
A value of 900 could be more feasable, because boot effect with prio 0 isn't overwritable by other effects
Former-commit-id: 1852339e6ade62c86719cfbb47faa46eb8f8d4ed