{"id":25601392,"url":"https://github.com/magnusthor/demolishedplayer","last_synced_at":"2026-04-29T07:35:01.712Z","repository":{"id":148056138,"uuid":"188688931","full_name":"MagnusThor/demolishedPlayer","owner":"MagnusThor","description":"Player for demolished stuff in a tiny, as small as possible i guess..","archived":false,"fork":false,"pushed_at":"2019-12-09T10:44:53.000Z","size":3431,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-02T13:13:00.493Z","etag":null,"topics":["demoscene","glsl","javascript","shaders","typescript","webgl","webgl-programming"],"latest_commit_sha":null,"homepage":"https://magnusthor.github.io/demolishedPlayer/","language":"TypeScript","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/MagnusThor.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":"2019-05-26T13:51:20.000Z","updated_at":"2021-04-30T15:26:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"87ed93f9-7130-442a-a471-22191af8b4aa","html_url":"https://github.com/MagnusThor/demolishedPlayer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MagnusThor/demolishedPlayer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MagnusThor%2FdemolishedPlayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MagnusThor%2FdemolishedPlayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MagnusThor%2FdemolishedPlayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MagnusThor%2FdemolishedPlayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MagnusThor","download_url":"https://codeload.github.com/MagnusThor/demolishedPlayer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MagnusThor%2FdemolishedPlayer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32416146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["demoscene","glsl","javascript","shaders","typescript","webgl","webgl-programming"],"created_at":"2025-02-21T15:54:24.817Z","updated_at":"2026-04-29T07:35:01.698Z","avatar_url":"https://github.com/MagnusThor.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" # demolishedPlayer 1.2\n\n## Abstract\n\nAt a total weight excluding your custom vertex, and fragment shader code demolishedPlayer has a minified weight of less than 500 bytes.\n\nYou are able to attach your own shader as well as provide 1-n textures, or you can use demolishedTextures to render procedual textures.\n\nIt let's provide audio in any format you prefer or use the demolished synth to generate audio /music on the GPU. \n\nNavigate to https://magnusthor.github.io/demolishedPlayer/ to see an example, or an example published under the demolishedCompressor repo found here https://github.com/MagnusThor/demolishedcompressor  ( see read me for link)\n\n## Audio \u0026 GPU Sound \n\ndemolishedPlayer also contains a tiny function that allows you to generate audio using the GPU (mono, stereo in any samplerate) and stream it to the audio card using WebAudio. see /synth/ folder for the first version, or browse a running sample here \n\n  *Enjoy*\n\n## Install\n\nJust clone repo, copy files or what ever you want, it is quite simple.\n\n## How to set up at \"shader\" player\n\nJust include demolishedPlayer (Player.jss), create a canvas element, add a shader and execute.\n\n    DP.I(canvas,w,h,vs,fs,textures,callBack);\n\n\nOr just have a look at the example.ts ( .js ) file in the repo.\n\nWhere *canvas* is the target element. w \u0026 h is the resolution passed to the shader ( uniform ), *vs* is the vertexShader and *fs* is your fragmentShader. *textures* is an object of containg name and data for textures to be used, see ( textures below). *callback* is called when \nplayer is setup and started.\n\n## Textures\n\nPass *textures * by providing av object such as this\n\n     {\n        \"iChannel0\": {\n            \"d\": \"iChannel0.png\"\n        },\n          \"iChannel1\": {\n            \"d\": \"iChannel1.png\"\n        },\n        \"iChannel12: {\n            \"d\": \"base64_data_can_ba_passed\"\n        }\n    },\n\nthe key myst have an corrisponding sampler2D uniform such as\n\n    uniform sampler2D iChannel0\n\n## Custom uniforms\n\nProvide uniforms to the shader rendering as follows \n\n    const uniforms = {\n      \n    \"foo\": (k,g,p,t) =\u003e {\n      // do stuff related to unifom foo \n    },\n    \"bar\": (k,g,p,t) =\u003e {\n      // do stuff\n    }            \n}\n\nin this case the anonomys function with the signature will be called.  (k,g,p,t) =\u003e { } , arguments is as follows 'k' is Uniform Location of the \"key\", 'g' is GL Context , 'p' is the WebGL program , 't' is the shader playback time in seconds.\n\n## Plans,todo's and thoughts..\n\n1. Automate shader minificaion, possible using the ctrt-alt-test stuff. (https://github.com/laurentlb/Shader_Minifier)\n2. ~~Include PNGHTML packers such as JsExe or pnginator.~~  Will use demolishedCompressor\n3. Minify and slim (if possible) the SonantLive/Box player (Synth).. yes, its old but still rocks the JS scene , due to the fact no one uses JS for such stuff..\n4. ~~Implement possibillity to use custom uniforms~~. \n5. Keep this as tiny and simple as possible, there is lots of stuff doing crazy stuff out there already so no reason try beat that.   \n  \nYou want to particpate in making demolishedPlayer better, just let me know. here or just shot an email.\n\n## Using the demolishedPlayer Synth\n\nTBD\n\n## Greetings,Salutes\n\nGrettings to the http://shadertoy.com team,Mr Doob and the team of old golden http.//glslsandbox.com and my \"local office\" brought to you by \"Mr Merdahad Fatahzadeh \"\n\n  Thanks Merdahad for providing me an office and friendship while coding. Major greets ofcoz goes to Hanna E for all love.\n\n*Kind reagds, Magnus 'Bagzy' Thor*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagnusthor%2Fdemolishedplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagnusthor%2Fdemolishedplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagnusthor%2Fdemolishedplayer/lists"}