{"id":13861782,"url":"https://github.com/oliverbyte/osc2laser","last_synced_at":"2026-01-18T07:06:25.391Z","repository":{"id":211743533,"uuid":"729855588","full_name":"goodtimes-code/osc2laser","owner":"goodtimes-code","description":"Create stunning lasershows by live control or timeline automation using OSC messages","archived":false,"fork":false,"pushed_at":"2024-03-03T11:29:39.000Z","size":35448,"stargazers_count":10,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-27T16:29:27.862Z","etag":null,"topics":["ableton","ableton-live","ilda","laser","lasershow","osc","timeline"],"latest_commit_sha":null,"homepage":"https://www.goodtimes.technology/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goodtimes-code.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-10T15:10:37.000Z","updated_at":"2024-06-12T19:34:49.000Z","dependencies_parsed_at":"2024-01-12T23:42:54.206Z","dependency_job_id":"70919ca2-811b-4c79-93b5-9e9817f71a52","html_url":"https://github.com/goodtimes-code/osc2laser","commit_stats":{"total_commits":91,"total_committers":3,"mean_commits":"30.333333333333332","dds":0.2417582417582418,"last_synced_commit":"6cb5a5cb80f0c2baad596983dc24945f2e2b155b"},"previous_names":["goodtimes-code/osc2laser"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtimes-code%2Fosc2laser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtimes-code%2Fosc2laser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtimes-code%2Fosc2laser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodtimes-code%2Fosc2laser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goodtimes-code","download_url":"https://codeload.github.com/goodtimes-code/osc2laser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225968885,"owners_count":17553155,"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":["ableton","ableton-live","ilda","laser","lasershow","osc","timeline"],"created_at":"2024-08-05T06:01:30.155Z","updated_at":"2025-07-14T09:34:10.185Z","avatar_url":"https://github.com/goodtimes-code.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Preamble\nosc2laser (*OSC to laser*) is a completely free, open source, solution to **create stunning lasershows** - live or pre-programmed by timeline.\n\nIt enables you to simply control your showlasers via any OSC-compatible software.\n\n![Demo](osc-senders/max-for-live-device/doc/demo1.gif)\n\n*2D laser preview of animated timeline using Ableton Live*\n\n# Features\n- Easy laser output preview (2D)\n- Multiple static and animated [laser objects](#laser-objects)\n- Change [parameters](#parameters) of laser objects \n- Many [effects](#effects) for laser objects available\n\n# System requirements\n- Python 3 runtime\n- Any supported Laser DAC:\n  - [Helios Laser DAC](https://bitlasers.com/helios-laser-dac/)\n- Any software for sending OSC commands like:\n  - [open-stage-control](https://openstagecontrol.ammd.net/) (free)\n  - [Ableton Live](https://www.ableton.com/live/)\n  - [Vezér](https://imimot.com/vezer/)\n  - [TouchOSC](https://hexler.net/touchosc)\n  - Chataigne (free)\n  - OSSIA score (free)\n  - TWO (free)\n  - OSC See\n  - Millumin\n  - QLab\n  - ...\n\nFor *Max for Live* developers:\n- [Max for Live](https://www.ableton.com/de/live/max-for-live/)\n\n# Components\n- *osc-receiver*: The server component which receives OSC commands and translates them to a laser DAC. Also provides 2D preview window.\n- *osc-senders/open-stagecontrol*: Template for open-stage-control GUI (OSC client with desktop and web UI) \n- *osc-senders/max-for-live-device/osc2laser.amxd*: Max for Live instrument \n\n# Quick Start\n## OSC receiver\n### macOS\n - Install ***.pkg*** file\n - Review config\n   - Browse to ***/Applications***\n   - Right click -\u003e Show package content\n   - Browse to ***Contents*** -\u003e ***MacOS***\n   - Edit and save ***config_laser1.txt***\n - Launch application (via ***/Applications*** -\u003e right click on ***osc2laser*** -\u003e ***Open***)\n\n### Any OS (run Python code manually)\n- Python 3:\n  1. Install the Python 3 runtime which matches your operating system (Windows, Mac, Linux,...).\n  2. Install virtual environment: `python -m venv venv`\n  3. Change to venv: `source venv/bin/activate`\n  4. Change to osc-receiver directory: `cd osc-receiver`\n  5. Install requirements: `python -m pip install -r requirements.txt`\n- Laser DAC driver:\n  1. Get the right `osc-receiver/libHeliosDacAPI.so` from [here](https://github.com/Grix/helios_dac) to match your OS (driver for x86_64 macOS already included) \n- Configuration:\n  1. Edit and save ***config_laser1.txt***\n- Run:\n  1. Start OSC receiver: `python main.py`\n\nThis starts an OSC server on *localhost* at UDP port *2345*.\nSee *config_laser1.txt* for more optional settings.\n\n## OSC sender\n### open-stage-control\n![Demo](osc-senders/open-stage-control/doc/open-stage-control-demo.gif)\n\n1. [Download](https://openstagecontrol.ammd.net/download/) and install software.\n2. Run and open profile *osc-senders/open-stage-control/osc2laser-client.config*.\n3. Click *play* icon.\n4. Open session *osc-senders/open-stage-control/osc2laser-template.config*.\n\n### Max for Live device\n![Demo](osc-senders/max-for-live-device/doc/setup.gif)\n\n*Setup of the Max for Live device in Ableton Live*\n\n1. Start Ableton Live\n2. Create a new project\n3. Switch to session view (*tab* key)\n4. Drag `osc-senders/max-for-live-device/osc2laser.amxd` into the session window to create a new track.\n5. Right click the UI elements (laser object, X position, Y position,...) to show its automation track in a new lane\n6. Add key frames to the automation lanes and watch the output in the laser preview window.\n\n# OSC messages\n## Globals\n- /globals/scan_rate\n  - 100 to 40000: scan rate (points per second)\n\n## Laser objects\n- /laserobject\n  - 0 = blank\n  - 1 = green horizontal line\n  - 2 = red vertical line\n  - 3 = blue static wave\n  - 4 = blue animated wave\n  - 5 = green static circle\n  - 6 = green static point\n  - 7 = white static stars\n\n## Parameters\n- /parameters/wave_amplitude\n  - 0-5000: Wave amplitude\n- /parameters/wave_length\n  - 5000-15000: Wave length\n- /parameters/wave_speed\n  - 0-75: Wave speed\n\n## Effects\n- /effect/x_pos and /effect/y_pos\n  - -4095 to 4095: move X or Y position of laserobject\n- /effect/xy_pos\n  - (-4095 to 4095, -4095 to 4095): move X and Y position of laserobject at once\n- /effect/rgb_intensity\n  - 0 to 255: brightness of the RGB colors\n- /effect/scale_factor\n  - -10 to 10: scaling factor of shape (1 = no scale)\n- /effect/rotation_degrees\n  - 0 to 360: degrees of static rotation (0 = no static rotation)\n- /effect/rotation_speed\n  - 0 to 1024: speed of continuous rotation (0 = no continuous rotation)\n- /effect/color_change/[r, g, b]\n  - 0 to 255: color intensity of red, green and blue\n\n# Create installer\n## For Mac\n- Increase version number in  `make_installer_mac.sh`\n- Run: `make_installer_mac.sh`\n- Find Mac package in `dist/osc2laser.pkg`\n\n# Support \u0026 Community\n[Here](https://github.com/goodtimes-code/osc2laser/discussions) you can discuss your ideas and issues.\n\n# Contribute as a developer\nFeel free to work on any [issue](https://github.com/goodtimes-code/osc2laser/issues) by forking and creating a pull request.\n\n# Sponsors\n- [goodtimes](https://www.goodtimes.technology) | Interactive showlaser technology: lasershows, laser art, laser games, laser control software\n- [sync.blue®](https://www.sync.blue) | Technology partner \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliverbyte%2Fosc2laser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foliverbyte%2Fosc2laser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliverbyte%2Fosc2laser/lists"}