Commit Graph

380 Commits

Author SHA1 Message Date
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
4c81614c69
add led color streaming mutex and
timeout for led color refresh
2018-12-20 15:05:38 +01:00
Paulchen Panther
ccbfe4c5b3
added new signal rawLedColors 2018-12-20 15:01:46 +01:00
brindosch
fa75143dbf
remove kodiVideoChecker (#475) 2017-11-22 00:52:55 +01:00
brindosch
0f9f3a17e7
Move WebSocket to Webserver & HttpJsonRpc async (#486)
* Move WebSocket to Webserver and HttpJsonRpc is now async

* revert...
2017-11-20 00:06:45 +01:00
brindosch
4c2b75b45a Python 3.4 (#479)
* Python 3

* fix travis osx

* try fix

* get info

* digging in the dirt

* .

* .

* cleanup

* .

* .

* finalize, add multi threaded python support
2017-10-13 17:49:29 +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
redPanther
6f443a48dd Refactor websocket + true receive (#471)
* save it

* ws: multiframe receive now works

* port cfg write with autocorrect to jsonprocessor
cleanup

* cleanup

* cleanup

* add support for image data over ws binary frame
2017-09-16 09:08:21 +02:00
brindosch
74ff5c7ada Philiphs Hue Improvments (#472)
* patch and improve philiphshue

* cleanup

* cleanup

* cleanup

* LedDevice switchOn()

* add signal for on/off to ledDevice
2017-09-16 00:18:17 +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
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
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
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
622a171808 add http jsonrpc (#450) 2017-07-05 23:19:52 +02:00
brindosch
e98122c9cb Add zeroconf TxtRecords (#449)
* txtrecords

* typo
2017-07-05 16:54:41 +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
dd5f840125 fix compile
ToDo: better code management :P
2017-06-17 23:46:41 +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
brindosch
91c7637a2b add unique id
Zeroconf TXT record is missing
2017-06-17 23:27:41 +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
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
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
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
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
7207756978 Sysinfo (#409)
* new sysinfo

* finish sysinfo
2017-03-02 10:50:31 +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
brindosch
31f352e7ce json-rpc - origin, ui update (#407)
* try ace

* .

* update

* ...

* update

* update

* test

* -

* update

* fix

* .

* Revert "."

This reverts commit 631c30f8c0.

* Revert "fix"

This reverts commit be3dbc9cbd.

* Revert "update"

This reverts commit 50fc89e800.

* Revert "-"

This reverts commit 8a6c1fdab3.

* Revert "test"

This reverts commit 50b3641490.

* update schema

* update ui

* flags

* adjustments
2017-02-28 17:53:41 +01:00
redPanther
26154befa4 avhai cleanup + grabber list (#402)
* - cleanup shared_avahi stuff
- add a list of avilable grabbers to json server info

* fix compile
2017-02-17 08:33:34 +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
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
cde5a4dff1 send close signal only on restart to avoid problems while destructiong on normal exit (#376) 2017-01-22 19:36:52 +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
redPanther
05ee316c1d remove obsolete kodi code for grabbers (#372) 2017-01-20 23:43:22 +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
Robin Kobus
8d304d58d2 Color Adjustment 2.0 (#351)
* Rename test to test123

* Delete test123

* New color Ajustment

Trilinear interpolation between the 8 corners of the color cube (black, red, green, blue, cyan, magenta, yellow, white)

* Renaming

* overloading getadjustmentX()

* Renaming

* Additional renaming

* Added more RgbChannel

* Added more colors to channelAdjustment

* Added additional colors

* Added additional colors

* Added additional colors

* Added additional color adjustments

* Update MultiColorAdjustment.cpp

* Fixed black adjustment

* Color config in array form
2016-12-29 17:02:37 +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
0414e3c860 implement states for components_autoselect and ledMAppingType via json (#344) 2016-12-20 19:55:54 +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
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
96e8c29582 refresh time for all devices + schema fixes (#305)
* refresh for all :-)
remove dups

* - integrate refresh leds for all devices
- fix schemas for led devices

* add minimum for rewrite time

* rewriteTime: add missing info in config examples
2016-12-02 12:07:24 +01:00
redPanther
81dea1583d update adalight sketch (#299)
* 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

* - add rewrite time to serial leds
- rework adalight sketch

* add analog output

* adalight: add analog mode: last led

* tune adalight sketch to final state
move refresh code to leddevice base class, so every leddevice can use it
2016-11-29 23:14:15 +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
73406c982b global logbuffer (#297)
* - implement a global logbuffer
- providerrs232 reduce log spam

* logger add signal and start json push

* implement logger notifier ... need some cleanup
2016-11-26 22:34:46 +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
Paulchen Panther
464de381a0 JsonCpp to QTJson (Final Part) (#273)
* Update CMakeLists.txt

* Update Hyperion.h

* Update LedDevice.h

* Update LedDeviceFactory.h

* Update Hyperion.cpp

* Update LedString.cpp

* Update JsonClientConnection.cpp

* Update LedDeviceAdalight.cpp

* Update LedDeviceAdalight.h

* Update LedDeviceAPA102.cpp

* Update LedDeviceAdalightApa102.h

* Update LedDeviceAdalightApa102.cpp

* Update LedDeviceAPA102.h

* Update LedDeviceAtmo.cpp

* Update LedDeviceAtmo.h

* Update LedDeviceAtmoOrb.cpp

* Update LedDeviceAtmoOrb.h

* Update LedDeviceDMX.cpp

* Update LedDeviceDMX.h

* Update LedDeviceFactory.cpp

* Update LedDeviceFadeCandy.cpp

* Update LedDeviceFadeCandy.h

* Update LedDeviceFile.cpp

* Update LedDeviceFile.h

* Update LedDeviceHyperionUsbasp.cpp

* Update LedDeviceHyperionUsbasp.h

* Update LedDeviceLightpack.cpp

* Update LedDeviceLightpack.h

* Update LedDeviceLpd6803.cpp

* Update LedDeviceLpd6803.h

* Update LedDeviceLpd8806.cpp

* Update LedDeviceLpd8806.h

* Update LedDeviceMultiLightpack.cpp

* Update LedDeviceMultiLightpack.h

* Update LedDeviceP9813.cpp

* Update LedDeviceP9813.h

* Update LedDevicePaintpack.cpp

* Update LedDevicePaintpack.h

* Update LedDevicePhilipsHue.cpp

* Update LedDevicePhilipsHue.h

* Update LedDevicePiBlaster.cpp

* Update LedDevicePiBlaster.h

* Update LedDeviceRawHID.cpp

* Update LedDeviceRawHID.h

* Update LedDeviceSedu.cpp

* Update LedDeviceSedu.h

* Update LedDeviceSk6812SPI.cpp

* Update LedDeviceSk6812SPI.h

* Update LedDeviceTinkerforge.cpp

* Update LedDeviceTinkerforge.h

* Update LedDeviceTpm2.cpp

* Update LedDeviceTpm2.h

* Update LedDeviceTpm2net.cpp

* Update LedDeviceTpm2net.h

* Update LedDeviceUdpE131.cpp

* Update LedDeviceUdpE131.h

* Update LedDeviceUdpH801.cpp

* Update LedDeviceUdpH801.h

* Update LedDeviceUdpRaw.cpp

* Update LedDeviceUdpRaw.h

* Update LedDeviceWs2801.cpp

* Update LedDeviceWs2801.h

* Update LedDeviceWS2812b.cpp

* Update LedDeviceWS2812b.h

* Update LedDeviceWs2812SPI.cpp

* Update LedDeviceWs2812SPI.h

* Update LedDeviceWS281x.cpp

* Update LedDeviceWS281x.h

* Update ProviderHID.cpp

* Update ProviderHID.h

* Update ProviderRs232.cpp

* Update ProviderRs232.h

* Update ProviderSpi.cpp

* Update ProviderSpi.h

* Update ProviderUdp.cpp

* Update ProviderUdp.h

* Update LedDevice.cpp

* Update CMakeLists.txt

* Update hyperiond.cpp

* Update hyperiond.h

* Update TestSpi.cpp

* Delete AUTHORS

* Delete CMakeLists.txt

* Delete LICENSE

* Delete json_batchallocator.h

* Delete json_internalarray.inl

* Delete json_internalmap.inl

* Delete json_reader.cpp

* Delete json_tool.h

* Delete json_value.cpp

* Delete json_valueiterator.inl

* Delete json_writer.cpp

* Delete sconscript

* Delete autolink.h

* Delete config.h

* Delete features.h

* Delete forwards.h

* Delete json.h

* Delete reader.h

* Delete value.h

* Delete writer.h
2016-10-13 21:59:58 +02:00
redPanther
48d8781cdf auto generation of initial config file (#271)
* - remove feature of using multiple config files for automaticly start other hyperion instances
- add auto config file creation
- tune service files

* add auto path creation for initial default config

* debian package:
rename service to hyperiond
remove copy of config file
2016-10-13 21:59:10 +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
37558a983f fix restart of hyperion. now devices closed before restart (#269) 2016-10-10 23:08:01 +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
5aac2be702 Leddevice refactoring the next next part (#263)
* switch rs232 provider to completly async transfer

* start of implementing a seperate init function for leddevices

* rename setconfig to init

* more fixes

* implement missing code

* fix code style

* remove debug  code

* remove  debug stuff

* set loglevel to original state
2016-10-08 08:14:36 +02:00
Paulchen Panther
f146894799 JsonCpp to QTJson (Part 3) (#257)
* Update BlackBorderProcessor.h

* Update Hyperion.h

* Update ImageProcessor.h

* Update ImageProcessorFactory.h

* Update LedString.h

* Update BlackBorderProcessor.cpp

* Update ImageProcessor.cpp

* Update ImageProcessorFactory.cpp

* Update Hyperion.cpp

* Update hyperiond.cpp

* Update TestImage2LedsMap.cpp

* Update TestBlackBorderProcessor.cpp

* Update Hyperion.cpp

* Update Hyperion.cpp
2016-09-25 21:59:31 +02:00
redPanther
d6a34edfb2 Leddevice refactoring the next part (#253)
* add general switchOff

* refactoring of leddevices regarding ledcount and switchoff

* remove obsolete includes
2016-09-23 08:49:22 +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
858125510e hyperiond: add ability to export default config and effects (#244)
* - embed default config
- add possibility to export effects and embeded default config to filesystem

* do some code style
2016-09-17 00:40:29 +02:00
redPanther
eeb9b0f7da implement hyperion restart via webui (#242)
* first try

* implement hyperion restart. core function is good, but needs a beeter structuring- something for next refactoring session ;-)

* several fixes (including osx)
merge with upstream
some refactoring

* add some eye candy to webui
2016-09-15 20:42:58 +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
2d88cdc2d3 webui: initial support for leddevice options (#232)
* initial support for leddevice options

* fix schema and editor init

* fix led editor labels and schema

* add some led schemas

* led config: insert current values. not yet perfect, but it works
2016-09-10 19:08:08 +02:00
redPanther
36124c9afb make blackboder component enable/disable at runtime (#228)
* make enable/disable of bborder work

* fix typo

* smoothing can be disabled via config again

* fix smoothing
2016-09-08 16:32:42 +02:00
redPanther
2beccb0912 Webui: extend led hardware config + connection lost page (#226)
* split content and js
tune leds config

* implement connection lost page

* split js/html in huebridge

* add js action for connection lost

* extend led config
make connection loss nicer

* tune led code
add menu entry for grabber

* more tuning of webui

* switch back to botstrap textarea
add v4l to components

* add icon

* extend schema for jsoneditor

* implement ledcolors streaming with 4fps

* implement component state
2016-09-07 20:10:37 +02:00
redPanther
bbffa078fd Webui: view led configuration + lights (#223)
* 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

* implement led layout view with live colors

* live led vies

* fix general conf
unrigister ledcolors request, when not on leds.html

* fix compiler warning

* prepare realtime ledview and enhance ui
2016-09-05 17:26: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
9a2b167db7 fix typo in config
spilt grabber components in "GRABBER" and "V4L"
2016-08-31 00:54:47 +02:00
Rick van Hattem
61db9f43b8 Qcommandlineparser (#199)
* Replaced getoptplusplus with QCommandLineParser. Fixes #39

* enabling C++11 if possible

* enabling C++11 if possible

* fixed gcc compilation issues

* fixed linux builds and improved os x build

* trying to fix dispmanx

* trying to fix dispmanx

* simplified travis build script

* fixed argumentparser default values

* rewrote validator system and made sure default arguments are processed correctly

* rewrote validator system and made sure default arguments are processed correctly

* fixed bool vs. regular options

* oops... removing debug code

* reverted screenshot api change
2016-08-28 15:10:43 +02:00
redPanther
d679affeb4 Leddevice rework2 (#193)
* commit debug code to save it due to merge

* migrate first devices to new device registry and configure on runtime

* fadecandy and rs232 resets device if config is set

* try to hunt crash on osx

* test commit if this works with osx

* refactor spi devices

* cleanup

* refactor leddevices file, tinkerforge and ws2812b

* refactor raw usb devices

* refactor udp devices

* - add tpm2net driver
- remove old udp driver from build (files left in place for reference for new udp driver)
- json serverinfo shows available leddevices

* finish rework part 2 of leddevices

* add schemas for leddevices.
currently only compiled in, but not usedx
2016-08-23 20:07:12 +02:00
Paulchen-Panther
6acf68c87e Update X11 Grabber (scaling improvements) (#191)
* Add transform Matrix for scaling

* Add Image scaling by XRender

* Coding Style correction
2016-08-22 11:59:07 +02:00
Paulchen-Panther
68fd395670 JSON RPC Writer (configSet) (#175)
* 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
2016-08-14 20:17:12 +02:00
redPanther
97181fa83c leddevice refactoring. code style and extension of baseclass to avoid dups (#174) 2016-08-14 10:46:44 +02:00
redPanther
9c27db390d Kodi initial fix (#171)
* fix #158

* fix initial state of playbackstate
2016-08-13 10:05:11 +02:00
redPanther
7ee2e7cf8d rework kodi grabbing mode for all grabbers (#169)
* pull out setgrabbing mode from every grabber into parent class

* implement optional kodi check for v4l

* fix typo

* fix dispmanx build
2016-08-12 23:07:32 +02:00
redPanther
050ab11c8e v4l grabber wont crash hyperiond anymore (#168)
* 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
2016-08-12 09:39:41 +02:00
redPanther
f1cc82b8c7 enable components at runtime + grabber refactoring (#160)
* 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
2016-08-11 07:13:55 +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
redPanther
817dabae8c sourceOff feature + small json refactoring (#151)
* 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
2016-08-06 08:28:42 +02:00
Paulchen-Panther
bfb06966de Update Json Interface (Enable/Disable components during runtime) (#150)
* Update Hyperion.h

* Add files via upload

* Update CMakeLists.txt

* Update Hyperion.cpp

* Update JsonClientConnection.cpp

* Update JsonClientConnection.h

* Update JsonSchemas.qrc

* Add files via upload

* Update schema.json

* Update JsonConnection.cpp

* Update JsonConnection.h

* Update hyperion-remote.cpp
2016-08-04 13:10:53 +02:00
Paulchen-Panther
f183032270 JsonCpp to QTJson (Part 2) (#147)
* 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.
2016-08-04 10:53:26 +02:00
redPanther
722d4eb357 Manual input source select via json (#143)
* implement manual source select via json interface
fix schema error

* refactoring

* add visible value to all listed prios
2016-07-31 22:21:35 +02:00
redPanther
04ab2f05f7 color filter config additions (#142)
* add ability to disably specific color corrections
update protobuf external
move smoothing out of color section

* update config

* update schema

* update schema
2016-07-30 13:07:53 +02:00
redPanther
30b9c20611 new frame grabber handling (#137)
* - 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
2016-07-24 15:18:34 +02:00
Paulchen-Panther
01ec4a3655 KODIVideoChecker Fix (#138)
* Update KODIVideoChecker.h

* Update KODIVideoChecker.cpp

* Update KODIVideoChecker.cpp
2016-07-24 13:56:13 +02:00
Paulchen-Panther
5bd8c33529 Add Screensaver mode to Kodi video checker (#132)
* Update KODIVideoChecker.h

* Update GrabbingMode.h

* Update AmlogicWrapper.cpp

* Update DispmanxWrapper.cpp

* Update FramebufferWrapper.cpp

* Update OsxWrapper.cpp

* Update KODIVideoChecker.cpp

* Update ProtoConnection.cpp

* Update X11Wrapper.cpp
2016-07-21 20:15:54 +02:00
Paulchen-Panther
230cf9e970 Rewrite JSONSchemaChecker to QT (#128)
* Add files via upload

* Update CMakeLists.txt

* Add files via upload

* Update TestConfigFile.cpp

* Update TestConfigFile.cpp

* Update TestConfigFile.cpp

* Update QJsonFactory.h
2016-07-20 17:16:06 +02:00
redPanther
f08724f72e fix call off open in leddevice
... leads to not called open in subclass, e.g. serial port can't be opened
2016-07-17 14:58:05 +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
b49ada956b hyperion won't fail, if v4l2 has invalid device + auto device (#118)
* hyperion won't fail, if v4l2 has invalid device

* add v4l auto select. use "auto" as device name
2016-07-14 23:40:10 +02:00
redPanther
5a2ef6c4a3 multi fix commit (#112)
* multi fix commit

- refactoring leddevicefactory
- adalight: default for "delayAfterConnect" is 1s now - needed for most arduino's because of there special behaviour on open
- fadecandy: new option for disabling configuration send - if you want to keep your fadecandy defaults
- Hyperion.cpp: simplify createSmoothing discussed in #105
- smoothing:
-- add option for continuous output
-- when updatedelay>0 and continousOutput is disabled, buffer is flushed correctly after no input is detected

* add doxygen to travis
2016-07-13 11:18:12 +02:00
penfold42
7b9b9bcdef logging migration of blackborder and grabber (#108)
* logging migration of blackborder and grabber

* change to "Debug" for noise blackborder log messages
2016-07-12 15:13:06 +02:00
brindosch
76acff8043 Logging for dispmanx, framebuffer, x11, v4l2, osx (#103)
* dispmanx

* typi

* Framebuffer

* fix attempt

* x11

* osx

* V4L2
2016-07-12 00:53:48 +02:00
brindosch
c802505553 logging rework json/proto (#102)
* 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

* travis.ci

* travis: move to ubuntu 14.04

* script try

* add serialport

* update .json files

* .

* .

* .

* update travis

* fix

* typo

* fix

* .

* disable v4l2 on mac

* disable email notification

* update osx

* maybe fix

* .

* disable osx and rm v4l2

* try osx

* try fix

* travis update

* add oe systemd file

* Proto

* Json

* fix

* fix2

* fix3

* .

* typo

* update

* revert runtime error
2016-07-11 17:08:22 +02:00
penfold42
80fc153d35 udplistener will now set remaining LEDs to black. (#99)
eg: configure 42 leds, but a udp packet only contains 10 leds, the remaining 32 are now set to black
2016-07-11 13:15:08 +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
78eaaa2e84 Filter rework, next step (#82)
* 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

* refactoring of RgbChannelAdjustment

* - remove rgbchannelcorrection, this was a dup of rgbchanneladjustment
- add cmake policy to hide warning
- tune code of rgbchanneltransform
2016-07-04 00:43:41 +02:00
redPanther
921f164b26 refactoring of RgbChannelAdjustment (#79)
* 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

* refactoring of RgbChannelAdjustment
2016-07-02 14:00:48 +02:00
redPanther
36b4d072c5 common ledbuffer for color transform (#77)
* 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
2016-07-01 23:20:41 +02:00
XfableX
6327a38582 Added logging to X11Grabber (#71)
* Added logging to X11Grabber

* Added logging to Amlogic grabber.

* Fixed mistake in amlogicgrabber.h

* fixed compile issue

* Trigger

* cleaned up log messages
2016-06-29 16:48:53 +02:00
redPanther
03ac5689cf make log level settings avail in config file (#63) 2016-06-27 23:56:21 +02:00
redPanther
809ab82524 migrate boblight to new logger and make it start/stoppable during runtime (#62) 2016-06-27 22:43:43 +02:00
redPanther
b9634e57d6 Udplistener start/stop during runtime (#56)
* start implementening runtime start/stop for udplistener

* add signal slots for start/stop/statusChanged for better connectivity with other qt stuff

* fix typo
2016-06-27 09:27:11 +02:00
penfold42
de39ff8997 UDPListener improvements: (#53)
- 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
2016-06-26 20:08:03 +02:00
redPanther
4033de85ec Logging leds (#50)
* switch to new logger for folowing led devices:
LedDeviceAtmo
LedDeviceFactory
LedDeviceFadeCandy
LedDeviceHyperionUsbasp
LedDeviceLightpack-hidapi
LedDevicePiBlaster
LedDeviceWS281x
LedRs232Device

leddevice base class defines logger already as protected member _log

* migrate to new logger for led devices.
still todo:
LedDeviceWS2812b
LedDeviceWs2812SPI
LedDeviceTinkerforge
LedDeviceLightpack
LedDeviceMultiLightpack
2016-06-25 22:08:17 +02:00
penfold42
0b59614ab3 native UDP listener enhancements (#48)
- uses new logger
- can specifiy which ip address to listen on
- if its a multicast address, multicast is enabled
2016-06-25 15:15:23 +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
redPanther
f48af9daff extend logger (#34) 2016-06-21 21:41:26 +02:00
redPanther
eccd4e6637 rework bootsequence (#30)
* 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
2016-06-20 23:41:07 +02:00
penfold42
a23735d1ef New builtin udp listener (#18)
* 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
2016-06-20 08:38:12 +02:00
redPanther
4533b34606 Hyperiond refactoring + preparation for ip restriction settings (#12)
* 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
2016-06-19 00:56:47 +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
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
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: a572f275b270217cd8ce8cdd91b3eca3037d6472
2016-06-07 23:12:18 +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: b35c4d672aed5be7a6a694b3c861c6cf287d89df
2016-06-07 12:34:50 +02:00
redPanther
f39f074dcf add logger/compiler class (#680)
* 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


Former-commit-id: b716dd40dbf5b837356eec876d85ec71c86d5c6c
2016-06-05 16:08:55 +02:00
penfold42
d5ce395e8e Add sk6812rgbw support (#666)
* 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

* adding support for SK6812 - not working yet

* Changed rpi_ws281x submodule to be penfold42's fork

* Set White to zero for now

* starting on the code to make the White led do stuff

* Added some basic whie led calculation
white = min(r,g,b)
r-=w, g-=w, b-=w

* cleaned up a couple of compiler warnings

* updated strip type to use corrected RGBW strip type
(the SK6812RGBW datasheet is wrong)

* 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

* attempt #3 at migrating the rpi_281x submodule to my fork/branch

* moving to my fork of rpi_281x

* Started implementing multiple RGB to RGBW conversion options

a quick hack has been implemented inside WS281x.cpp but ive started
moving this to RgbToRgbw.cpp for reuse by other led device types

* migrated RGB to RGBW conversion to RgbToRgbw.cpp


Former-commit-id: ff8e9038c4bb8203b71b42d12bf23be4abcc0b3b
2016-05-31 22:55:56 +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: abfa51bcf359cafa63338181c1b83ecfd231bc87
2016-05-31 22:55:11 +02:00
Paulchen-Panther
23042ba07c Update Json Interface (Active LED Color) (#664)
* add getCurrentPriority

* add getCurrentPriority

* Update active led color


Former-commit-id: 0e6b828991fdf51d2ec859d3836ce4f976dfd88c
2016-05-30 22:39:12 +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
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: d2f7cb0e22248a0c2963bf53728f2e0d7bb9dee1
2016-05-24 19:55:50 +02:00
brindosch
46a3edd1ec fix typo
Former-commit-id: ed5661d3bb6c4dddbe808383e4e1f717c1aa59aa
2016-05-23 00:25:57 +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: 35a762b18b473a333155acba7a00894204400076
2016-05-23 00:00:48 +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: bbb55f6621b90384e417f37da4f2543d112ef57a
2016-05-18 11:26:25 +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
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: 8ab465e59834f12a21709a6f4546bd6808a2a495
2016-04-02 00:04:11 +02:00
AEtHeLsYn
37c54d733d Merge remote-tracking branch 'refs/remotes/tvdzwan/master'
Former-commit-id: 59c1c363863c950e91ac57cc2ff39a722359634b
2016-03-13 11:49:49 +01:00
AEtHeLsYn
6e7157c571 Update Hyperion.h
Former-commit-id: c1bd4a7397e8ae2e72b9ef5dcc32ee3b866e2c36
2016-03-10 18:08:34 +01:00