Commit Graph

320 Commits

Author SHA1 Message Date
birdhouse
c1d794cd02 WebUI: Update Check, Cleanup and Hyperion Switcher IPv6 Fix
Update Check:
- New Property which allows you to select stable or beta branch checks.
- This would rely on current versions.json. It selects the first version in list with you branch (stable, beta). If it is newer hyperion tells you that a update is available
- For this we should keep our deployment pipeline in mind to format the json this way.

Cleanup:
- I cleaned up the WebUI from dead links and the support page with the affiliate links and donation adresses as we don't have them under our control. Currently only disabled, not deleated

Switcher:
- If the address which is published via bonjour serve is IPv6 the Switcher was bugged. Fixed that.
2019-06-20 19:27:22 +02:00
Paulchen-Panther
2ccdfeb9e1
Gold linker, CCache, Stats, LGTM
- Increases linker performance under Linux builds by using Gold linker, if available
- ccache is used if available
- removed statistic class (Stats.cpp) from project due to the missing result (sorry @Brindosch)
- add LGTM bandges for code analysis overview

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-06-05 21:13:37 +02:00
Paulchen-Panther
02dc7c7c4d
External grabber (V4L2) forwarding corrected
Signed-off-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
2019-06-05 21:00:09 +02:00
Paulchen-Panther
fe204a8a33
Boblight fix
- The default Boblight priority has been set to 128. If the sent priority differs from the default priority, it is registered (https://hyperion-project.org/threads/hyperion-ng-enigmalight-boblight-server.3558/#post-15006)
- Submodule flatbuffer updated to current master

Signed-off-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
2019-06-05 21:00:09 +02:00
Paulchen-Panther
c6de5173ec
Bug fixes Part 2
- If the internal v4l2 grabber is switched off, it will now be de-initialized (Issue: #542)
- Extended error detection in MJPEG decompress method
- Default instance capture activation if it is missing in the configuration (https://hyperion-project.org/goto/post?id=13656#post-13656)
- Fixed some small (think)mistakes (https://hyperion-project.org/threads/hdmi-grabber.3302/page-2#post-14887)
2019-06-05 21:00:09 +02:00
Paulchen-Panther
0a8af60726
Bug fixes and new implementations
- Video format MJPEG implemented (libjpeg/qimage)
- Inactive priorities are now skipped correctly (PriorityMuxer.cpp line 297)
- v4l configuration section replaced with an object (preparation for #542)
2019-06-05 21:00:09 +02:00
Portisch
0e756beae4 Add SIGUSR1 and SIGUSR2 signals to disable/enable the LEDs
Fixed enable on LedDeviceWrapper constructor.
2019-04-24 13:05:32 +00:00
Paulchen-Panther
2ae692de26
Config correction enabled
Change of protobuf dependency for Amlogic
2019-02-18 21:16:30 +01:00
Paulchen-Panther
7ff9d7037b
ProtoBuffer, UDPListener ...
Protocol Buffer reimplemented to receive image data from third-party apps
The status of the component "UDPListener" is now displayed correctly in WebUI
Global signal names for WebUI added
2019-02-17 15:26:11 +01:00
Portisch
499d4cb33c Amlogic fix
fix ge2d mode
added ge2d single/combined ioctl call
speed up imageresampler
speed up amvideocap0 mode
added config to choose if amvideocap0 or ge2d grabber should be used
2019-02-13 07:42:39 +01:00
Paulchen-Panther
5cc353468d Flatbuffer, Forwarder
- Flatbuffer now only sends data if priority registration was successful
- Forwarder no longer needs to worry about registering the priority
2019-02-05 19:55:48 +01:00
Paulchen-Panther
657fe00211
Troubleshooting and ...
- More i18n
- Easy use of mutual exclusion in JsonAPI with QMutexLocker
- Smoothing type "linear" hidden in the WebUI, because there is currently only one
- Message forwarding implemented again
- For compatibility to home assistants and other remote controls, "activeEffects" and "activeLedColor" has been added to the JSON-RPC
- FlatBuffer clear now the Priority on disconnect
- The information "available V4L2 devices" is now only displayed if the device list is not empty
- LED device "PiBlaster" excluded from OSX build
2019-02-03 14:36:57 +01:00
Paulchen-Panther
2dca1c93e6 Commits from @MartB and more ...
- Commit: 1d9165f403
- New default QT capture implementation
- UploadHandler added to Effects Configurator to allow uploading GIF files
- Docker compile script and instruction
- Travis Fix
2019-01-06 21:09:27 +01:00
Paulchen-Panther
7352ff4d42 Threading and more
- webui remove restarts
- threading for LedDevice
2019-01-01 19:58:50 +01:00
Paulchen-Panther
d6b2cfaf9d update 2018-12-31 15:48:29 +01:00
Paulchen-Panther
38950edf35 remove protobuf (part 2) 2018-12-30 22:07:53 +01:00
Paulchen-Panther
559311e18c
remove protobuf 2018-12-30 16:43:22 +01:00
Paulchen-Panther
2a77f6f012
even more changes
Signed-off-by: Paulchen-Panther <Paulchen--Panter@gmx.net>
2018-12-28 18:28:49 +01:00
Paulchen-Panther
3700566d10 add flatbuffer dependencies 2018-12-28 18:08:58 +01:00
Paulchen-Panther
d762aa2f3e Details coming soon. 2018-12-27 23:11:32 +01:00
Paulchen Panther
87c9c23807
emit rawLedColors before transform 2018-12-20 15:12:45 +01:00
Paulchen Panther
44013aa36c
Remove invalid iCCP chunk from icon 2018-12-02 14:26:41 +01:00
Paulchen Panther
ed7f538e38
Delete hyperion-icon_32px.png 2018-12-02 14:25:36 +01:00
brindosch
fa75143dbf
remove kodiVideoChecker (#475) 2017-11-22 00:52:55 +01:00
brindosch
992dd6ea84 cmake 3.0.0 (#480) 2017-10-13 00:06:31 +02:00
brindosch
838008568a JsonUtils & improvements (#476)
* add JsonUtils

* update

* repair

* update

* ident

* Schema correct msg other adjusts

* fix effDel, ExceptionLog, cleanup

* fix travis qt5.2

* not so funny

* use Qthread interrupt instead abort bool

* update services
2017-10-12 11:55:03 +02:00
brindosch
59ec767373 Add SECAM video standard to v4l2 2017-10-04 21:23:45 +02:00
brindosch
81f5f51257 UI fixes/updates (#468)
* fix logging display

* hue wizard add usrname

* fix restartAction sometimes not executed

* remove configRevision

* remove v4l2 grabMode(2d/3d)

* remove latchTime from configs

not in main led device schema

* config comment: all grabbers can crop

* remove smoothing delay&pause for effects

* finalize disable effects ui

* fix empty effect selects

* remote page add 2D/3D videoMode

* add blackborder texts

* Update EffectEngine.cpp
2017-09-04 23:12:59 +02:00
redPanther
2aa4df92a9 amlogic refactoring (#464)
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access

* just save it, in the middle of ge2d impl

* fix compile issues

* now grabbing works basicly

* add 3d support for ge2d

* next step, we got some video from aml

* switch back to rgba

* remove unfinished ge2d stuff

* commit missing changes

* some urgent fixes, needs some beautifying, but it works now

* fixes and refctoring
2017-09-01 08:50:37 +02:00
redPanther
9eff6384cc grabber api and feature unification (#462)
* move setvideomode to common place

* implement more croping and 3d support

* more api unification

* more refactoring

* osx fix

* next step

* add a mock for osx grabber. Now it is possible to test compile on none osx platforms.

* more unifications ...

* remove obsolete includes and grabbers are not dyn allocated. dispmanx needs rework an probaly not work atm

* first version of dispmanx mock. it compiles, but outputs a black image

* now dispmanx mock works!

* activate mocks in travis linux build
prepare dispmanx to rgb image out

* dispmanx now with image rgb output
fix deadlock with w/h -1 in grabber v4l
cleanups

* fix json

* fix some runtime stuff

* Update FramebufferWrapper.cpp

fix missing code

* unify grabframe

* 3d and croping for amlogic

* fix setimage not working

* make use of templates
save some codelines

* save more code lines
2017-08-12 07:55:32 +02:00
redPanther
317a903b14 Leddevices source tree refactoring (#461)
* rework structure of leddevice source tree

* fix data type vor v4l sig detection value in webui

* automate leddevicefactory.cpp
2017-08-07 10:05:46 +02:00
redPanther
569e59110e implement set videomode via json api (#457)
* implement set videomode via json api

* refactor grabbers:
- new base class
- move shared code to base class

* fix osx

* rework all cmakelist files with auto file collection. except leddevices (need further restructuring)

* store current video and grabbing mode

* add json stuff

* remove grabbingmode - we do not want to expose it
2017-08-04 23:08:15 +02:00
redPanther
6279dcb2a9 per effect smoothing (#456)
* add dynamic smoothing first step
* extend prio muxer to hold smoothing preset id
* add icons for systray
* fix missing changes in prio muxer
*  implement specific smoothing params for effects
* refactoring: std::min/max to qMin/Max
* some code optimization
* fix schema and translation
* revoke change of python include order
* fix eol in effect shemas
* optimize random,candle and fadecandy json schemas
2017-08-04 12:01:45 +02:00
redPanther
6625a318ac hyperiond desktop integration (#453)
* add deployment

* add correct api key

* fix cmake lists and add heroku app name

* Update .gitmodules

sync modules with upstream

* add possibility to start hyperiond as systray app

* cleanup

* - new command line options: --desktop --service to set desired mode (systray icon / console only)
- auto detect x server - if avail run in gui mode
- on osx always run in gui mode
- use existing icon from webconfig, instead of own icon
- add ability to no gice a config file name. If config not given, default config file will be set (home dir, or hyperiond dir, depending on writable state)

* fix warnings and compile error

* use own icon for systray purpose

* use new logo

* - set application properties
- fix force service mode
2017-08-01 17:29:47 +02:00
brindosch
5c7085439b update to cmake 2.8.12 (#451)
* update

* resolve qt5w

* test

* Go down

cmake python search won the price for crazy lib searches!

* 2.7 python forced, RPATH

* upstream

* ...

* update

* ...

* 2.7.12 py it picks random versions...

* max 7.12.5....

* Test 14.04 tests
2017-08-01 15:42:36 +02:00
brindosch
8a794039cf Expand effect engine & ui update (#445)
* update

* update

* update

* .

* .

* .

* update

* .

* .

* .

* .

* update

* .

* update

* .

* update

* update

* update

* update

* update

* update

* .

* update

* update

* update

* .

* .

* .

* Revert "."

This reverts commit 4dd6404b32.

* update

* .

* .

* .

* .

* .

* .

* .

* .

* .

* .

* .

* ...

* .

* .

* .

* .

* .

* .

* .

* .

* .

* update

* update

* update

* remove svg and pic

* colorpicker imgs to base64 to prevent delayed load if not cached

* fix json2python func

* update swirl with rgba

* add double swirl, tune default val in schema, update explanation

* adjust swirl.py

* FileObserver for config checks with timer as fallback (#4)
2017-07-30 14:36:23 +02:00
Paulchen Panther
5bd020a570 JSON Auto correction + hyperion schema split for better readability (#452)
* revoke schema split

* add "getAutoCorrectedConfig" function

* revoke schema split

* revoke schema split

* revoke schema split

* Prevent compiler error if none grabber is available

* revoke schema split

* add "getAutoCorrectedConfig" function

* revoke schema split

* remove "configMigrator"

* remove "configMigrator"

* Change TestConfigFile to show how the autocorrection works

* revoke schema split

* revoke schema split

* remove "ConfigMigrator"

* remove "ConfigMigrator"

* remove "ConfigMigratorBase"

* remove "ConfigMigratorBase"

* Add QJsonUtils.h

* added ability "ignore-required"

It has been added the ability to correct the configuration without having to pay attention to the keyword "required" in the hyperion schema

* Allow Comments in Hyperion Schema

* add ability to ignore the "required" keyword in hyperion schema

* add ability to ignore the "required" keyword in hyperion schema

* add ability to ignore the "required" keyword in hyperion schema

* //Allow Comments in Hyperion Schema

* Update jsonschema.py to version 0.8.0 to support ...

references in json schema

* add RefResolver from jsonschema.py to resolve

references in hyperion schema

* remove dupe code

* split the hyperion schema in separatly files

For better readability

* add function "resolveReferences" to resolve

references in hyperion schema.

* remove CURRENT_CONFIG_VERSION

* remove CURRENT_CONFIG_VERSION

* split the hyperion schema in separatly files

For better readability

* Create schema-backgroundEffect.json

* Add the rest of the Hyperion schema via upload

* Remove Comments in config file

* Add return variable to function writeJson().

fix function resolveReferences().
edit function load() to handle QPair result from schemaChecker.

* edit function validate() to return QPair variable

* fit function loadEffectDefinition()

* fit function checkJson()

*  Expand error check by dividing

"_error" variable in "_error" and "_schemaError".
Replace variable "bool" in validate() in QPair

* Extend function "cmd_cfg_set" to handle auto correction

* Extend function "loadConfig" to handle auto correction

* fix function loadConfig()
2017-07-30 13:32:10 +02:00
brindosch
5da871dc9f Move JsonProcessing from JsonClientConnection to own class (#444)
* update

* Tell me why...
2017-06-24 11:52:22 +02:00
brindosch
d3707cb118 Websocket auto serverinfo responder (#443)
* serverinfo cb

* remove webui cron

* missing header file

* tcp connection should trigger to
2017-06-17 23:29:04 +02:00
redPanther
b65d811640 add limit for write to leddevice (#432)
* add limit for write to leddevice

* add to default config

* add i18n

* extend xmas effect

* fix indention

* add check for minimum brightness

* adapt effects to fading and new minWriteTime

* remove old latchTime
rename minimumWriteTime to latchTime
make it as dev specific option

* set default for rewriteTime to 1s
pause smoothing on color too

* reenable smoothing for color - it looks nicer :-)

* fix timeout timer
2017-04-09 22:28:32 +02:00
redPanther
cd62dcd351 Update MultiColorAdjustment.cpp
backlight threshold and brightness are independend now - check not neccessary
2017-04-07 20:42:27 +02:00
redPanther
5ea3c752b5 new brightness handling (#430)
* clean color adjustment

* now a prio duration of "0" means infinity

* implement dynamic 'just in time' initialization

* implement new brightness handling

* cahnge access level

* i18n fix

* - cleanup brightness stuff
- update webserver, now with initial ssl support

* - backlightThreshold is now 0-100 instead 0-1
- better performance for brightness - use piecewise linear instead of sqrt
2017-04-03 05:19:05 +02:00
redPanther
852f7b86bb clean color adjustment (#428) 2017-03-31 19:37:27 +02:00
redPanther
e9040f885d disable smoothing for effects (#425)
* no smooth for efx
rework fade effect

* join strobe and fade effects
new effect "breath"

* - make transition efx to smooth mode more smooth
- fixes for pacman
- rework fade base effect - make it more versatile
- fix prios in schema files
- new notify blue effect to demonstrate capability of fade effect
2017-03-30 06:20:20 +02:00
brindosch
8e12d189b0 Hyperion Switcher + cleanup (#423)
* upd

* update

* update

* update schemachecker

* ...

* fix lowest priority

* zeroconf updates (#421) (#3)

* zeroconf:
add ip
make names more uniq

* tune dns name for webconfig

* update

* update

* update

* update ui

* ...

* min val for gamma

* lost somewhere this

* add status to hyperion object

* update ui
2017-03-24 10:17:36 +01:00
redPanther
c6fa40fa87 global on/off (#424)
* implement global on/off

* set gamma minimum to 0.1
2017-03-23 17:11:07 +01:00
redPanther
a08e951762 zeroconf updates (#421)
* zeroconf:
add ip
make names more uniq

* tune dns name for webconfig
2017-03-22 23:08:01 +01:00
redPanther
0d996d6d10 clearall don't remove prio 254/255 (reserverved for system purpose) (#420) 2017-03-22 11:52:20 +01:00
redPanther
0aa467cceb populate zeroconf/avahi/bonjour records via json api (#419)
* start of integrating a bonkour service browser

* some experiments

* blub

* bonjour browser via jsonrpc ...

* fix indention

* - make leddevice as component
- extend sysinfo with domain
- add more data for  bonjour browser (e.g. split domain and hostname)

* code cleanup

* add translation

* use component names instead of ids

* fix compile
2017-03-21 17:55:46 +01:00
redPanther
a20e073bbd make v4l signal detection switchable (#415) 2017-03-15 20:33:11 +01:00