* add SSDP name field
* YALL - yet another led layout
* led layout migration
* add initial vscode config
* merge clearAll with clear, rename Hyperion::compStateChange
* simpler components api
* Corrected code formatting
+ triggered PR build
* fix: regression from #636
* Support for color patterns
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Handle Exceptions in main & Pythoninit
* Have SSDPDiscover generic again
* Have SSDPDiscover generic again
* Change Info- to Debug logs as technical service messages
* Nanoleaf - When switched on, ensure UDP mode
* Include SQL Database in Cross-Compile instructions
* Fix Clazy (QT code checker) and clang Warnings
* Stop LedDevice:write for disabled device
* Nanoleaf: Fix uint printfs
* NanoLeaf: Fix indents to tabs
* NanoLeaf - Add debug verbosity switches
* Device switchability support, FileDevice with timestamp support
* Nanoleaf Light Panels now support External Control V2
* Enhance LedDeviceFile by Timestamp + fix readyness
* Stop color stream, if LedDevice disabled
* Nanoleaf - remove switchability
* Fix MultiColorAdjustment, if led-range is greater lednum
* Fix logging
* LedFileDevice/LedDevice - add testing support
* New "Led Test" effect
* LedDeviceFile - Add chrono include + Allow Led rewrites for testing
* Stabilize Effects for LedDevices where latchtime = 0
* Update LedDeviceFile, allow latchtime = 0
* Distangle LinearColorSmoothing and LEDDevice, Fix Effect configuration updates
* Updates LedDeviceFile - Initialize via Open
* Updates LedDeviceNanoleaf - Initialize via Open, Remove throwing exceptions
* Updates ProviderUDP - Remove throwing exceptions
* Framebuffer - Use precise timer
* TestSpi - Align to LedDevice updates
* Pretty Print CrossCompileHowTo as markdown-file
* Ensure that output is only written when LedDevice is ready
* Align APA102 Device to new device staging
* Logger - Remove clang warnings on extra semicolon
* Devices SPI - Align to Device stages and methods
* Fix cppcheck and clang findings
* Add Code-Template for new Devices
* Align devices to stages and methods, clean-up some code
* Allow to reopen LedDevice without restart
* Revert change "Remove Connect (PriorityMuxer::visiblePriorityChanged -> Hyperion::update) due to double writes"
* Remove visiblePriorityChanged from LedDevice to decouple LedDevice from hyperion logic
* Expose LedDevice getLedCount and align signedness
* Remove clone & index in ledConfig
* Additional index correction
* Rename ledsConfig maximum and minimum in max and min
* Rename ledsConfig hscan and vscan with h and v
* Optimize ledColorsStream
* tiny correction
- Added CodeDocs config file for customization
- Fixing LGTM alerts
- LGTM bug fixed again
- added token option to hyperion-remote
- fix DBManager::getDB()
- next bugfix
- correct broken signal from SettingManager to Hyperion
- Token list is created after the schema is fetched
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
- Increases linker performance under Linux builds by using Gold linker, if available
- ccache is used if available
- removed statistic class (Stats.cpp) from project due to the missing result (sorry @Brindosch)
- add LGTM bandges for code analysis overview
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
- Video format MJPEG implemented (libjpeg/qimage)
- Inactive priorities are now skipped correctly (PriorityMuxer.cpp line 297)
- v4l configuration section replaced with an object (preparation for #542)
Protocol Buffer reimplemented to receive image data from third-party apps
The status of the component "UDPListener" is now displayed correctly in WebUI
Global signal names for WebUI added
- More i18n
- Easy use of mutual exclusion in JsonAPI with QMutexLocker
- Smoothing type "linear" hidden in the WebUI, because there is currently only one
- Message forwarding implemented again
- For compatibility to home assistants and other remote controls, "activeEffects" and "activeLedColor" has been added to the JSON-RPC
- FlatBuffer clear now the Priority on disconnect
- The information "available V4L2 devices" is now only displayed if the device list is not empty
- LED device "PiBlaster" excluded from OSX build
* 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 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
* 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"
* - 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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