All Projects → rumblesan → improviz

rumblesan / improviz

Licence: BSD-3-Clause license
A live-coded visual performance tool

Programming Languages

haskell
3896 projects
shell
77523 projects

Projects that are alternatives of or similar to improviz

Livecodelab
a web based livecoding environment
Stars: ✭ 276 (+224.71%)
Mutual labels:  visual, live-coding, livecoding
recurse
re<urse is a declarative language for generating musical patterns
Stars: ✭ 32 (-62.35%)
Mutual labels:  live-coding, livecoding
YALCT
Yet Another Live Coding Tool - Powered by Veldrid and elbow grease
Stars: ✭ 25 (-70.59%)
Mutual labels:  live-coding, livecoding
Bonzomatic
Live shader coding tool and Shader Showdown workhorse
Stars: ✭ 829 (+875.29%)
Mutual labels:  live-coding, livecoding
tilt
Live coding bytebeat-style language for the web
Stars: ✭ 30 (-64.71%)
Mutual labels:  live-coding, livecoding
flow-synth
*UNMAINTAINED* A modular digital audio workstation for synthesis, sequencing, live coding, visuals, etc
Stars: ✭ 36 (-57.65%)
Mutual labels:  live-coding, livecoding
Jet Live
c++ hot code reload for linux and macos
Stars: ✭ 283 (+232.94%)
Mutual labels:  live-coding, livecoding
cl-patterns
Library for writing patterns to generate or process (a)musical sequences of mathematically (un)related (non-)compound values in Lisp.
Stars: ✭ 62 (-27.06%)
Mutual labels:  live-coding, livecoding
Tidal
Pattern language
Stars: ✭ 1,304 (+1434.12%)
Mutual labels:  live-coding, livecoding
Flok
Web-based P2P collaborative editor for live coding sounds and images
Stars: ✭ 119 (+40%)
Mutual labels:  live-coding, livecoding
Live Py Plugin
Live coding in Python with PyCharm, Emacs, Sublime Text, or even a browser
Stars: ✭ 222 (+161.18%)
Mutual labels:  live-coding, livecoding
barbara
A virtual machine for creating visual live coding languages
Stars: ✭ 16 (-81.18%)
Mutual labels:  livecoding, algorave
alive
experimental livecoding environment with persistent expressions
Stars: ✭ 29 (-65.88%)
Mutual labels:  livecoding, vjing
glicol
(Audio) graph-oriented live coding language and music DSP library written in Rust
Stars: ✭ 853 (+903.53%)
Mutual labels:  live-coding, livecoding
Sonic Pi
Code. Music. Live.
Stars: ✭ 8,736 (+10177.65%)
Mutual labels:  live-coding, livecoding
radiant-voices
SunVox file format tools (create, modify, read, write)
Stars: ✭ 36 (-57.65%)
Mutual labels:  livecoding, algorave
tidal-cheat-sheet
A cheat sheet for Tidal, a language for live coding patterns
Stars: ✭ 38 (-55.29%)
Mutual labels:  live-coding, algorave
Visual-Attention-Model
Chainer implementation of Deepmind's Visual Attention Model paper
Stars: ✭ 27 (-68.24%)
Mutual labels:  visual
VB.NET
🌐 In this repository included useful examples of Visual Basic completed on Studio 2017 Enterprise Edition, added diploma work of time since 2013. 👔
Stars: ✭ 35 (-58.82%)
Mutual labels:  visual
dify
A fast pixel-by-pixel image comparison tool in Rust
Stars: ✭ 41 (-51.76%)
Mutual labels:  visual

Improviz

Build Status Windows build

Description

Improviz is a live-coding environment built for creating visual performances of abstract shapes, blurred shades and broken GIFs.

It 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.

Documentation

The most up-to-date documentation can be found in the docs folder which are also used to build the Improviz site, but the README should give enough of an overview to get started.

Community

If 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.

Browser Version

There is now a browser based version of Improviz available at https://improviz-web.rumblesan.com/ which has much of the functionality of the native version.

The primary differences are that it currently lacks the ability to load custom textures, geometries and materials, though hopefully that will be changed in future.

More details can be found in the docs whilst the code can be found in a different repository.

Installing

Pre-built binaries are available for OSX, Windows and Linux, and can be found on the Releases Page. Download one and then jump straight to the relevant section in Running.

These should "just work" but if there are any problems please raise an issue.

Building

Improviz is built using Stack.

With that installed, it should just be a matter of cloning the repository, entering the directory and running

stack build

Depending on your platform it may be necessary to install some or all of the following packages.

  • libgmp-dev
  • libxrandr-dev
  • libxi-dev
  • libxinerama-dev
  • libxcursor-dev
  • freeglut3-dev
  • zlib1g-dev

From there, you'll be able to run what was just built using

stack exec improviz

which will use the improviz.yaml file in the root of the repository.

For more information about building and installing Improviz, check the development documentation.

Running

This differs slightly depending on whether you've built from source or downloaded a binary.

Pre-built binary

After downloading the zip file

  • Unzip it to somewhere on your machine
  • Open a terminal and browse to the folder (double clicking on it doesn't work currently because the paths need fixing)
  • Run the improviz or improviz.exe command (depending on your platform)
  • If a white window appears in the top left of your screen then you're ready to go!
  • If it doesn't then have a look at the errors that have appeared in the terminal

Using

Once 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.

Open your browser and go to http://localhost:3000/editor, then try entering the following. Indentation is a single tab.

background(255, 0, 0)

fill(0, 255, 255)
loop 10 times
	rotate(time, 3, time)
	cube(4)

There are better clients available for Vim and Atom. There is a very basic client available for Emacs.

Language

Please check the language document for details of the language itself.

Configuration

Please check the configuration document for details on how to configure Improviz.

hellocatfood GIFS

As part of the project, artist, algoraver, and all-round excellent human being hellocatfood was commissioned to create a series of animated GIFs that can be used as textures with Improviz.

These 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 so can be freely used and misused for performances, projects, and anything else you want.

By 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.

Contributors

Many thanks to the following people who have contributed to Improviz and it's development.

hellocatfood for the excellent gifs and general feedback darch for some really helpful feedback, and teaching improviz workshops nihilazo for helping polish the vim plugin and give it some necessary updates claudeha for debugging some of the memory/space leaks and providing some much needed performance improvements

Contact

Drop me an email at [email protected]

License

BSD License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].