* 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>
* 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
* SPI Fix - Free allocated memory in case of invert
* Remove development statement
* UI updates
* Minor corrections
* Tpm2net Fix - Free allocated memory
* LGTM Finding
* Add config directory and user type to SysInfo
* WS281x - Ensure that device runs with root priviliges
* WS281x - Update DMA defauls as per rpi_ws281x recommendation
* Support Sysinfo for Qt < 5.10
* Address LGTM finding
* - 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>
* small collection of bugfixed debugger hints / warnings
* 'toStdVector' has been explicitly marked deprecated
* fixed double zip naming in artifacts
* V4L2 WebUI Fix
* Some code fixes based on alerts from lgtm.com
* only execute dynamic v4l2 enum code, if V4L2_AVAIL
* very high critical bugfix ;)
* merge fix
* some lgtm.com fixes
* lgtm fixes
* undo localtime_r fix
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* whitespaces + typo fixes
* JS / LGTM fixes
* SSDP Handler crash fix
* MessageForwarder handlePriorityChanges Slave fixes
* use aboutToQuit Signal
* complete rewriten Hue Entertainment API structure
combined Philips Hue and Entertainment API
with new MbedTLS based SSL UDP Provider
* add required cross-compile submodules
* logical rebuild fn: initLeds, setLights + new logs
-more detailed checks and error handling inside iniLeds and setLights
- logical script procedure before ProviderUdpSSL init
- first steps for multiple ProviderUdpSSL usage
- better fallback support to old RestAPI, if entertainment api is not supported
- just 4 u LordGrey: new log fn for cosmetic config outputs ;)
* add OSX CompileHowTo - undo from CrossCompileHowTo
* whitespace fixes
* lightID toString fix
* fix unsigned int E-API + debug output
* bugfixes, reworked black signal detection, wizard:
- change device config field light-ids from int to string -> real unsigned int fix
- add signal detection brightness minimum threshold value
0.0 for 0% brightness - 1.0 for 100% brightness to count for blacklight signal detection
reason: input may not 100% black, like mine - i have a deep dark gray input signal
-> my threshold value is set to 0.005 for 0.5% minimum brightness = 1 (from max 255) to count as black
- wizard optimations, with fallback without entertainment support (beta state)
- whitespace fixes
* cleanup + minor fixes
* change fixed Hue UPD SSL config to _devConfig paras
* Hotfix SSL Connection, new light models, wizard:
- Fix UPD SSL Connection failed Problems
- add new supported gamut C light models: LCG002, LCA001, LCA002, LCA003
- wizard: extend fallback support to classic mode + hints
* whitespace, typo fix
* uncheck useEntertainmentAPI, if noAPISupport detected + hint
* coredump fix -> add _blackLightsTimer nullptr init
* code cleanup / remove old debugs + whitespacefixes
* add gamut C LCP001, LCP002
* SSL UDP config made more flexible + remove qDebug
-> switch to hyerion.ng _log
-> replace logCommand with verbose
-> code cleanups etc...
* extended mbedtls debugging infos
* add adjustable ssl timeout settings
* error handling
* streamdebugger bugfixes
* UPDSSL psk / psk_identity bugfixes! + hue wizard fn typo fix +
- verbose option available without dependencies
- whitespace fixes
* Philips Hue Assistant now recognizes non-original bridges better...
+ Added note if no clientkey is set when using the entertainment API
+ User creation (+ clientkey) for non-original bridges can now also be used
+ Minor changes and bug fixes
* CMAKE mbedTLS detection
* minor bug fixes + code cleanups
* FindMbedTLS.cmake remove Path-Hints + wizard.js: ajax timeout handling
Test - content_grabber.js: run relevant code only, if V4L2_AVAIL is true:
conf_grabber don't displays other devices, if V4L2 is not available
* compile mbedtls via cmake as static lib
* remove libmbedtls-dev from compileHowto / scripts
* Fix Windows build
* Fix windows build (part 2)
* removed unnecessary osx x11 include directory path
* QTimer Shutdown bugfix
* cmake win32 fix + minor bugfixes
* cmake debug msg used mbedtls libs
* Bugfix: noSignalDetection wasn't switchedOn again
if no signal was previously detected
* Some code fixes based on alerts from lgtm.com
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
* fix v4l2 standard
* ignore v4l2 meta devices
* added resolution, framerate and device dropdown list to WebUI (thx to @Lord-Grey & @b1rdhous3)
* Fix for kernels prior to v4.16
* Device names added & WebUI adapted
- 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)
* - 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
* implement a function for easy json editor creation
* grabber and kodi moved to new editor func
* webui: implement conf editors
* add missing files and remove debug code
* - 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
* 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
* tune editor style
* 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
* 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