{"id":18631453,"url":"https://github.com/bahamas10/undercurrents","last_synced_at":"2025-10-08T01:17:43.466Z","repository":{"id":66012021,"uuid":"320796454","full_name":"bahamas10/undercurrents","owner":"bahamas10","description":"Visualizer made in C and OpenGL and SDL2","archived":false,"fork":false,"pushed_at":"2024-01-17T05:16:34.000Z","size":253,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-27T07:31:02.466Z","etag":null,"topics":["c","opengl","sdl","sdl2"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=bkAQWANJrQU","language":"C","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/bahamas10.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-12-12T09:44:46.000Z","updated_at":"2024-01-17T05:16:38.000Z","dependencies_parsed_at":"2024-01-17T07:55:33.721Z","dependency_job_id":null,"html_url":"https://github.com/bahamas10/undercurrents","commit_stats":{"total_commits":36,"total_committers":1,"mean_commits":36.0,"dds":0.0,"last_synced_commit":"9880f7aff6e3e29bc0642ce141753a11fc929bc1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahamas10%2Fundercurrents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahamas10%2Fundercurrents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahamas10%2Fundercurrents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bahamas10%2Fundercurrents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bahamas10","download_url":"https://codeload.github.com/bahamas10/undercurrents/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239425427,"owners_count":19636346,"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":["c","opengl","sdl","sdl2"],"created_at":"2024-11-07T05:07:10.891Z","updated_at":"2025-10-08T01:17:43.460Z","avatar_url":"https://github.com/bahamas10.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Undercurrents\n=============\n\nVisualizer made in C and OpenGL with SDL2.\n\n- View it on the web with wasm: https://undercurrents.ysap.sh\n\nAbout\n-----\n\nI wrote this visualizer specifically for a song I made called Undercurrents.\n\n- https://www.youtube.com/watch?v=bkAQWANJrQU\n\n![screenshot](/screenshots/main.jpg)\n\nCompile\n-------\n\nMake sure `sdl2` is installed.  Run `make` to compile the program:\n\n    $ make\n    cc -o src/ryb2rgb.o -c `sdl2-config --libs --cflags` -lGL -lm -Wall -Werror -O2 src/ryb2rgb.c\n    cc -o src/particle.o -c `sdl2-config --libs --cflags` -lGL -lm -Wall -Werror -O2 src/particle.c\n    cc -o undercurrents `sdl2-config --libs --cflags` -lGL -lm -Wall -Werror -O2 src/undercurrents.c src/ryb2rgb.o src/particle.o\n    $ ./undercurrents\n    ...\n    fps=11.627907 ringCount=0 particleCount=0 recycledParticles=0\n    fps=66.666667 ringCount=2 particleCount=6 recycledParticles=0\n    fps=66.666667 ringCount=4 particleCount=20 recycledParticles=0\n    ...\n\nUsage\n-----\n\n```\n$ ./undercurrents -h\nUsage: undercurrents [-h] [--longOpt var]\n\nOptions\n    -h, --help                      print this message and exit\n    -p, --paused                    start in the 'paused' state\n    --configVariableName value      set a configuration variable, see below\n\n  configuration variables can be passed as long-opts\n    ie: undcurrents --windowHeight 500 --windowWidth 700 --ringsMaximum 20\n\nConfiguration\n  windowWidth=640\n  windowHeight=480\n  particleSpeedMaximum=30\n  particleSpeedFactor=100\n  particleRadiusMinimum=1\n  particleRadiusMaximum=5\n  particleHeightMinimum=0\n  particleHeightMaximum=5\n  particleLineDistanceMinimum=0\n  particleLineDistanceMaximum=200\n  particleLineRingDisable=-1\n  particleExpandRate=20\n  particleBornTimerMaximum=1000\n  particleColorSpeed=50\n  ringsMaximum=35\n  alphaBackground=7\n  alphaElements=50\n  timerPrintStatusLine=2000\n  timerAddNewRing=1000\n\nControls\n- press up / down to modify particle speed\n- press left / right to modify particle line distance factor\n- press 'b' to toggle blank mode\n- press 'c' to clear all particles\n- press 'f' to toggle fading mode\n- press 'l' to toggle particle lines mode\n- press 'm' to toggle color modes\n- press 'p' to pause or unpause visuals\n- press 'r' to randomize colors\n\n```\n\nLicense\n-------\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahamas10%2Fundercurrents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbahamas10%2Fundercurrents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahamas10%2Fundercurrents/lists"}