* Creating Audio Grabber
Creating Audio Grabber
Creating Audio Grabber.
Successfully began capturing audio in windows. Starting to implement a hard-coded UV Visualizer.
Got Windows DirectSound Implementation working.
Hardcoded basic VU Meter.
Begin working on linux audio grabber implementation.
Finished Linux Draft Implementation.
Minor Mods to windows implementation.
Windows:
- Free memory used by device id.
- Prevent starting audio if the grabber is disabled
- More debug logging
Linux:
- Prevent starting audio if the grabber is disabled
Added strings to english
Removed "custom" from device selection
Made hard-coded visualizer values configurable.
wrote values to imageData with BGR priority to enable configurable values to be set in RGB format.
created logic to support "Automatic" to enable the API to select the default device.
Add language key for audio in "Remote Control" section.
Removed audio configuration for number of channels. This was causing an error with some devices.
Fixed logic to update capture while its active.
Optimizing code .
UI Tweaks
Destructuring.
Fixed build error on linux.
Custom Effects - Clean-ups and Enhancements (#1163)
* Cleanup EffectFileHandler
* Support Custom Effect Schemas and align EffectFileHandler
* Change back to colon prefix for system effects
* WebSockets - Fix error in handling fragmented frames
* Correct missing colon updates
* Update json with image file location for custom gif effects
* Image effect deletion - considere full filename is stored in JSON
* Correct selection lists indentions
Creating Audio Grabber
Creating Audio Grabber
Creating Audio Grabber.
Successfully began capturing audio in windows. Starting to implement a hard-coded UV Visualizer.
Got Windows DirectSound Implementation working.
Hardcoded basic VU Meter.
Begin working on linux audio grabber implementation.
Finished Linux Draft Implementation.
Minor Mods to windows implementation.
Windows:
- Free memory used by device id.
- Prevent starting audio if the grabber is disabled
- More debug logging
Linux:
- Prevent starting audio if the grabber is disabled
Added strings to english
Removed "custom" from device selection
Made hard-coded visualizer values configurable.
wrote values to imageData with BGR priority to enable configurable values to be set in RGB format.
created logic to support "Automatic" to enable the API to select the default device.
Add language key for audio in "Remote Control" section.
Removed audio configuration for number of channels. This was causing an error with some devices.
Fixed logic to update capture while its active.
Optimizing code .
UI Tweaks
Destructuring.
Fixed build error on linux.
Commented setVideoMode from AudioGrabber.
Linux Threading changes.
Implementing new API
Continuing to implement audio into new APIs
Fixed Audio Grabber for DirectSound on Windows
Fixed UI for Audio Grabber Configuration
Default AUDIO to off unless specified.
fixed missing #ifdef for audio grabber.
Added logic to calculate a dynamic multiplier from the signal input.
Updating linux api for discovering devices.
Fixed HTML/JS issues with view.
Fixed NPE in Windows.
Disabled setting thread priority in linux.
updated the schema options check to pass through hidden states and commented the change.
Updated grabber start conditions
Updated Audio grabber to instantiate similar to video grabber
Updated windows grabber to set "started" flag to false when shutting down.
Removed "tryStart" to prevent enabling audio capture unnecessarily.
Fixing instance audio grabber device configuration
Added configurable resolution
Reduced tolerance to 5%
Fixed issue where grabber failed for additional instances when "start" was called multiple times.
Fixed resolution calculation
Change averaging algorithm to prevent overflowing the sum.
Updated logic to stop audio grabber when disabled.
Fix integer casting and rounding.
Restart grabber on configuration change.
Fix missing include/grabber/AudioGrabber.
Disable tolerance.
Added configurable tolerance.
Fixed tolerance algorithm.
reset multiplier on configuration change.
Line Endings
Proposed change and questions/request to fix
implementing more of LordGrey's suggestions.
Fix mode for snd_pcm_open. Latest ALSA uses SND_PCM_NONBLOCK instead of SND_PCM_OPEN_NONBLOCK
defaulted multiplier to 0 "auto"
defaulted tolerance to 20%
changed 100 to 100.0 for pixel value percentage calculation to fix value from being 0.
missed a 100 as a double so precision isn't lost during math operation.
Fix Windows grabber and further cleanups
Enable Audio grabbing in standard build
Remove empty methods
Fix audio capture priority setting
Remove unused code
Clean-up default config
Allow additional json-editor attributes
Allow multiple effects and resetting to defaults
Correct default values
Allow to build for Qt < 5.14
Update CodeQL build dependency
Update build dependencies
Remove effect1 placeholder
* Renamed uvMeter to VU Meter (Volume Unit)
- Fixed issues flagged by code scanning bot.
* Moved stop call into destructor of implementing class.
* Removed commented linux audio channel configuration logic.
---------
Co-authored-by: Michael Rochelle <michael@j2inn.com>
* Dominant Color and Mean Color Squared
* Workaround - Suppress empty LED updates
* Add missing text
* Dominant Colors advanced
* Test with fixed initial colors
* Test with fixed initial colors
* Support new processing values via API
* ImageToLED - Add reduced pixel processing, make dominant color advanced configurable
* Updates on Grabber fps setting
* ImageToLedMap - Remove maptype and update test
* Update dynamic cluster array allocation
* WLED - Fix empty segment element in DB
* WLED - Fix to not overwrite on state when not isStayOnAfterStreaming
* Refactor ProviderRestApi, increase default timeout
* Fix Smoothing - Fix empty updates, consider smoothing configs for effects
* UI - Fix not removed priority
* Add missing header and code updates
* setRedirectPolicy was only introduced in Qt 5.9
* Adalight - Align to HyperSerial v9.0.0
* HyperSerial Hyperion with awa protocol v8.0.0
* Correct line-endings
* Add Suspend/Resume support
* Support Suspend/Resume/Restart via API, UI and Systray
* Support screen lock/unlock scenario
* Handle idle scenario
* Align with fix for #1368
* Update Windows build
* Refactor SuspendHandler to maintain state
* Do not start BG-Effect, if system goes into suspend mode
* Correct Idle and Resume interaction
* Smoothing Remove ouputrate as duplicate to update frequency
* Serial LDEDDevices -Increase writeBlack to overcome issues on high baud rates
* Serial LED-Devices - Support device feedback, show statistics provided by HyperSerial
* Fix - Update Color Calibration on Remote Control when settings saved
* Serial LED-Devices - Support device feedback, show statistics provided by HyperSerial
* Imported Oklab reference implementation
* Add Okhsv conversions
* Fixed formatting error
* Add saturation and value gain to schemas
* Add english translation for saturation, value gain
* Created OkhsvTransform
* Make OkhsvTransform configurable
* Apply OkhvsTransform
* Clamped values during transform
* Precalculate isIdentity in OkhsvTransform
* Skip OkhsvTransform if it is the identity function
* Added changelog message
* Allow for full desaturation
* Imported recommended changes by LordGrey
* Fixed typo in constant
* Fixed anti-pattern in ok_color.h
* Correct indentions
* Correct remote-control
* Limited maximum gain settings to practical range
* Renane valueGain to brightnessGain for clarity and understanding
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
* Fix Smoothing out of sync when saving
* Only force Smoothing for new devices
* Re-Add Max/Min Brightness titles
* UI - Fix: Correctly lookup current Instance Name in case instance IDs are not in order
* Fix/Update AtmoOrb Firmware images
* Fix#1430 - ensure all config and sysinfo response are there before reloading the page
* Fix printout
* fix typo
* PriorityMuxer: Remove emit out of QMutableMapIteratorion
* Test - Build aarch64
* Allow build, if no grabbers are enabled
* Align available functions to right Qt version
* Update to next development version
* Align available functions to right Qt version
* fix workflows (apt/nightly)
* Disable QNetworkConfigurationManager deprecation warnings
* Initial go on Smart Pointers
* Add Deallocation
* Correct QT_WARNING_DISABLE_DEPRECATED (available since 5.9)
* Cluster Build Variables
* Hyperion Light
* Address build warnings
* Hyperion Light - UI
* Update Protobuf to latest master
* Removed compiler warnings
* Added restart ability to systray
* Correct Protobuf
* Ignore 'no-return' warning on protobuf build
* hyperion-remote: Fix auto discovery of hyperion server
* Fix Qt version override
* Update changelog
* Remove Grabber Components, if no Grabber exists
* Standalone Grabber - Fix fps default
* Remote Control - Have Source Selction accrosswhole screen
* Enable Blackborder detection only, if relevant input sources available
* Enable Blackborder detection only, if relevant input sources available
* Remote UI - rearrange containers
* Checkout
* Fix compilation on windows
* Re-added qmdnsengine template cmake
* chrono added for linux
* Removed existing AVAHI/Bonjour, allow to enable/disable mDNS
* hyperiond macos typo fix
* Fix macOS Bundle build
* Fix macOS bundle info details
* Correct CMake files
* Removed existing AVAHI/Bonjour (2)
* Share hyperion's services via mDNS
* Add mDNS Browser and mDNS for LED-Devices
* Support mDNS discovery for standalone grabbers
* Remove ZLib Dependency & Cleanup
* mDNS - hanle 2.local2 an ".local." domains equally
* Hue - Link discovery to bridge class, workaround port 443 for mDNS discovery
* Fix save button state when switching between devices
* Removed sessions (of other hyperions)
* mDNS Publisher - Simplify service naming
* mDNS refactoring & Forwarder discovery
* mDNS Updates to use device service name
* Consistency of standalone grabbers with mDNS Service Registry
* Merge branch 'hyperion-project:master' into mDNS
* Start JSON and WebServers only after Instance 0 is available
* Remove bespoke qDebug Output again
* MDNS updates and refactor Forwarder
* Minor updates
* Upgrade to CMake 3.1
* typo
* macOS fix
* Correct merge
* - Remove dynamic linker flag from standalone dispmanX Grabber
- Added ability to use system qmdns libs
* Cec handler library will load at runtime
* typo fix
* protobuf changes
* mDNS changes for Windows/macOS
* test window build qmdnsengine
* absolute path to protobuf cmake dir
* Rework Hue Wizard supporting mDNS
* LED-Devices - Retry support + Refactoring (excl. Hue)
* LED-Devices - Refactoring/Retry support Hue + additional alignments
* Address LGTM findings
* Fix CI-Build, revert test changes
* Build Windows in Release mode to avoid python problem
* Correct that WebServerObject is available earlier
* Ensure that instance name in logs for one instance are presented
* Update content LEDs
* Rework mDNS Address lookup
* Fix LED UI
* Fix for non mDNS Services (ignore default port)
* Disbale device when now input is available
* Revert back some updates, ensure last color is updated when switched on
* Handle reopening case and changed IP, port for API-calls
* Add UPD-DDP Device
* WLED support for DDP
* Fix printout
* LEDDevice - Allow more retries, udapte defaults
* LED-Net Devices - Select Custom device, if configured
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: Paulchen Panther <Paulchen-Panter@protonmail.com>
* Update Gijgo to 1.9.13
* Update DOMPurify 2.3.6
* Update Marked 4.0.12
* Update metismenu 3.0.7
* Issue Update Priority, if first LED changes for COLOR update (to reflect color correctly in UI)
* Add Yeelight W3 MultiColor
* Update to jquery 3.6.0
* Stop Web-Capture when priority changes
* Remote control UI: Treat duration=0 as endless
* Stop Web-Capture on non-Image events changes
* LED Matrix Layout - Support vertical cabling direction
* Additional Yeelight models
* Treat http headers case insensitive
* Update change log
* Treat http headers case insensitive (consider Qt version)
* API - Consider provided format when setImage
* UI - Support Boblight configuration per LED instance
* Support multiple Boblight clients with different priorities
* Update changelog
* Simplify isGUI rules allowing for QT only builds
* Sysinfo: Fix indents
* LED-Devices: Show warning, if get properties failed
* Qt-Grabber: Fixed position handling of multiple monitors
* LED layout: Remove indention limitations
* Yeelight: Test YLTD003
* hyperion-remote: Provide image filename to muxer/UI
* Refactor PriorityMuxer and related
* Temp: Build under Windows 2019
* Yeelight: Remove YLTD003 as it is not working without additional changes
* Test Windows-latest with out removing redistributables/new MSVC
* correct workflows
* correct CI script
* Build Windows with Qt 5.15.2
* Priority Muxer: Updates after testing
* Fix Typo
* Update BGHandler
* QTGrabber - Reactivate windows code to avoid cursor issues
* Emit prioritiesChanged when autoselect was changed by user
Co-authored-by: Paulchen Panther <Paulchen-Panter@protonmail.com>
* Hyperion Light - Have EffectEngine as component
* Hyperion light - Build switches for LED Devices (Serial, Network)
* Fix file uri generation
* Fix missing guard for Windows
* Fix file uri generation
* Update jsonschema and checkschema
* Allow to provide cmake build args to docker build
* Fix that lighpack cores when lack of permissions
* Atmo/Karate - Fix LedCount constraint handling
* Hue updates - Have EntertainmentAPI as default, disable hardwareledcount as cacultated
* Have Gamma per default 2.2
* Do not limit priorities for Boblight (#1269)
* Boblight - Allow to exclude component from build
* Fix merge
* Amlogic - Correct Pixelformat reference
* Remove "wrong" Amlogic ifdef, which was not working before
* Fix#1098, Removed Continuous Output as being obsolete
* Pause output processing when no input source is available
* Only show configurable options for Linear smoothing
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
* LedDevice - Address clang findings
* Fix Windows Warnings
* Ensure newInput is initialised
* Clean-up unused elements for Plaform Capture
* Fix initialization problem and spellings
* Address clang findings and spelling corrections
* LedDevice clean-ups
* Cleanups
* Align that getLedCount is int
* Have "display" as default for Grabbers
* Fix config during start-up for missing elements
* Framegrabber Clean-up - Remove non supported grabbers from selection, filter valid options
* Typo
* Framegrabber.json - Fix property numbering
* Preselect active Grabbertype
* Sort Grabbernames
* Align options with selected element
* Fix deletion of pointer to incomplete type 'BonjourBrowserWrapper'
* Address macOS compile warnings
* Have default layout = 1 LED only to avoid errors as in #673
* Address lgtm findings
* Address finding that params passed to LedDevice discovery were not considered
* Cleanups after merging with latest master
* Update Changelog
* Address lgtm findings
* Fix comment
* Test Fix
* Fix Python Warning
* Handle Dummy Device assignment correctly
* Address delete called on non-final 'commandline::Option' that has virtual functions but non-virtual destructor
* Correct that QTimer.start accepts only int
* Have Release Python GIL & reset threat state chnage downward compatible
* Correct format specifier
* LedDevice - add assertions
* Readonly DB - Fix merge issue
* Smoothing - Fix wrong defaults
* LedDevice - correct assertion
* Show smoothing config set# in debug and related values.
* Suppress error on windows, if default file is "/dev/null"
* CMAKE - Allow to define QT_BASE_DIR dynamically via environment-variable
* Ignore Visual Studio specific files
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* Feature: Weighted Moving Average Smoothing with Decay
* fix assign
* try fix MSVC error related to always inline on static
* use proper imports for windows
* crossplatform inline declaration