fix ge2d mode
added ge2d single/combined ioctl call
speed up imageresampler
speed up amvideocap0 mode
added config to choose if amvideocap0 or ge2d grabber should be used
* 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
* - 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
* 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
* 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
* 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
* 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
* 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()
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* - 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
* 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
* 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
* 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
* - 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
* - implement a global logbuffer
- providerrs232 reduce log spam
* logger add signal and start json push
* implement logger notifier ... need some cleanup
* - 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
* 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
* 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
* 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
* 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
* Fix "if" statement
Nach dem testen des Codes, leider übersehen und nicht rückgängig gemacht.
Entschuldigung.
* Move XRenderSetPictureFilter from "grab" to "setupResources" part
* Resize destination image to target screen dimension once
* Fix coding style and add check for image resize
* 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
* fixed OS X compatibility
* adding OS X travis test
* ignoring autogenerated files
* adding OS X travis test
* fixed os x building
* fixed os x building
* reduced ignore file
* v4l osx issue fixed
* improved qt5 detection
* disabled cleaning of child threads on os x for the time being
* fixed avahi on OS X
* 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
* 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
* 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
* 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
* 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
* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)
* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion
* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files
* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build
* update submodule
* fix cmake error when no platform is given
* initial support for deb,rpm and tgz packages - no usefull content atm!
* make packeages contain usefull stuff
* add license
make packes more functional. package specific install missing yet
* implement debian postinstall
* disable rpm generation until it has a working state
* add hypercon compat
* add posibility for multiple config files. first one found is taken
* remove hyperion comaptlayer
services is not started automaticly
* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup
* add deb package dependencies
* wipe out last support for /opt installation
* change default effect path in config to /usr
* revert service files and config files
* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services
* all arguments via reference ...
* fix xbmcchecker not working
* add logger class
* - profiler must be activated with ENABLE_PROFILER, otherwise an error will raise
-> this should prevent profiler gets into release code
* fix profiler
* make logger compat with older/partial c++11 versions (r.g. debian wheezy)
fix description of optionparser
fix atmoorb not compile for qt4. now it should compile for qt5 and 4
* make logger compiles with qt5 too
fix compiler warnings
* remove debug code
Former-commit-id: 6aa41351667caed712b1f28010dbedfca8a6a5a0
* 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
* 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