{"id":13657725,"url":"https://github.com/rumblesan/improviz","last_synced_at":"2025-03-16T21:30:24.495Z","repository":{"id":14065905,"uuid":"75881794","full_name":"rumblesan/improviz","owner":"rumblesan","description":"DEPRECATED: A live-coded visual performance tool","archived":false,"fork":false,"pushed_at":"2023-01-03T09:50:51.000Z","size":32159,"stargazers_count":91,"open_issues_count":15,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-16T05:41:18.274Z","etag":null,"topics":["algorave","deprecated","graphics","haskell","live-coding","livecoding","visual","vjing"],"latest_commit_sha":null,"homepage":"https://improviz.rumblesan.com","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rumblesan.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}},"created_at":"2016-12-07T22:42:06.000Z","updated_at":"2025-03-09T03:57:15.000Z","dependencies_parsed_at":"2023-01-11T20:21:43.468Z","dependency_job_id":null,"html_url":"https://github.com/rumblesan/improviz","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rumblesan%2Fimproviz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rumblesan%2Fimproviz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rumblesan%2Fimproviz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rumblesan%2Fimproviz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rumblesan","download_url":"https://codeload.github.com/rumblesan/improviz/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243936387,"owners_count":20371505,"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":["algorave","deprecated","graphics","haskell","live-coding","livecoding","visual","vjing"],"created_at":"2024-08-02T05:00:49.713Z","updated_at":"2025-03-16T21:30:22.093Z","avatar_url":"https://github.com/rumblesan.png","language":"Haskell","funding_links":[],"categories":["Haskell"],"sub_categories":[],"readme":"# DEPRECATED: Improviz\n\n[![Build Status](https://travis-ci.org/rumblesan/improviz.svg?branch=main)](https://travis-ci.org/rumblesan/improviz)\n[![Windows build](https://ci.appveyor.com/api/projects/status/sv8a7mosacfsng2l?svg=true)](https://ci.appveyor.com/project/rumblesan/improviz)\n\n## Deprecation\n\nUnfortunately, I've decided to deprecate Improviz.\n\nBuilding Improviz on recent versions of MacOS is now no-longer possible due to the removal of OpenGL. It should still build on Mojave, and those binaries *should* still run on later versions, but I have no idea how long that will continue for.\n\nBuilding on Linux and Windows should still be fine.\n\n## Description\n\nImproviz is a live-coding environment built for creating visual performances of abstract shapes, blurred shades and broken GIFs.\n\nIt is built in Haskell and interacts directly with OpenGL. It's very much a work in progress but is definitely stable enough to use for performances.\n\n\n## Documentation\n\nThe most up-to-date documentation can be found in [the docs folder](docs/index.md) which are also used to build the [Improviz site](https://improviz.rumblesan.com), but the README should give enough of an overview to get started.\n\n\n## Community\n\nIf you find bugs, need help setting things up, are unsure where to begin, or just want to share what you've made, then there is an Improviz channel on the [*TOPLAP live coding* discord](https://discord.gg/D4Enr5u7Rp).\n\n\n## Browser Version\n\nThere is now a browser based version of Improviz available at [https://improviz-web.rumblesan.com/](https://improviz-web.rumblesan.com/) which has much of the functionality of the native version.\n\nThe primary differences are that it currently lacks the ability to load custom textures, geometries and materials, though hopefully that will be changed in future.\n\nMore details can be found [in the docs](docs/web.md) whilst the code can be found in a [different repository](https://github.com/rumblesan/improviz-web).\n\n\n## Installing\n\nPre-built binaries are available for OSX, Windows and Linux, and can be found on the [Releases Page](https://github.com/rumblesan/improviz/releases). Download one and then jump straight to the [relevant section in Running](#pre-built-binary).\n\nThese should **\"just work\"** but if there are any problems please raise an issue.\n\n\n## Building\n\nImproviz is built using [Stack](https://docs.haskellstack.org/en/stable/README/).\n\nWith that installed, it should just be a matter of cloning the repository, entering the directory and running\n\n```bash\nstack build\n```\n\nDepending on your platform it may be necessary to install some or all of the following packages.\n\n* libgmp-dev\n* libxrandr-dev\n* libxi-dev\n* libxinerama-dev\n* libxcursor-dev\n* freeglut3-dev\n* zlib1g-dev\n\nFrom there, you'll be able to run what was just built using\n\n```bash\nstack exec improviz\n```\n\nwhich will use the *improviz.yaml* file in the root of the repository.\n\nFor more information about building and installing Improviz, check the [development documentation](docs/development.md).\n\n## Running\n\nThis differs slightly depending on whether you've built from source or downloaded a binary.\n\n### Pre-built binary\n\nAfter downloading the zip file\n* Unzip it to somewhere on your machine\n* Open a terminal and browse to the folder (double clicking on it doesn't work currently because the paths need fixing)\n* Run the `improviz` or `improviz.exe` command (depending on your platform)\n* If a white window appears in the top left of your screen then you're ready to go!\n* If it doesn't then have a look at the errors that have appeared in the terminal\n\n\n## Using\n\nOnce Improviz is running, you need to send code for it to run. The simplest way to do this to test is to use the (very basic) built in editor.\n\nOpen your browser and go to [http://localhost:3000/editor](http://localhost:3000/editor), then try entering the following. Indentation is a single tab.\n\n```\nbackground(255, 0, 0)\n\nfill(0, 255, 255)\nloop 10 times\n\trotate(time, 3, time)\n\tcube(4)\n```\n\nThere are better clients available for [Vim](https://github.com/rumblesan/improviz-vim) and [Atom](https://github.com/rumblesan/improviz-atom).\nThere is a very basic client available for [Emacs](https://github.com/rumblesan/improviz/tree/main/editor/emacs).\n\n\n## Language\n\nPlease check the [language](docs/language.md) document for details of the language itself.\n\n\n## Configuration\n\nPlease check the [configuration](docs/configuration.md) document for details on how to configure Improviz.\n\n\n## hellocatfood GIFS\n\nAs part of the project, artist, algoraver, and all-round excellent human being [hellocatfood](https://hellocatfood.com) was commissioned to create a series of animated GIFs that can be used as textures with Improviz.\n\nThese excellent and unique images are bundled in the pre-built binary releases and can be found in the **hellocatfood/gifs** folder in this repo. The **hellocatfood/geometries** folder contains the *.obj* files used to make some of them which can also be loaded by Improviz. They're all licensed under the [Creative Commons Attribution 4.0 International licence](https://creativecommons.org/licenses/by/4.0/) so can be freely used and misused for performances, projects, and anything else you want.\n\nBy default they're not loaded by improviz when using the default configuration as they're quite large and slow startup a bit, but just uncomment the relevant lines in the **improviz.yaml** config file and you're ready to go.\n\n## Contributors\n\nMany thanks to the following people who have contributed to Improviz and it's development.\n\n[hellocatfood](https://hellocatfood.com) for the excellent gifs and general feedback\n[darch](http://www.darch.dk/) for some really helpful feedback, and teaching improviz workshops\n[nihilazo](https://itwont.work/git/) for helping polish the vim plugin and give it some necessary updates\n[claudeha](https://mathr.co.uk/) for debugging some of the memory/space leaks and providing some much needed performance improvements\n\n\n## Contact\n\nDrop me an email at guy@rumblesan.com\n\n\n## License\n\nBSD License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frumblesan%2Fimproviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frumblesan%2Fimproviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frumblesan%2Fimproviz/lists"}