Commit Graph

261 Commits

Author SHA1 Message Date
Maxim Kulkin d08d63e6e6 Add frame grabber using OpenCV 2019-06-16 09:52:35 -07:00
Stefan Saraev d4edde2de6 [aml] do not unconditionaly use qt4 modules (#703) 2016-07-12 17:13:47 +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
brindosch 611067a5cf rm profiler at x11
Former-commit-id: 8b8229b82c
2016-06-10 16:52:49 +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: 81ee35ccf3
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: ef0ac6711d
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: a572f275b2
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: 6aa4135166
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: b35c4d672a
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: 470fbe6f0e
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: 0a7af16c62
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: 56e3e0d101
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: abfa51bcf3
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: 3b99c78661
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: 1e6347e708
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: 1c2669961d
2016-05-24 19:56:43 +02:00
Paulchen-Panther 409ef383f3 XRender support for X11 Grabber (#649)
* Update X11Grabber.h

* Update X11Grabber.cpp

* Update CMakeLists.txt

* Update hyperion-x11.cpp

* Update X11Wrapper.cpp

* Update X11Wrapper.h


Former-commit-id: d2f7cb0e22
2016-05-24 19:55:50 +02:00
brindosch 84a9125542 revert priority change
Former-commit-id: 4c91a9710e
2016-05-23 11:01:52 +02:00
Funatiq f8b724f9f9 Minimum luminance for backlight in dark scenes (#646)
* Include miminum luminance

* Add luminance minimum

* Add luminance minimum

* fixed missing ;

* Add luminance minimum

* Add luminance minimum check

Check if luminance mimimum is other than default

* Add luminance minimum

* Add luminance minimum

* Add luminance minimum

* Add luminance minimum

* Add luminance minimum

* Safe luminance calculation


Former-commit-id: 35a762b18b
2016-05-23 00:00:48 +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: 5f06f31484
2016-05-22 00:27:06 +02:00
brindosch 19a6bf1ee7 change default effect priority
Former-commit-id: ccdda39608
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: bbb55f6621
2016-05-18 11:26:25 +02:00
brindosch 77996fd65a amlogic docu update
Former-commit-id: a0293a6bec
2016-04-28 14:46:53 +02:00
brindosch 1d8b529192 mark deprecated values at hyperion-remote
Former-commit-id: b6095d193c
2016-04-02 00:41:01 +02:00
AEtHeLsYn b37cbd26d5 Add color adjustment to all RBG channels
* Channel adjustment config

* Create RgbChannelAdjustment.h

* Delete RgbChannelAdjustment.h

* Create RgbChannelAdjustment.cpp

* Create RgbChannelAdjustment.h

* Delete RgbChannelAdjustment.cpp

* Create ColorAdjustment.cpp

* Delete RgbChannelAdjustment.h

* Create ColorAdjustment.h

* Update ColorAdjustment.h

* Update ColorAdjustment.h

* Update ColorAdjustment.h

* Update ColorAdjustment.cpp

* Update Hyperion.cpp

* Update Hyperion.cpp

* Update Hyperion.cpp

* Update Hyperion.h

* Create RgbChannelAdjustment.cpp

* Create RgbChannelAdjustment.h

* Create ColorAdjustment.h

* Create MultiColorAdjustment.h

* Update MultiColorAdjustment.h

* Create MultiColorAdjustment.cpp

* Delete ColorAdjustment.cpp

* Delete ColorAdjustment.h

* Update RgbChannelAdjustment.cpp

* Update Hyperion.cpp

* Update Hyperion.h

* Update Hyperion.cpp

* Bug fixes

* Update hyperion.config.json

* Add color adjustment to json server and client and adapt hyperion-remote

* Change the color modification order

* Minor bug fix

* Create calibration Images folder

* Create calibration Gamma folder

* Create calibration RGB folder

* Added files via upload

* Delete .gitkeep

* Delete .gitkeep

* Added files via upload

* Delete .gitkeep

* Update color effect order and don't correct twice

* Uploaded gradient images


Former-commit-id: 8ab465e598
2016-04-02 00:04:11 +02:00
brindosch f332473b77 Merge remote-tracking branch 'refs/remotes/origin/Beta'
Former-commit-id: 5bdbda1406
2016-03-23 17:53:32 +01:00
brindosch fe8a92b2eb Typo
Former-commit-id: a6032547f5
2016-03-23 17:44:29 +01:00
brindosch fa66c3b2b5 Rework log messages
Former-commit-id: eac93c0fd7
2016-03-23 17:40:45 +01:00
AEtHeLsYn 1b50fdd74e Update hyperion-remote.cpp
Former-commit-id: dec50a5098
2016-03-23 13:35:38 +01:00
brindosch 1f18073f00 Merge pull request #534 from AEtHeLsYn/master
Color correction

Former-commit-id: 7be726f1ad
2016-03-22 00:56:41 +01:00
AEtHeLsYn 7da3e83597 Update JsonConnection.cpp
Former-commit-id: c701972ecd
2016-03-21 17:39:02 +01:00
AEtHeLsYn fa3b338894 Update hyperion-remote.cpp
Former-commit-id: 2ef2b5d21e
2016-03-21 17:20:06 +01:00
AEtHeLsYn 9987590e5e Update hyperion-remote.cpp
Former-commit-id: 652cde0ee1
2016-03-21 17:19:06 +01:00
AEtHeLsYn 909112fbfb Update JsonConnection.cpp
Former-commit-id: 712db0e3d8
2016-03-21 17:13:46 +01:00
AEtHeLsYn 4836bfc863 Update JsonConnection.h
Former-commit-id: 4a0983b135
2016-03-21 17:10:01 +01:00
AEtHeLsYn a15a680dc3 Update CustomParameter.h
Former-commit-id: 99fa0c1a3d
2016-03-21 17:09:10 +01:00
AEtHeLsYn 0bafc4a3cc Create ColorCorrectionValues.h
Former-commit-id: d765e8c756
2016-03-21 17:08:10 +01:00
AEtHeLsYn 1f1aee0c37 Final fixex
Former-commit-id: 7b2e1a33ab
2016-03-13 21:14:22 +01:00
AEtHeLsYn 28f67871dc More fixes
Former-commit-id: 331ba604db
2016-03-13 13:05:47 +01:00
AEtHeLsYn a5a17776d4 BugFix
Former-commit-id: 8887ee93d5
2016-03-13 12:10:54 +01:00
AEtHeLsYn e4d77660a4 Bug fixes
Former-commit-id: a6783a75ed
2016-03-13 11:59:36 +01:00
AEtHeLsYn 84c48b9a0a Merge remote-tracking branch 'refs/remotes/tvdzwan/master' into test
Former-commit-id: 19831aa230
2016-03-13 11:52:38 +01:00
redpanther fd2cb44b1c merge upstream
Former-commit-id: 041b6fab00
2016-03-13 08:07:58 +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: d34fbdd65e
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: 85c9f099bd
2016-03-12 19:21:47 +01:00
AEtHeLsYn a5e042225e Update JsonConnection.cpp
Former-commit-id: 7b748e6059
2016-03-11 12:30:32 +01:00
AEtHeLsYn 8fce604ccb Update JsonConnection.h
Former-commit-id: 5d44428cd9
2016-03-11 12:29:07 +01:00