{"id":15555804,"url":"https://github.com/breqdev/vibrance-legacy","last_synced_at":"2026-01-06T19:55:40.316Z","repository":{"id":115366647,"uuid":"252876171","full_name":"breqdev/vibrance-legacy","owner":"breqdev","description":"Audience-based concert lighting.","archived":false,"fork":false,"pushed_at":"2020-05-14T20:54:44.000Z","size":118,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T12:53:10.397Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/breqdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-04T00:50:52.000Z","updated_at":"2020-05-15T01:43:40.000Z","dependencies_parsed_at":"2023-06-26T00:08:45.611Z","dependency_job_id":null,"html_url":"https://github.com/breqdev/vibrance-legacy","commit_stats":{"total_commits":73,"total_committers":1,"mean_commits":73.0,"dds":0.0,"last_synced_commit":"fa3cab1bc353204a5262ef7b8179ab1f6fff7011"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breqdev%2Fvibrance-legacy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breqdev%2Fvibrance-legacy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breqdev%2Fvibrance-legacy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breqdev%2Fvibrance-legacy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/breqdev","download_url":"https://codeload.github.com/breqdev/vibrance-legacy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246131246,"owners_count":20728299,"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":[],"created_at":"2024-10-02T15:10:42.426Z","updated_at":"2026-01-06T19:55:40.288Z","avatar_url":"https://github.com/breqdev.png","language":"HTML","readme":"# Vibrance\n##### Audience-based concert lighting.\n\nVibrance takes advantage of the smartphone in everyone's pocket to create massively interactive lighting experiences for concerts and other events.\nEach user loads a webpage on their device, someone runs the controller software on a laptop, and Vibrance takes care of the rest.\n\n\n## Current Status\n\nThis is **not ready for use.** The protocol for the relay/client is unstable, latency is still being reduced, etc.\nThe code also hardcodes in my relay server hostname (plz no hax), so getting it up and running might be hard.\nIt's lacking some *very important* features like a graphical controller app.\nFinally, it hasn't been tested nearly enough. This might all just break the moment it's used in production.\n(If all that doesn't convince you to not use this code yet, I don't know what will.)\n\n## Functional Parts\n\n### Website (i.e., client software)\n\nStatic HTML/CSS/JS. Can be hosted anywhere (although if hosted over HTTPS, the relay must support HTTPS.)\nThis is the software that runs on the smartphones; it establishes a connection to the relay, reads in color data, and displays it.\n\nThis can be found in the `client` directory.\n`index.html` is the landing page, `selector.html` allows the user to choose which part of the room they're in,\nand `app.html` is the part that changes color.\n\n### Relay (i.e., server-side magic)\n\nA Python script that receives commands from the controller app and forwards them onto the clients.\nThis exists for a few reasons:\n\n* Punch through NATs - don't worry about port-forwarding the controller app\n* Allow for multiple controller app instances to coexist\n* Reduce the load on the controller app\n\nThis can be found at `relay/relay.py`.\n\n### Controller App\n\nReceives signals from some device (computer keyboard, joystick, MIDI port, etc), maps them to colors, and forwards the colors to the relay.\nMultiple versions are planned for different input channels.\n\nThe base python lib is at `controller/controller.py`, and several other examples (e.g. `midi_controller.py`, `pygame_controller.py`) are present as well. No GUI yet though.\n\n## Messages (i.e., the protocols between the controller, relay, and clients)\n\nMessages use JSON in order to be extensible in the future.\nA basic message from the relay to a client looks like this:\n\n```\n{\n    \"color\":\"00FF00\", // optional, changes the color of the client\n    \"delay\":0,        // optional, delay in ms before the color change occurs\n    \"duration\":1000,  // optional, duration that the color is on\n                      // (after this it switches to black)\n    \"motd\":\"Welcome\"  // optional, message to display on the user's screen\n}\n```\n\nMessages from the controller to the relay take the form\n```\n{\"9001\": [message as described above] , \"9002\": [message as described above], [etc.] }\n```\n\nEach number (9001, 9002, etc.) addresses only clients connected to that port\n(clients who selected different zones in the room connect to different ports).\nA message from the controller can update clients on one port, multiple ports, all ports, or no ports.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbreqdev%2Fvibrance-legacy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbreqdev%2Fvibrance-legacy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbreqdev%2Fvibrance-legacy/lists"}