Ok!
So here is the first beta of Block Party:
http://www.rodrigoconstanzo.com/party/blockv01_beta5.zip <==updated!
(it’s packaged up as a “Max project”, so you shouldn’t need to deal with any externals or anything like that, it should just run as is)
I’m still working on the pattern recorder, so at the moment it only captures/plays back on-screen controls, but everything else should be working.<== (no longer the case, pattern recorder is implemented)
The basic gist is that it’s 8 rows of newschool ‘karma core’ modules, build around varispeed 128s. Everything is basically new and improved under the hood, but the main layout and control paradigms are different.
Here’s the mapping details from the ‘info’ window in the patch:
Each row represents a karma core module (looper, slicer, grain, combine, pattern, and brain modules).
Everything is controlled by using monome “fingering”, which can be used anywhere on the row.
The fingering patterns are as follows:
1 = play from that position
1 1 or 1 0 0 1 or 1 n 1 = create a loop between two points
1 1 1 = stop
1 1 1 1 = record (or overdub, if in play mode already)
1 0 1 1 = half speed
1 1 0 1 = double speed
1 0 1 1 0 1 = reset speed
1 0 1 0 1 = reverse
Fingering combinations can be combined, for example:
1 0 1 1 0 0 0 1 0 1 0 1 = half speed AND reverse
1 0 1 0 1 0 0 0 1 1 1 = reverse AND stop
These fingering combinations can happen anywhere on a row:
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 = play from 5th slice
0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 = reverse
0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 = stop
Pressing and holding the right-most button brings up the alt menu. The alt menu allows you to control the “tilt” of the row, as well as enable the slicer/grain/combine/pattern modules.
The alt menu is broken into two main parts.
The first four buttons are the on/off for the slicer, grain, combine, and pattern modules, respectively.
The middle 7 buttons are the “tilt” controls. When in the central (default) position, all sample slices are equal, with increasingly eased in and out versions moving outward from there. When changing the “tilt” or the row, everything recalculates so any loop that has been defined will be redefined based on the new tilt.
Here’s a real short video showing the general ‘lay of the land’ for a single row:
So the main things to test are just the general playability and control of the “fingering” paradigm. I think I have it tuned pretty nicely, but occasionally some things misfire. It’s a tradeoff between accuracy and latency, as is often the case in programming.
I put a ton of time into the different animations for each mode, so let me know if they are distinct enough and/or communicate enough about the state of the system. Moving completely away from one-to-one button mapping and state LEDs has required a bunch of signifiers and stuff to communicate info (e.g. what happens when you engage half or double speed).
Other than that, just have a play with it and let me know if any issues crop up.
Once the pattern recorder is working fully/correctly, I’ll post a 2nd beta that includes that along with any bugfixes that have cropped up. Plus I want to revamp the GUI, though that might properly wait until TPV2, with Block Party retaining that oldschool TPV1 look. Either way, the big empty stripe at the bottom is kind of funny looking.
Also, here’s a clarification on what the ‘tilt’ does. It applies the following ease in and ease out functions to the karma~ playhead, jumps, and loops. So it gives you higher resolution towards the ends, and overall different sized loop slices in the same row, so it doesn’t sound so ‘evenly spaced’ overall.
