Commit Graph

374 Commits

Author SHA1 Message Date
Bart J
63839f9fc7 Update screen dimensions only if they really change 2018-08-04 16:01:53 +02: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
cb7b5fa588 amlogic: integrate grabbing via ge2d (#469)
* - 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

* cleanup

* code cleanup, remove unused stuff
2017-09-03 13:48:16 +02:00
redpanther
aa9248e815 fix compile issue on rpi (possible caused by latest cmake version) 2017-09-02 22:26:22 +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
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
32e7ffcfa0 fix compile error when ENABLE_X11 is not defined 2017-08-04 19:44:52 +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
e98122c9cb Add zeroconf TxtRecords (#449)
* txtrecords

* typo
2017-07-05 16:54:41 +02:00
brindosch
e2ca9bcaa5 Stats
Testing time!
Also new: Effects dirs are now created automatically
2017-05-29 15:59:11 +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
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
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
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
e1165e112f fix/refactor backlight stuff (#394)
* fix/refactor backlight stuff:
- fix colors dont turn of when backlight 0 and black is set
- add option to use not colored backlight
- fix colored backlight not colored on very low color values
- various code style tunings

* apply needed change to wizard

* backlight disabled on static color and efects

* fix warnings

* try fix udp compiler warnings
2017-02-11 22:52:47 +01:00
redPanther
199d266bc0 fix #392 2017-02-09 20:34:26 +01:00
brindosch
41671ad82c update adjustments and ui (#384)
* update

* update

* testit

* Revert "testit"

This reverts commit b1cc645161.

* update schema

* update

* add adjustment to serverinfo

* remove Adjustbool

* remove v4l2only

* fix json check for create effect

* update deb

* update

* update remote adjust

* update

* add eff schemas
2017-02-08 14:36:28 +01:00
redPanther
7f2d6bde9a add http error pages (#381)
* implement 404 for webserver - this is a quick hack, should be refactored later

* add http error pages ... design is more a placebo ;-)

* tune errorpages
fix some cgi related stuff, now only python is possible
executing and reading python file is possilbe, but it cannot receive any data from webui

* fix typo

* fix another typo
2017-01-29 21:20:12 +01:00
Paulchen Panther
ed47852518 Remove duplicated Code (#377)
* Reduce Duplicate Code

* Reduce Duplicate Code

* No Error Logging when "document_root" in Json config is empty

* Update JsonClientConnection.cpp

* Remove obsolete functions

* create readConfig and readSchema function

* set forgotten _error variable
2017-01-23 23:25:12 +01:00
redPanther
3aa2573b88 destroy grabbers and other stuff on hyperiond restart via webui (#375)
* remove obsolete kodi code for grabbers

* destroy grabbers and other stuff on hyperiond restart via webui
2017-01-22 14:31:11 +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
redPanther
b2a6366176 fix coloradjustment via hyperion remote (#362)
* - fix coloradjustment via hyperion remote
- several small cleanups/refactorings

* fix color is shown as unknown in json serverinfo

* fix active color is not shown when autoselect is reactivated
2017-01-10 19:58:41 +01:00
redPanther
caab8e819b Adjustment merge + new brightness settings (#359)
* add new rgbtransform

* activate rgbtransform

* integrate new transform and gamma in adjustment, disable transform

* fix brighness limit

* advance upper and lower thresholds

* start removing color transform

* adjust configs/schema

* implement json for new color adjustment

* finish hyperion-remote extension for new adjustment settings

* fix typos

* rename luminance to brightness
fix jsonapi for new adjustment

* fix some bugs in adjustments

* fix i18n

* fix gamma via json

* now brighness values goes from 0-1 with 0.5 is the default for all brighness is equal between the channels. less 0.5 all channels scaled down
to new brighness, above 0.5 if possible channel gets brighter - but brighness is not equal between the channels anymore
brighness value curve is now exponential instead of linear - this feels more natural

* hslv cleanup
2017-01-06 14:25:55 +01:00
brindosch
c433504b81 Webn (#2) (#358)
* upd

* upd

* typo

* update ieff

* typo

* ..

* try

* ..

* rm enum

* .

* .

* split initialeff

* upd schema

* ..

* upd

* .

* .

* .

* update

* update
2017-01-04 10:55:10 +01:00
redPanther
3746f643af multi bugfix pr ... (#348)
* move name to general
add a version for config file

* start impl. config migrator

* fix typo amd set access level

* fix schemaa name

* fix schema

* add structure for config migrator

* add more structural things for config migrator

* fix not all grabber provide live video

* add schema for trails
2016-12-24 10:02:12 +01:00
redPanther
0825937a3e move 'name' to new config section general. (#345)
* move name to general
add a version for config file

* start impl. config migrator

* fix typo amd set access level

* fix schemaa name

* fix schema

* add structure for config migrator
2016-12-23 19:37:35 +01:00
redPanther
c5e0299c55 adjustable image2led mode for grabbers (#341)
* implement most points for a adjustable image2leds mapping

* implement new adjustable led mapping type
2016-12-19 23:59:50 +01:00
redPanther
721668fc85 implement webui live video (#340)
* implement webui live video

* add missing german translation
2016-12-18 19:00:14 +01:00
redPanther
23194730c2 v4l: make suggestions for all no signal values (#339)
* on v4l screenshot, print out nosignal threshold values

* separate fractional parameters for no signal detection

* fully implement handling for "rainbow grabber"

* hyperion-v4l2 --screenshot can also evaluate best reagion and color for no signal detection

* tune output of no signal detection

* v4l outputs warninsg only, todo: make it adyustable

* typo

* v4l signal detection, now with validation checks

* remove obsolete schema files

* fix code style

* fix text typos

* code style
2016-12-18 00:47:53 +01:00
redPanther
d59c94421d Kill "Rainbow lights" when v4l grabber has no signal (#334)
* on v4l screenshot, print out nosignal threshold values

* separate fractional parameters for no signal detection

* fully implement handling for "rainbow grabber"
2016-12-16 19:48:43 +01:00
redPanther
a724fd1535 detect config is readonly, adalight and other stuff (#333)
* update lightberry sketches
update compilehowwto (windows disclaimer)
some refactoring in main cmakelists + preparation for windows compile
tune ada driver, set delayAfterConnect default to 1.5s because some arduino (e.g. mega r3) needs this
set priority min/max for grabber/network services - prevent colliding prios between webui/background stuff and grabbers/net services

* add check if config is writable. TODO do something usefull in webui

* fix indention error

* fix typo

* fix webui can't write led config

* typo

* fix cmakelists

* change methode of detecting linux
2016-12-14 22:45:00 +01:00
redPanther
5b0e401ca5 always output latest version of config file to webui (#307)
* always output latest version of config file to webui

* fix permissions after default config export

* tune code

* set permissions for exported effects

* use qt setperm instead of chmod
update effects code style a bit

* add fallback when config is not readable
2016-12-03 21:11:52 +01:00
redPanther
1b62d9d717 Logbuffer (#298)
* - implement a global logbuffer
- providerrs232 reduce log spam

* logger add signal and start json push

* implement logger notifier ... need some cleanup

* imlement logview in webui - the layout stuff is basic atm and needs some tuning
2016-11-26 22:46:16 +01:00
redPanther
9e5903e1aa platform cleanup and cmake osx fix (#294)
* rename platform rpi-pwm to rpi. remove original rpi platform
install symlink to bin folder
create effects folder for custom effects

* fix osx jobs evaluation
2016-11-20 22:57:19 +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
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