Commit Graph

119 Commits

Author SHA1 Message Date
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
a7f72a7bf2 fix mess 2017-05-29 21:34:47 +02:00
brindosch
e2ca9bcaa5 Stats
Testing time!
Also new: Effects dirs are now created automatically
2017-05-29 15:59:11 +02:00
redPanther
f6209174c3 effects: image: make saving and minsize work (#433) 2017-04-14 07:58:34 +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
bfb9a08c80 migrate std::string to qstring + add sysinfo via json (#412)
* std::string -> qstring part 1

* more string migration

* more string migration ...

* ...

* more qstring mogrations
add sysinfo via json

* remove unneccessary includes

* integrate sysinfo into webui
2017-03-04 22:17:42 +01:00
redPanther
221af075a4 implement origin for effects (#408)
* implement rigin for efx

* implement origin for effects and other components
add experimental adalight firmware for arduino with upto 5 pwm channels

* cleanup

* origin ip now with dns lookup

* fix compile

* move some code
2017-03-01 15:23:53 +01:00
redPanther
cab3c2fdc9 add more drawing func to effect engine (#400)
* - add more drawing func to effect engine
- make provider rs232 less noisy
- json checks: remove utf8 conversion temporarly and make it compat with py3 again

* fix compile prob
2017-02-16 07:33:58 +01:00
brindosch
8d7137136b priorities rework, webc update (#366)
* update

* update

* tabs test

* update

* test

* ...

* fix editor

* update ui

* fix visual glitch if help is off

* fix fadecandy error and th

[skip ci]
2017-01-17 21:53:35 +01:00
Paulchen Panther
8f67294de6 Implement "reloadEffects" function in Hyperion for "write and delete" custom created effect configuration files (#293)
* Update EffectEngine.h

* add reloadEffects function

* add readEffects function

* add reloadEffects function

* Call reloadEffects after handleCreateEffectCommand and handleDeleteEffectCommand
2016-11-20 18:41:10 +01:00
Paulchen Panther
c2faf07574 Delete custom created effect configurations with JSON RPC (#289)
* Add ability to delete custom created Effects

* Add deleteEffect function to Hyperion-Remote

* Add deleteEffect function to Hyperion-Remote

* Update schema.json

* Update JsonSchemas.qrc

* Add schema-delete-effect.json

* Add deleteEffect function to JSON RPC

* Add deleteEffect function to JSON RPC

* Add Effect configuration file (.json) to Effect Definition

* Update EffectDefinition.h
2016-11-18 18:39:21 +01:00
Paulchen Panther
08dfec20c5 Adding the possibility to test new Effects ... (#282)
* Update effects_configurator.html

* Update content_effectsconfigurator.js

* Update hyperion.js

* Update de.json

* Add argument QString "pythonScript" to runEffect function

* Update Hyperion.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp

* Update schema-effect.json
2016-10-30 22:59:45 +01:00
Paulchen Panther
fab0c208fe Create Effect configuration files (.json) with JSON RPC (#277)
* Add getEffectSchemas and loadEffectSchema function

* Add getEffectSchemas function

* add effect schema files to internal resources

* Add loadEffectSchema and getEffectSchemas function

* add effect schema resources

* add getEffectSchemas function

* extend handleSchemaGetCommand to get ...

... all available effect schemas
add handleCreateEffectCommand function

* add handleCreateEffectCommand function

* include schema-create-effect.json file

* add create-effect schema

* Add schema-create-effect.json file

* Add createEffect to hyperion-remote

* Add createEffect function

* add createEffect function

* Create fade.schema.json

* Add files via upload

* Add files via upload

* Update police.schema.json

* Update EffectEngine.qrc.in

* Update CMakeLists.txt
2016-10-24 23:52:53 +02:00
redPanther
1565d60d86 fix json double evaluation for effects 2016-10-14 20:59:03 +02:00
redPanther
f881a0abe3 fix effect overlay not evaluated correctly 2016-10-14 20:13:45 +02:00
Paulchen Panther
ebbb6b9440 JsonCpp to QTJson (Part 5) (#270)
* Update Hyperion.h

* Update ImageProcessorFactory.h

* Update ProtoConnection.h

* Update WebConfig.h

* Update CMakeLists.txt

* Update Hyperion.cpp

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CgiHandler.cpp

* Update CgiHandler.h

* Update WebConfig.cpp

* Update CMakeLists.txt

* Update hyperion-remote.cpp

* Update JsonConnection.cpp

* Update JsonConnection.h

* Update hyperiond.cpp

* Update hyperiond.h

* Delete JsonFactory.h

* Delete JsonSchemaChecker.h

* Delete JsonSchemaChecker.cpp

* Update WebConfig.cpp
2016-10-11 19:51:20 +02:00
redPanther
e889996ae7 implement optional color correction for V4L only (#267)
* remove color temperatire, its the same as color adjustment

* remove temperature from schema

* implement most part of v4l only colro settings,
now hyperion update knows from which component the colors come

* update configs

* fix webui config write

* reomve correction and temperature from hyperion-remote
2016-10-10 18:29:54 +02:00
Paulchen Panther
d9c2a2d91a JsonCpp to QTJson (Part 4) (#266)
* Update ActiveEffectDefinition.h

* Update EffectDefinition.h

* Update EffectEngine.h

* Update Hyperion.h

* Update LedDevice.h

* Update QJsonFactory.h

* Update QJsonSchemaChecker.h

* Update Effect.cpp

* Update Effect.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp

* Update JsonClientConnection.h

* Update schema-config.json

* Update LedDevice.cpp

* Update QJsonSchemaChecker.cpp

* Update hyperion-remote.cpp

* Update JsonConnection.cpp

* Update JsonConnection.h

* Update hyperiond.cpp
2016-10-09 22:22:17 +02:00
redPanther
89afedf3d5 light clock (#260)
* extend image effects
add a basic light clock

* add alpha values  to rainbow

* some effect tuning

* make seconds hand optional and change color to yellow
make blue hours hand always visible
2016-10-01 21:34:30 +02:00
redPanther
f88cd3a230 extend effect engine with qt image effects (#249)
* - effects now can use qt image effects
- rainbow swirtl is now suitable for any led layout - including matrix

* fix rainbow effect

* effect: add radialGradient

* fix some js errors

* optimize code

* try fix travis test not working as expected

* fix default config files

* fix config
2016-09-21 22:01:50 +02:00
redPanther
1cc2f72fa2 embedded webui + config modification detection (#240)
* implement embedded webui

* add detection for changed config, later on used for restart hyperion
2016-09-14 13:51:28 +02:00
redPanther
adfe2a4b23 effects included in hyperiond binary as qtResource (#237)
* implement effects included in hyperiond  binary

* cleanup

* remove install of effects dir. People who wants to develop effects has to copy them from github
effect params for initial effects can be changed in config permanently and other effect params can be changed
via json (currently only temporarily)

* fix schema of fadecandy
webui fix display of specific led options

* add leddevice write support

* cleanup

* webui: tune hue code

* when use json effect definition from putsiede hyperiond but want to use py script from inside hyperiond use ad a :
e.g. fade.py needs a fade.py near the json file, but :fade.py is taken from resource inside hyperiond

* add ability to di

* add abiloty to diable effcts via hyperion config

* use effect name instead of script in active effects and prio register

* finally solve open file handle during effect is playing. Now script is read before, then file closed and then t is run by python

* fix some webui things
- led config tabs
- inital loading screen

optimize qrc file generation
fix compile warning in hyperion.cpp

* cleanup

* more cleanup
2016-09-13 11:51:16 +02:00
redPanther
4c6a4a1f93 fix effect prio unregister 2016-09-06 11:18:29 +02:00
redPanther
4a27f3d43e refactoring of webui and event based websocket layer (#219)
* make hyperion websocket api event based

* implement new websocket handling for generalconf

* migrate all webui stuff to new event based websocket api
some cleanup ... now all html templates are in content
refactoring of web stuff

* add hyperionport to global
start impl. removing advanced key

* separate dashboard
serverinfo is updated every 3 seconds automatily
add input selection
cleanup and remove not needed stuff

* prepare infrastructure for server sided file execution

* webui minor fixes

* fix compile
2016-09-03 15:54:33 +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
penfold42
84c041a6fb updated more incorrect logging types (%s vs %d) (#156) 2016-08-07 07:06:56 +02:00
redpanther
d1a5e5b75a Merge remote-tracking branch 'upstream/master' into grabber_rework 2016-07-16 22:52:18 +02:00
Paulchen-Panther
02c90e8684 Update EffectDefinition.schema.json 2016-07-16 20:34:47 +02:00
redpanther
505b83f028 every input sources trackes now its priority and ID to hyperion core
ATM all input sources except inputs via proto are tracked
2016-07-15 23:08:55 +02:00
redpanther
d3e77eb018 fix doxy 2016-07-15 10:28:12 +02:00
redPanther
c2e2c26ab2 Logging migration continues ... (#97)
* migrate logging for blackborder and bonjour. fix logging bug in hyperion

* fix kodichecker when kodi is not there
2016-07-10 23:14:23 +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
redPanther
33ebdcaffc - add cmake qt check, minimum 5.2 (#40)
- on x86 use dynamic avahi libs
- fix compile error
2016-06-23 19:56:50 +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
penfold42
48134d0aef Remove widgets (#35)
* Trying to remove dependency on Widget
removed unused bonjour example source

* forgot the modified files
2016-06-21 23:34:57 +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
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
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
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
06afe06774 better output for effect path loading (#652)
* better output for effect path loading

* effectengine: error when no efx available


Former-commit-id: 7724e56850ef9f9a703fb41e82baf88e5534f492
2016-05-24 22:14:45 +02:00
Paulchen-Panther
bb9b02cf05 get current state (active Effects) over JSON Interface (#608)
* Create ActiveEffectDefinition.h

* Update EffectEngine.h

* Update Hyperion.h

* Update Effect.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp


Former-commit-id: 5664b69da6893dd0d0de0e7c74c01cdcafd57310
2016-04-24 17:07:31 +02:00
brindosch
fa66c3b2b5 Rework log messages
Former-commit-id: eac93c0fd78fdf353e940d08df3cabf0b962a3e2
2016-03-23 17:40:45 +01:00
tpmodding
63e150756d Update CMakeLists.txt
If you want to compile for OpenElec on Raspberry Pi, you must use Python 2.7

Former-commit-id: 813a997161461b90626359e2e23149f8fab59fbf
2016-02-24 00:24:46 +01:00
frostworx
defe217c89 added optional QT5 support - LedDevicePhilipsHue needs proper fixes
Former-commit-id: 7f0971ccda221933da4be836628532e7cfc7c085
2016-01-06 17:31:23 +01:00
poljvd
3488f23603 Update cross compile info
Former-commit-id: c604de9bc9e0dddc48abddccb93118b6568b6a85
2015-01-21 12:57:28 +01:00
T. van der Zwan
f12bffb44f Merge remote-tracking branch 'origin/master'
Former-commit-id: b4eb2e7a1c78d107cb7bc69a04b1cff694f6e308
2014-08-19 10:54:39 +02:00
T. van der Zwan
089120fe9d Fixed error message for setImage
Former-commit-id: db0c38d865463048c6bb039c173e02ea685ae36e
2014-08-19 10:54:15 +02:00
johan
d5597d55a7 Disable the blackborder detector for effects
Former-commit-id: 2d4660f48c17977aabff52b7cbbc8d832b216f00
2014-04-30 22:53:05 +02:00
johan
e761a30b58 Support for Python3 tested
Former-commit-id: 987571bec31e72c4c5dad9b4ceebbca62de6c794
2014-03-01 19:28:57 +01:00
Johan
e0d405034f Add support for Python 3
Former-commit-id: b6aec954ba0e79ba5697ea8cc305eb9f7d29f332
2014-02-26 18:10:17 +01:00
johan
0537fdc741 Moved effect configurations from the config file to effect directory
Former-commit-id: b8db13f25b93a0007adf613f0310a1cfbb6b8224
2013-12-11 21:58:59 +01:00
johan
f1acf5a9e4 Clear effects if a setColor comes from another source
Former-commit-id: 43084eeee26ee233ac1f0c71d6782b64b154f0da
2013-12-08 17:45:26 +01:00
johan
000117e393 Some small optimizations in the effect engine
Former-commit-id: ed35fc4ff0dc3afa133f584b6625227eb7b615dc
2013-12-08 12:46:33 +01:00
johan
068a98b84f Changed bootsequence to use the effect engine exclusively
Former-commit-id: 8953ef5fb4a0dfd12a4d94f69af6dbdd40aa20f7
2013-12-01 16:35:45 +01:00
johan
515ae3e8c0 Added the possibility to set effect arguments over json
Former-commit-id: 4bc2920c04853e549c712ec70492371b14d20877
2013-12-01 14:09:01 +01:00
johan
1ec84005c0 Changed hyperion args variable in module from string to dict
Former-commit-id: ae94dca70590e3ed15e991172b7458cf4298e655
2013-11-30 17:41:38 +01:00
johan
47eaf25904 Clear channel after a effect stopped by itself
Former-commit-id: 98be2adfb9a6b2029fc2fe4dad4999b7c44a0aad
2013-11-30 15:54:47 +01:00
johan
ae1bd7d254 Effects added to configuration file
Former-commit-id: 2ff4700ee5d5bc3a7dd5a29ecd35c1c9dd189873
2013-11-30 12:42:08 +01:00
johan
554bc30c35 Added the possibility for scripts to have an argument string
Former-commit-id: 7c5cec34be56d926edda1c9955dc57de838622f9
2013-11-30 00:28:04 +01:00
johan
121f56ca32 setImage implemented for the EffectEngine
Former-commit-id: 81889cd77125979a06732a8e98e8b398891ec385
2013-11-29 23:53:58 +01: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
45e4aff5f1 Hmmm something is wrong here with the Python interpreter
Former-commit-id: bfa87ac83ae1518348e5fe1ed77f20475134e1b0
2013-11-28 16:26:32 +01:00
Johan
c18920b59e Led count info added to Effect script
Former-commit-id: 36e85b2a33a89f3d91605ff1c1466d52779c510c
2013-11-28 14:40:03 +01:00
Johan
c82954d82a Added checking for timeout of effect
Former-commit-id: 7768368d1a386447714610c28c50e3658b6037c5
2013-11-28 14:29:31 +01:00
Johan
cec626f3ae Moved effect static wrapper methods into Effect class
Former-commit-id: bd0c51eb59d98b7ad41fd4e0a178f2d72374c519
2013-11-28 14:15:52 +01:00
johan
80cdac2055 Effect pointer feedback added from Python
Former-commit-id: a1175d2d3b4eb0e368a2cbf6a9ac3a0a386ef5bb
2013-11-27 20:15:29 +01:00
johan
d24fddaf21 Python interpreter added to EffectEngine
Former-commit-id: f721f5952efe305d66347d9074ff760baabd2f18
2013-11-26 21:38:24 +01:00
johan
72acdd655d Python added to build of effect engine
Former-commit-id: 5e8e7e18630b51b4ec51d0f7efed7de2a88cccfa
2013-11-24 18:53:20 +01:00
johan
5454ddb375 Added skeleton for effect engine development
Former-commit-id: e1fb69fd4de4b8968075660e3ba7f7add021c152
2013-11-24 16:10:48 +01:00