Commit Graph

212 Commits

Author SHA1 Message Date
Ben Williams
4aebd55715
feat: Add Trapezoid to LED Layout (#791)
* Update schema-ledConfig.json

extend schema with corner points (vertcal and horizontal values in percent)

* Update conf_leds.html

input fields for corner points

* Update content_leds.js

add corner values and calculation of led rows

* Update de.json

german title for corners

* CHanges 26.12.2019 Correction and PowerOff add

* GrabberFix PiCam

* VType as QString

* Unused variable deletet

* Missing new paramneters for GrabberFix

* Error json

* JSon error by user

* Crosscompile SutnikElf frok

* Warning unused variable

* Revert "Crosscompile SutnikElf frok"

This reverts commit 443fe80090.

* Fixing a linting error

* Adding Grabber Override Names

* Adding more Grabber Fix translations

* Missed one

* remove V4L2 Grabber Fix and Power Button from Dashboard

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Setting some limits to the trapezoid

Co-authored-by: SputnikElf <58911932+SputnikElf@users.noreply.github.com>
Co-authored-by: SputnikElf <sputnikelf@gmx.de>
Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2020-05-20 08:36:52 +02:00
LordGrey
9472860868
Toggle-Buttons for Component Remote Control (#677) (#778)
* Toggle-Buttons for Component Remote Control (#677)

* Update remote.js

* Handle Component Updates individually

* Avoid unnecessary updates

Co-authored-by: brindosch <edeltraud70@gmx.de>
2020-05-12 19:56:06 +02:00
brindosch
510bb903ae
Windows compilation support (#738)
* Disable AVAHI

* Replace SysInfo backport with Qt SysInfo

* Update vscode config

* Update LedDevices

* Update Logger

* Update hyperiond

* Update hyperion-remote

* Exclude avahi

* Empty definition for Process

* PythonInit path broken

* Exclude PiBlaster and link ws2_32

* more avahi

* resolve ui bug

* Update Compile howto

* JsonAPI QtGrabber missing

* fix error

* ssize_t replacement

* Nope, doesn't work

* Adjust compile description and verify winSDK

* Update ci script

* Update ci script

* Update ci

* Update ci script

* update Logger

* Update PythonInit

* added Azure & GitHub Actions, Logger, PythonInit

* resolve merge conflicts

* revert ssize_t in FadeCandy

* look at registry for QT5 & use find_package(Python) if cmake >= 3.12

* second try

* another try

* and yet another test

* qt5 registry search undone

* Package creation test

* finished package creation. only fine tuning is required :-)

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Dependencies for Windows finished

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* use 'add_definitions()' until CMake 3.12

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Update .github/workflows/pull-request.yml

Co-Authored-By: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>

* Update cmake/Dependencies.cmake

Co-Authored-By: brindosch <edeltraud70@gmx.de>

* fix typo/ add VCINSTALLDIR var

* fix again

* Undo change again (Not working)

* fix QT grabber

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* first NSIS test

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Update NSIS package

* surprise :-)

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Update NSIS package

* fix: NSIS .bmps

* Add nsis templates

* Force windows gui app

* fix: QSysInfo required Qt5.6, now it's 5.4 again

* Update: Remove platform component and adjust package name

* Add macOS as system name

* Update docs

* fix: Allow gh actions ci also for forks with branches

* Add ReadMe docs, mention windows, add vscode linux debug config

* fix: readme visual

* reduce/hide banner/copyright/log message

Infos here: https://docs.microsoft.com/de-de/visualstudio/msbuild/msbuild-command-line-reference?view=vs-2019#switches

* Fix PythonInit

* vscode: Add runner task

* fix(vscode): compiler path gcc ver independent

* fix azure

* vscode: add windows run tasks

* move process detection

* main: add windows process detection

* Azure file shredder

* Update docs

Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2020-05-12 19:51:19 +02:00
brindosch
e79615534c
fix(webui): hide v4l2 if not available (#782)
* fix(webui): hide v4l2 if not available

* Whups
2020-05-02 15:47:15 +02:00
Paulchen Panther
10f11c2d89
V4L2 enhanced (#766)
* 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
2020-04-17 16:59:20 +02:00
b1rdhous3
52e7f04e46
Introduce Dark Mode (#752)
* Introduce Dark Mode

* Auto Detect Dark Mode from OS

Some OS (iOS or Mac OS e.g.) can give the browser an information if system wide dark mode is set or not. If the OS shares this information, webui is set automatically to the mode. Manual overwrite is still possible by pressing button on the webui. This is valid as long the session in the client is open.

* Burger Button Dark Mode

Dark Mode for Burger Button (Mobile View)
2020-04-05 20:08:56 +02:00
b1rdhous3
5d1063e935
Check if requested Instance is running (#759)
Preventing a dead lock when the requested instance from local store is not running. 
If it is not running we will now delete the lastSelectedInstance and switch back to index 0.
2020-04-05 20:05:02 +02:00
LordGrey
aaa4235cab
refactor: Align Phillips Hue to reworked device handling (#712)
* Align PhilipsHue (Classic)

* Minor Device corrections

* Have code working with Qt < 5.10

* Fixes on Hue Wizzard

* Fixes on Hue Wizzard

* Calculate Latchtime only for lights updated by hyperion

* Allow to disable restoring original light's state

* Fix - LightIDs / LightMap vectors were not cleared when reopening the device

* Reduce API Calls for state updates by consolidation
2020-03-26 18:49:44 +01:00
brindosch
2739aec1e3
refactor: API split (#721)
* refactor: API split

* refactor: cleanup hyperiond
2020-03-26 17:59:41 +01:00
brindosch
8db85c9a5a
refactor: Led layout, clearAll (#703)
* 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>
2020-02-26 18:54:56 +01:00
b1rdhous3
fa553820f5
feat: Package Update Descriptions on WebUi (#694)
* md highlighting

* Update 3RD_PARTY_LICENSES
2020-02-23 23:19:14 +01:00
LordGrey
a2dbbcdd0d
feat: Led Matrix Layout - Save/Restore (#669) (#697)
* Led Matrix Layout (#669)

* fix: ledConfig object missing

Co-authored-by: brindosch <edeltraud70@gmx.de>
2020-02-23 00:51:58 +01:00
b1rdhous3
8bbaa8b359
Fixing new hue user generation (#696)
* Fixing new hue user generation

Button was not linked with the create user function
2020-02-21 18:55:17 +01:00
Paulchen-Panther
5d3520730c New language from POEditor: Dutch, Polish, Romanian
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2020-02-19 20:20:03 +01:00
T-IOOO
1e3c1057d1
Swedish Translation (#675)
* Swedish Translation

Swedish translation

* Update and rename sv to sv.json

translation 100%

* add sv

Co-authored-by: brindosch <edeltraud70@gmx.de>
2020-02-19 19:30:22 +01:00
b1rdhous3
75f39bb125
Deleted active js debugger; (#693) 2020-02-19 17:46:08 +01:00
b1rdhous3
065634076b
Changed WebUI Version Check to SemVer. Also addes "Alpha" Channel (#692) 2020-02-19 17:29:11 +01:00
brindosch
b9ecd0e112
chore: Add Github Issue templates & webui sysinfo (#681)
* chore: better gh templates

* chore: add about - sysinfo to gh issues

* fix: Webui freeze on auth error

* Split Git Remote to own field

* Move CONTRIBUTING.md
2020-02-16 13:55:38 +01:00
brindosch
5e559627be
Feat: Add Admin API (#617)
* Push progress

TODO: rework RESET, probably to main.cpp again

* resetPassword rework

* enable administration restriction

* add short cmd for userdata

* Js apis

* Refactor JsonCB class

* Add userToken Auth

* Feat: Close connection if ext clients when def pw is set

* Feat: Protect db against pw/token tests

* WebUi PW Support (#9)

* Initial WebUi Password Support

* Small changes

* Initial WebUi Password Support

* Small changes

* Basic WebUi Token support

* added "removeStorage", added uiLock, updated login page

* Small improvments

* Small change

* Fix: prevent downgrade of authorization

* Add translation for localAdminAuth

* Feat: Show always save button in led layout

* Revert "Feat: Show always save button in led layout"

This reverts commit caad1dfcde.

* Feat: Password change link in notification

* Fix: body padding modal overlap

* Feat: Add instance index to response on switch

* prevent schema error

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Feat: add pw save

* Feat: callout settings/pw replaced with notification
2019-09-17 21:33:46 +02:00
brindosch
145f88d5af
Bugfixes [ColorOrder apply, hue wizard, ledDevice display] (#621)
* Resolve general colorOrder update issue

* Fix: wizard.js syntax broken

* Fix: Remove active device prop and migrate to config data

* Fixing instanceStop Bug on WebUi (#10)

* Fixing instanceStop Bug on WebUi

* Added removeStorage

* Changes to deletion logic

* Improvements to deletion check

* Feat: Show always save btn & rm generate btn
2019-09-07 01:17:26 +02:00
brindosch
b1fa085d64
Breaking Change: ledLayout, ledColorsStream (#614)
* 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
2019-08-25 16:32:19 +02:00
b1rdhous3
18d6345968 WebUi: New Internet API logic, correct switch to last instance after refresh, current instance notification (#608)
* Added new restricted ip api checkbox, initial instance localStorage support

* Added instance notification, added correct instance switch after page refresh (to last current instance)

* Optimize intention in wizard.js

* ":" from i18n json to code

* Changes for Responsive about site
2019-08-21 17:46:49 +02:00
brindosch
032aa0b14c
Update jquery.i18n.fallbacks.js
Fallback in chrome now working, strange hotfix. Might be more issues with other langs
2019-08-21 16:15:55 +02:00
brindosch
09ee8f26ee
Feat: Add image sender to webui + Browser screen capture (#611)
* Feat: Add image sender to webui

This PR adds a new image sending feature to the webui and extends the api accordingly. In javascript the processing of images is horrible slow (without WASM), so the solution is at the API side with out-of-the-box power of Qt.

- The image cmd accepts now a raw image that is encoded with base64. Supported are all image formats that qt supports (enough)
- There is no real size limit. It will be automatically scaled down to max 2000px width or height according to aspect ratio
- It's possible to scale down through a new "scale" property if developer wants that.
- Test were successfull until 3MP pictues, 4k+ closes the websocket on browser side, so 2k is a decent value
- Adds a new image streaming feature from browser (tabs/applications/complete desktop as target). This works just if used with HTTPS PR#612 AND with a recent version of Firefox/Chrome
2019-08-21 16:10:35 +02:00
brindosch
8e5f3251b5
Feat: Add SSL support for webserver + websocket (#612)
* Feat: Add SSL support for webserver + websocket

Finally, Hyperion reaches the SSL century!
- Uses by default a internal key and certificate to provide working HTTPS out-of-the-box
- Your browser won't like that, for a green ssl seal next to the browser address bar you need to use Let's Encrypt with a own legit domain. This is out of the scope of Hyperion
2019-08-21 16:09:28 +02:00
b1rdhous3
7e295a715f WebUi: Beauty Tweaks (Instance, 3rd party Licenses) (#597)
* WebUi: Instance Management Tweaks and Chars Needed Information

* WebUi: 3rd Party Licenses Tweaks

* WebUi: Apply changes from Brindosch PR #596

* WebUi: Changing i18n tokens and adding catch event for connection error

* WebUi: Adding Link to GitHub License Ressource if an error is catched
2019-08-15 23:48:13 +02:00
brindosch
d190e6f294
Add hyperion-remote instance cmd (#596)
* Add hyperion-remote instance cmd

- Adds a new command to hyperion-remote that allows the selection of a instance by name
- Fixed broken umlauts
- Fixed wrong text placement inside icon tags

* Add warning if selected instance is not found
2019-08-13 23:22:06 +02:00
LordGrey
b45cea9267 Correct device name list 2019-08-12 21:00:59 +02:00
Paulchen-Panther
2f7b90de10
Fixed modal bug when renaming instances
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-08-05 20:44:44 +02:00
Paulchen-Panther
3dee474356
Instance names can now be renamed on the WebUI (incl. inst 0)
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-08-04 20:19:33 +02:00
b1rdhous3
a080c7151d Moved Token Management to Network Setting
* Moved Token Management to Network Settings

* Fixed alignment of Token Settings Div if Help Tables are switched off

* Added Chars counter, new format of the div panel (footer), change i18n

* Added Explanation for Token Management

* Moved Token Management to Network Settings

* Fixed alignment of Token Settings Div if Help Tables are switched off

* Added Chars counter, new format of the div panel (footer), change i18n

* Added Explanation for Token Management

* i18n Fix

* Revert "i18n Fix"

This reverts commit 0186290689d8b140310d5376617a3d43429bb632.

* i18n Fix
2019-08-04 16:16:39 +02:00
b1rdhous3
1960f7652d
Global Setting Information on Instances
If a setting page is only changeable globally and instance != 0 is set a notification is shown
thanks @b1rdhous3
2019-08-03 19:14:52 +02:00
Paulchen-Panther
ce2f0a17d5
Proto- and Flatbuffer now share their input to all instances
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-08-03 19:14:52 +02:00
Paulchen-Panther
a4811b7e3c
UDP listener removed because this class is not multi-instance capable. For a new implementation, image data is needed instead of led colors.
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-08-03 19:14:52 +02:00
Paulchen-Panther
a3b326a18d
trigger muxer on color changes
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-08-03 19:14:52 +02:00
Paulchen-Panther
96d79cdef6
The slot in the websocket client will now run through until there are no more data in the buffer
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-08-03 19:14:52 +02:00
Paulchen-Panther
90599e820a
second part of PR #578
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-08-03 19:14:52 +02:00
Paulchen-Panther
ea796160af
- The first part
- 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>
2019-08-03 19:14:52 +02:00
Paulchen Panther
77299ba077
Merge pull request #579 from b1rdhous3/master
Renaming versionBranch, JSONEditor Enchancements and Chang Readme.md
2019-07-19 17:44:19 +02:00
brindosch
7e324bb1d3 Fix: WebUI port switch reconnect
The WebUI will get now the new port for next reconnect
It was necessary to add the Access-Control-Allow-Origin header with a wildcard for file serving
2019-07-18 22:32:06 +02:00
birdhouse
88dbaa5f0a Fixing PhilipsHue wizard, Fixing issue #545 2019-07-14 12:23:47 +02:00
birdhouse
0f2d72fc0a Renaming versionBranch and JSONEditor Enhancement
- versionBranch was renamed to watchedVersionBranch (including all variables and strings. even config)
- Enhancements for JSON Editor. Detection of advanced was not so good. Now you can see advaced if advanced or expert is selected. expert is the highest and should also make advanced visible.
- The levels default, advanced, expert are now also respected in the information tabs. Same logic as for the forms itself. Expert is highest and will also show all advanced settings.
2019-07-13 00:06:58 +02:00
Paulchen-Panther
bea8345e4b
Fixed build warnings and undo changes
- Build problems:
    - Qt 5.13 obsoleted some calls that were used in our Qt library.
    - The PhilipsHueLight and PhilipsHueBridge classes did not use the private logger class
- Undo changes:
    - In Commit e6c2e7e, I made changes that were not covered. An apology goes to @b1rdhous3

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-07-10 10:24:40 +02:00
Paulchen-Panther
e6c2e7ebf9
[HOTFIX] Python Interpreter
- added native RPi docker image instruction to CompileHowto.md
- version channel is received from JsonAPI instead of reading from the configuration file

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-07-08 15:05:11 +02:00
Paulchen-Panther
fb850bb40b
Merge remote-tracking branch 'upstream/master' into fadecandy 2019-07-02 19:42:42 +02:00
Paulchen-Panther
d414942e2e
Bugfix/Hotfix/Update
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
2019-07-02 19:06:36 +02:00
birdhouse
f53dfe7e87 "If" fehlte (FIX)
fix
2019-06-26 19:04:03 +02:00
birdhouse
e9f8309b50 New version function 2019-06-26 18:17:39 +02:00
birdhouse
2efbaa6175 Suggested Changes
Implemented suggested changes
2019-06-25 00:03:36 +02:00
birdhouse
10c831b976 Right Repo 2019-06-23 00:45:28 +02:00
birdhouse
9d9999b861 Final points.
Ready to merge
2019-06-23 00:38:06 +02:00
birdhouse
e37abbb62d Version determination now with github api 2019-06-22 21:30:17 +02:00
birdhouse
ab3f803060 Delete console.log
...
2019-06-20 21:07:40 +02:00
birdhouse
5953ae3b21 Changes to version update logic
Now the last stable will be used when the latest stable version have a higher version number than the last beta version. This only triggers when Beta Branch is used. If the user chooses Stable only stable versions will be considered.
2019-06-20 21:02:37 +02:00
birdhouse
c1d794cd02 WebUI: Update Check, Cleanup and Hyperion Switcher IPv6 Fix
Update Check:
- New Property which allows you to select stable or beta branch checks.
- This would rely on current versions.json. It selects the first version in list with you branch (stable, beta). If it is newer hyperion tells you that a update is available
- For this we should keep our deployment pipeline in mind to format the json this way.

Cleanup:
- I cleaned up the WebUI from dead links and the support page with the affiliate links and donation adresses as we don't have them under our control. Currently only disabled, not deleated

Switcher:
- If the address which is published via bonjour serve is IPv6 the Switcher was bugged. Fixed that.
2019-06-20 19:27:22 +02:00
Paulchen-Panther
2ccdfeb9e1
Gold linker, CCache, Stats, LGTM
- 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>
2019-06-05 21:13:37 +02:00
Paulchen-Panther
0a8af60726
Bug fixes and new implementations
- 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)
2019-06-05 21:00:09 +02:00
LordGrey
3661172d6d Change Aurora device support to cover additional Nanoleaf devices
* Support Nanoleaf LightPanels (aka Aurora) and Canvas
* Add Nanoleaf Device discovery
* Update SSDPDiscover to be generic for given services
2019-04-08 23:22:33 +02:00
Paulchen-Panther
7ff9d7037b
ProtoBuffer, UDPListener ...
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
2019-02-17 15:26:11 +01:00
b1rdhous3
efe1d92c0d Added Information Box for saving confirmation
A Box was added which is shown for 5 seconds if the server responds with
"cmd-condig-setconfig"
2019-02-07 00:59:52 +01:00
Paulchen-Panther
657fe00211
Troubleshooting and ...
- 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
2019-02-03 14:36:57 +01:00
Paulchen-Panther
2dca1c93e6 Commits from @MartB and more ...
- Commit: 1d9165f403
- New default QT capture implementation
- UploadHandler added to Effects Configurator to allow uploading GIF files
- Docker compile script and instruction
- Travis Fix
2019-01-06 21:09:27 +01:00
Paulchen-Panther
7352ff4d42 Threading and more
- webui remove restarts
- threading for LedDevice
2019-01-01 19:58:50 +01:00
Paulchen-Panther
d6b2cfaf9d update 2018-12-31 15:48:29 +01:00
Paulchen-Panther
0e3ddb7eca small changes 2018-12-31 00:21:44 +01:00
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
d762aa2f3e Details coming soon. 2018-12-27 23:11:32 +01:00
Paulchen Panther
4c02b15f65
speed improvements for live visualization 2018-12-20 14:33:28 +01:00
Paulchen Panther
10a1047a46
added aurora device to network selection 2018-12-20 14:32:27 +01:00
Paulchen Panther
0e68459850
custom effects can now be deleted again
added comments on function
2018-12-20 14:29:18 +01:00
penfold42
e190a51cfc [UNTESTED] Add support for apa104 led type 2018-03-01 17:31:04 +11:00
Daniel
bc4007ac67 Add Karatelight support (#487)
* Add Karatelight support

* Add Karatelight Schema

* Actually use the new schema file

* Put karate device to USB group in webinterface
2017-11-29 17:59:26 +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
9abf1dd43c add Czech i18n dummy 2017-11-16 11:39:57 +01: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
f66fe39d9d i18n typos and IT added 2017-10-10 23:03:15 +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
81f5f51257 UI fixes/updates (#468)
* fix logging display

* hue wizard add usrname

* fix restartAction sometimes not executed

* remove configRevision

* remove v4l2 grabMode(2d/3d)

* remove latchTime from configs

not in main led device schema

* config comment: all grabbers can crop

* remove smoothing delay&pause for effects

* finalize disable effects ui

* fix empty effect selects

* remote page add 2D/3D videoMode

* add blackborder texts

* Update EffectEngine.cpp
2017-09-04 23:12:59 +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
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
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
penfold42
64fc6a9003 Artnet (#440)
* Started implementing artnet/DMX support

It compiles, but certainly wont work just yet

* Fix up packet data and length
correct default udp port

The data looks ok in wireshark

* Code cleanup
Sequence runs from 1..255 not 0
fix universe > 255

* code cleanups and force even number of channels

* Fix potential endianness issue

* added support for 'x' channels per fixture with zero padding
its very basic support for now - it needs better multi universe support
2017-05-26 22:17:12 +02:00
brindosch
f7dd6b8b1a update (#431) 2017-04-07 21:33:40 +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
e9040f885d disable smoothing for effects (#425)
* no smooth for efx
rework fade effect

* join strobe and fade effects
new effect "breath"

* - make transition efx to smooth mode more smooth
- fixes for pacman
- rework fade base effect - make it more versatile
- fix prios in schema files
- new notify blue effect to demonstrate capability of fade effect
2017-03-30 06:20:20 +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
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
brindosch
9a0e1daf7b Reports - final version (#418)
* remove device config at log

* ...

* update ui
2017-03-18 00:05:04 +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
brindosch
19f8928869 update/fix remote 2017-03-02 11:52:27 +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
a76abdaafe add calculation of max power consumption to led confi (#406) 2017-02-26 20:55:41 +01:00
brindosch
01d04255dc fix tr, raise def gamma, add 'es' as language 2017-02-16 18:33:36 +01:00
brindosch
7c336b0511 ledConfig in config, report creation and upload (#398)
* update effects

* fix

* try

* .

* Update clock.py

* Update clock.py

* upd

* impl ledConfig

* upd

* fix

* update

* update js

* fix pacman

* change order of priorities
2017-02-15 15:53:35 +01:00
penfold42
f96b0143a8 [untested] added Sk6822 led device support (#397)
* Adding support for sk6822 timing
This isnt complete, but should be a good starting point for others to learn from.

1) Here is where the led device source is located:

cd libsrc/leddevice

2) Find the files that need changing:

root@loungepi:libsrc/leddevice# grep -ri 2812spi *
CMakeLists.txt:         ${CURRENT_SOURCE_DIR}/LedDeviceWs2812SPI.h
CMakeLists.txt:         ${CURRENT_SOURCE_DIR}/LedDeviceWs2812SPI.cpp
LedDeviceFactory.cpp:   #include "LedDeviceWs2812SPI.h"
LedDeviceFactory.cpp:   REGISTER(Ws2812SPI);
LedDeviceSchemas.qrc:           <file alias="schema-ws2812spi">schemas/schema-ws2812spi.json</file>
LedDeviceWs2812SPI.cpp:#include "LedDeviceWs2812SPI.h"
LedDeviceWs2812SPI.cpp:LedDeviceWs2812SPI::LedDeviceWs2812SPI(const QJsonObject &deviceConfig)
LedDeviceWs2812SPI.cpp:LedDevice* LedDeviceWs2812SPI::construct(const QJsonObject &deviceConfig)
LedDeviceWs2812SPI.cpp: return new LedDeviceWs2812SPI(deviceConfig);
LedDeviceWs2812SPI.cpp:bool LedDeviceWs2812SPI::init(const QJsonObject &deviceConfig)
LedDeviceWs2812SPI.cpp:int LedDeviceWs2812SPI::write(const std::vector<ColorRgb> &ledValues)
LedDeviceWs2812SPI.h:class LedDeviceWs2812SPI : public ProviderSpi
LedDeviceWs2812SPI.h:   LedDeviceWs2812SPI(const QJsonObject &deviceConfig);

3) Copy the existing files as a starting point:

cp LedDeviceWs2812SPI.cpp LedDeviceSk6822SPI.cpp
cp LedDeviceWs2812SPI.h LedDeviceSk6822SPI.h
cp schemas/schema-ws2812spi.json schemas/schema-sk6822spi.json

4) Do some search and replacing:

:%s/Ws2812SPI/Sk6822SPI/g

5) edit the other files (see the diffs in this commit)

* Added wait time and reset time

* Fixed up debugging output and commented it out.
2017-02-14 09:33:28 +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