{"id":13656875,"url":"https://github.com/BradyBrenot/huestacean","last_synced_at":"2025-04-24T01:30:30.702Z","repository":{"id":28774115,"uuid":"119290680","full_name":"BradyBrenot/huestacean","owner":"BradyBrenot","description":"Philips Hue control app for desktop with screen syncing. C++ with Qt Quick GUI.","archived":false,"fork":false,"pushed_at":"2023-04-12T09:30:13.000Z","size":5052,"stargazers_count":566,"open_issues_count":90,"forks_count":53,"subscribers_count":45,"default_branch":"master","last_synced_at":"2024-08-02T05:06:21.243Z","etag":null,"topics":["cpp","philips-hue","philips-hue-lights","qt","qtquick"],"latest_commit_sha":null,"homepage":"http://huestacean.com","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BradyBrenot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-01-28T19:31:27.000Z","updated_at":"2024-07-09T21:46:51.000Z","dependencies_parsed_at":"2024-01-22T03:57:58.894Z","dependency_job_id":null,"html_url":"https://github.com/BradyBrenot/huestacean","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BradyBrenot%2Fhuestacean","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BradyBrenot%2Fhuestacean/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BradyBrenot%2Fhuestacean/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BradyBrenot%2Fhuestacean/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BradyBrenot","download_url":"https://codeload.github.com/BradyBrenot/huestacean/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223940770,"owners_count":17228892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","philips-hue","philips-hue-lights","qt","qtquick"],"created_at":"2024-08-02T05:00:33.716Z","updated_at":"2024-11-10T10:30:26.995Z","avatar_url":"https://github.com/BradyBrenot.png","language":"C++","funding_links":[],"categories":["C++ (70)","C++"],"sub_categories":[],"readme":"# Huestacean\n\nPhilips Hue screen syncing app for Desktop. Uses Philips' new Entertainment API to sync the user's screen with their lights with very low latency.\n\n\u003ca href=\"http://www.youtube.com/watch?feature=player_embedded\u0026v=sPH1u7Z7y9E\" target=\"_blank\"\u003e\u003cimg src=\"https://i.imgur.com/hICos2X.png\" alt=\"Youtube video demonstrating Huestacean's screen sync feature\" border=\"0\" width=\"350px\" /\u003e\u003c/a\u003e\n\u003cimg src=\"https://i.imgur.com/H67w2ta.png\" alt=\"Youtube video demonstrating Huestacean's screen sync feature\" border=\"0\" width=\"250px\" /\u003e\n\n## Download\nDownloadable binaries for Windows and macOS are available on the **[Releases](https://github.com/BradyBrenot/huestacean/releases)** page; see [Installing](#installing) for more information. It ought to also be possible to build the source for Linux but this has not yet been tested, see ***Building*** below.\n\n## Safety notice\nThis software can cause rapid flickering of your Hue lights that may trigger photosensitive epileptic seizures in vulnerable individuals, including those who have never experienced epilepsy or seizure symptoms previously. ***DO NOT*** use this if you are or suspect you are affected by photosensitive epilepsy, or are otherwise photosensitive, epileptic, or suffer from seizures generally. Cease use immediately and consult a doctor if you suffer from any seizure symptoms, which may include lightheadedness, altered vision, eye or face twitching, jerking or shaking of arms or legs, disorientation, confusion, or momentary loss of awareness.\n\n## General notes\n\n### Hue requirements\nA Gen2 bridge is a **must**. Your bridge and lights should also be using the latest firmware. Use the Philips Hue Android or iOS app to update the firmware.\n\nAt the moment this software can't create entertainment groups. You need to do this in the Hue app. Philips has a video describing how to do this [on the Hue Youtube channel](https://www.youtube.com/watch?v=_N7VNJM_8js).\n\n### Lights\nThe Lightstrip Plus is by far the best light I've found for this. It has a wide color gamut, and it dims to a *super dark* state before it turns off completely. My Gen 1 lights are still pretty bright at their dimmest. This can be a problem when syncing the lights in a darkened room.\n\n### Positioning lights\nFor the best experience, I'd suggest using or more lights behind or to the side of the display, in front of you and within the central cone of vision. Rapid changes in lights behind or to your side are likely to be more *distracting* and *annoying* than they are actually enjoyable. The video above is more lights than I actually use this with; usually I only have the one lightstrip behind my TV syncing.\n\n## Installing\n### Windows\nOnly (64-bit) Windows 8 and 10 are fully supported as the application uses the [IDXGIOutputDuplication](https://msdn.microsoft.com/en-us/library/windows/desktop/hh404611(v=vs.85).aspx) API which is only available from Windows 8 onwards. This allows the application to capture almost anything, including fullscreen games, with extremely high performance. If someone else is interested in working on Windows 7 support I'd welcome PRs, though.\n\nIf you have a Hybrid GPU setup (some laptops, convertibles, etc.), make sure you run Huestacean on the **Integrated GPU**, not the Discrete GPU.\n\n#### Prerequisites\n* [Visual Studio 2017 redistributable](https://aka.ms/vs/15/release/VC_redist.x64.exe)\n\n#### Install\nDownload the latest from [releases](https://github.com/BradyBrenot/huestacean/releases). Extract anywhere. Run `huestacean.exe`\n\n### macOS\nOnly supported on macOS 10.7+ (uses [AVCaptureScreenInput](https://developer.apple.com/documentation/avfoundation/avcapturescreeninput))\n\nDownload the .app from [releases](https://github.com/BradyBrenot/huestacean/releases) and run it.\n\nSo far it's only been tested on 10.11.6 on an old Macbook Pro.\n\n### Linux\nBuild from source.  See relevant section under Building.\n\n### Android\nThis is still **experimental**, and is known to crash. Side-load the APK and run it. It does not currently run as a service so Android will kill it to save resources if it thinks it needs to. Requires Android 5.0 (uses [MediaProjection](https://developer.android.com/reference/android/media/projection/package-summary.html))\n\nThe apk should work for most modern **ARM**-based Android devices with at least **Android 5**\n\n - Has not been tested on any real hardware older than Android 7.0, although it has been tested on 5.1 on an emulator.\n - [Turn off battery optimization](https://www.google.ca/search?q=android+turn+off+battery+optimization+for+app) on the app or Android will eventually suspend it while it's in the background!\n - Works just great on my old Galaxy Note 3 (with Lineage OS), which is more than four years old; I can streami Youtube and you couldn't tell the difference from when I run it on my PC.\n - Will **not** work in Netflix and other video apps that tell Android they're showing \"secure\" content.\n   - Xposed's DisableSecureFlag module can bypass this but _don't install that_ unless you actually know what you're doing and how to recover from a boot loop. You could hose your device, do this **at your own risk**. Also mind that this allows other screen recording software to record other \"secure\" apps like banking apps.\n\n## Reporting bugs\nUse this repository's [Issues](https://github.com/BradyBrenot/huestacean/issues) to report bugs or other problems.\n\n----\n\n## Building\nMajor development is presently active on the master branch, you'll need to use a previous [Release](https://github.com/BradyBrenot/huestacean/releases) to build a working copy of Huestacean at the moment.\n\n### Dependencies\n* Qt 5.10\n* CMake 3.9\n\n#### Windows\n* Visual Studio 2017. Community Edition is fine.\n\n### All platforms\nClone the repository and its submodules\n```\ngit clone --recursive git://github.com/BradyBrenot/huestacean.git\ncd huestacean\n```\n\nIf you've already cloned without the submodules, or you've synced before I changed one of their paths, you may need to\n```\ngit submodule sync\ngit submodule update --init --recursive\n```\n\n### Windows\n#### CMake, command prompt\nRun the 'x64 Native Tools Command Prompt for VS 2017'. `cd` to the repository directory.\n\nAssuming you have Qt5.10 installed in `C:\\Qt\\5.10.0`, run:\n\n```\nmkdir build\nmkdir build\\debug\nmkdir build\\release\ncd build\nSET CMAKE_PREFIX_PATH=C:\\Qt\\5.10.0\\msvc2017_64\\lib\\cmake\ncmake .. -G \"Visual Studio 15 2017 Win64\"\ncd debug\nmsbuild ../Huestacean.vcxproj /property:Configuration=Debug /property:Platform=x64\ncd ../release\nmsbuild ../Huestacean.vcxproj /property:Configuration=Release /property:Platform=x64\n```\nThen use [windeployqt](http://doc.qt.io/qt-5/windows-deployment.html) to copy in the necessary deployment files. e.g.\n```\nC:\\Qt\\Qt5.10.0\\5.10.0\\msvc2017_64\\bin\\windeployqt.exe huestacean.exe -qmldir=../../qml\n```\n\n#### CMake, Visual Studio\nSet the `CMAKE_PREFIX_PATH` environment variable to, e.g., `C:\\Qt\\5.10.0\\msvc2017_64\\lib\\cmake`\n\nOpen VS 2017. File -\u003e Open -\u003e CMake -\u003e huestacean\\CMakeLists.txt\n\nSwitch configuration to x64-Debug or x64-Release\n\nCMake -\u003e Build Only -\u003e Huestacean\n\nor set Huestacean as the startup target and start debugging.\n\n**NB:** You'll need to copy the necessary Qt DLLs over or run [windeployqt](http://doc.qt.io/qt-5/windows-deployment.html) before the project will run. e.g.\n```\nC:\\Qt\\Qt5.10.0\\5.10.0\\msvc2017_64\\bin\\windeployqt.exe huestacean.exe -qmldir=../../qml\n```\n\n### Mac\nSet the `CMAKE_PREFIX_PATH` environment variable to point to your Qt install directory. For Mac, this could look like:\n```\nexport CMAKE_PREFIX_PATH=~/Qt/5.10.0/clang_64/lib/cmake\n```\n`cd` into the repository directory, then simply build with `cmake` and `make`\n```\nmkdir build\ncd build\ncmake ..\nmake huestacean\n```\n\n#### Mac deployment\nUse `macdeployqt` to copy in the necessary Frameworks and other files.\n```\n~/Qt/5.10.0/clang_64/bin/macdeployqt huestacean.app -qmldir=../qml\n```\n\n### Linux\n1. Make sure you have Qt5 \u003e= 5.10.0 and cmake installed.  If not, use your package manager to install them, e.g. `yum install cmake` or `pacman -S cmake`. You can also install Qt5 from the [offical website](http://download.qt.io/official_releases/qt/) if the correct version is not available in your package manager.\n2. Clone the Huestacean project and make sure all submodules are up to date.\n```\ngit clone --recursive git://github.com/BradyBrenot/huestacean.git\ncd huestacean\n# The next two lines should only be necessary if you've previously cloned\n# without the submodules, or you've synced before one of their paths changed\ngit submodule sync\ngit submodule update --init --recursive\n```\n3. Use cmake to build Huestacean, or build it with QtCreator.\n```\nmkdir build\ncd build\ncmake ..\nmake huestacean\n```\nRun Huestacean and enjoy!  (`.../huestacean/build/huestacean`)\n\n## External libraries\nThis project is using:\n- [Qt](https://www.qt.io/)\n- [mbedtls](https://github.com/ARMmbed/mbedtls)\n- [screen_capture_lite](https://github.com/smasherprog/screen_capture_lite)\n\n## License\n\nThe source code for this application is licensed under the Apache License Version 2.0. All code, excepting what's in the thirdparty directory, should be assumed to be under this license unless stated otherwise, regardless of being tagged with the Apache 2.0 boilerplate or not. Refer to the [LICENSE](LICENSE) file for the text of the license and other details.\n\n### Third-party licenses\n\nThis software makes use of open source software under various licenses, which may be found in the **thirdparty/licenses** directory.\n\nFurther details can be found at the bottom of the [LICENSE](LICENSE) file, under the text of the Apache License Version 2.0.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBradyBrenot%2Fhuestacean","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBradyBrenot%2Fhuestacean","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBradyBrenot%2Fhuestacean/lists"}