{"id":19255021,"url":"https://github.com/sciss/aleatorium","last_synced_at":"2025-09-03T02:39:59.061Z","repository":{"id":136640225,"uuid":"376387020","full_name":"Sciss/Aleatorium","owner":"Sciss","description":"Art piece. Mirror of https://codeberg.org/sciss/Aleatorium","archived":false,"fork":false,"pushed_at":"2021-09-21T17:34:22.000Z","size":2398,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-23T17:23:40.746Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":false,"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/Sciss.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":"2021-06-12T21:30:41.000Z","updated_at":"2025-02-22T01:08:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"808c7283-c87e-47a8-a388-28f282e09796","html_url":"https://github.com/Sciss/Aleatorium","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sciss/Aleatorium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciss%2FAleatorium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciss%2FAleatorium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciss%2FAleatorium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciss%2FAleatorium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sciss","download_url":"https://codeload.github.com/Sciss/Aleatorium/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciss%2FAleatorium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273381907,"owners_count":25095327,"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","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-11-09T18:37:19.863Z","updated_at":"2025-09-03T02:39:58.965Z","avatar_url":"https://github.com/Sciss.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/Sciss/Aleatorium/workflows/Scala%20CI/badge.svg?branch=main)](https://github.com/Sciss/Aleatorium/actions?query=workflow%3A%22Scala+CI%22)\n\n# Aleatorium\n\nThis repository contains code for an ongoing art project.\n\n(C)opyright 2021 by Hanns Holger Rutz. All rights reserved. This project is released under the\n[GNU Affero General Public License](https://github.comt/Sciss/Aleatorium/blob/main/LICENSE) v3+ and\ncomes with absolutely no warranties.\nTo contact the author, send an e-mail to `contact at sciss.de`.\n\n## building\n\nBuilds with sbt against Scala 2.13. There are two sub-modules `alpha` (top robot) and `beta` (bottom robot). \nCreate executable: `sbt alpha/assembly` or `sbt beta/assembly`.\n\n## fix wiring-pi\n\n__Important:__ Wiring-Pi is broken on the Pi 4. The pull up/down resistors cannot be configured.\nSee https://pi4j.com/1.3/install.html#WiringPi_Native_Library -- one needs to replace the installed versions\nwith an unofficial one!\n\n    sudo apt remove wiringpi -y\n    sudo apt install git-core gcc make\n    cd ~/Documents/devel/\n    git clone https://github.com/WiringPi/WiringPi --branch master --single-branch wiringpi\n    cd wiringpi\n    sudo ./build\n\n## installing SuperCollider on the 'beta' Pi\n\nWe build SC 3.10.4:\n\n```\ncd ~/Documents/devel\ngit clone https://github.com/supercollider/supercollider.git\n\nsudo apt install libjack-jackd2-dev libsndfile1-dev libasound2-dev libavahi-client-dev \\\nlibreadline-dev libfftw3-dev libxt-dev libudev-dev libncurses5-dev cmake git qttools5-dev qttools5-dev-tools \\\nqtdeclarative5-dev libqt5svg5-dev qjackctl\n\ncd supercollider\ngit checkout -b 3.10.4 Version-3.10.4\n\ngit submodule update --init --recursive\n\nmkdir build\ncd build\n\ncmake -DCMAKE_BUILD_TYPE=Release -DSUPERNOVA=OFF -DSC_ED=OFF -DSC_EL=OFF -DSC_VIM=ON -DNATIVE=ON -DSC_USE_QTWEBENGINE:BOOL=OFF ..\n\ncmake --build . --config Release --target all -- -j3\n\nsudo cmake --build . --config Release --target install\n```\n\nThis installs in `/usr/local/bin`. If debian package has been installed, it will override through `/usr/bin`,\nto remove use `sudo apt remove supercollider-server` (or `-common` I guess?).\n\nWe use `JPverb` thus also need `sc3-plugins`:\n\n```\ncd ~/Documents/devel\ngit clone https://github.com/supercollider/sc3-plugins.git\n\ncd sc3-plugins\ngit checkout -b 3.10.4 643709850b2f22f68792372aaece5fc6512defc6\n\ngit submodule update --init --recursive\n\nmkdir build\ncd build\n\ncmake -DSC_PATH=/home/pi/Documents/devel/supercollider/ -SC_PATH=/home/pi/.local/share/SuperCollider ..\n\ncmake --build . --config Release\n\nsudo cmake --build . --config Release --target install\n\n```\n\n## run on the Raspberry Pi\n\n- THIS NO LONGER works: the JNI library `librpiws28114j.so` must be installed.\n- the JNI library `libws281x.so` must be installed. Copy it to `/usr/lib/jni/`\n\nSee run scripts `run-alpha.sh` and `run-beta.sh`. Note that beta now uses mainly a regular\nMellite workspace, and no longer the `Sound.scala` source code!\n\nBeta assumes that light (needs sudo) runs in a separate process via OSC at port 57120,\nand that the arm runs in a separate process via OSC at port 57121.\n\n## test runs\n\nLight:\n\nThe JNI library is build via https://github.com/Sciss/rpi-ws281x-java/tree/pi4\n\nTODO: `Can't open /dev/mem: Permission denied`. Currently must use `sudo` for:\n\n    java -cp aleatorium.jar:lib/rpi-ws281x-java-2.0.0-SNAPSHOT.jar de.sciss.aleatorium.Light\n\n## IPs\n\n- alpha (top): 192.168.0.30\n- beta (bottom): 192.168.0.46\n\n## Cabling and setup\n\n__Alpha.__ *Foot switch:* 3pin extension cable is connected white-on-white. On the GPIO, connect header pins\n14 to 16 (outer row, skipping six pins), so that 0v, GPIO4 and GPIO5 are connected. The white wire goes\nto GPIO5 (header pin 16).\n*On-off switch:* 2pin button on header pins 20, 22, i.e. 0v and GPIO6.\n\n__Beta.__ *On-off switch:* 2pin button on header pins 18, 20, i.e. GPIO5 and 0v.\n\nPlacement: The base plate is positioned c. 15 cm away from the wall. The right hand side extends around 7.5 cm\nbeyond the right hand side of the shelf. The dispenser is positioned based on visual markers on the base plate,\nyielding an approx. distance from the wall of 22.3 cm. and its right hand side aligning with the right arm\nof the shelf mount","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciss%2Faleatorium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsciss%2Faleatorium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciss%2Faleatorium/lists"}