Muvicado is a software application, but may also refer to a device that exclusively runs the Muvicado software.
Muvicado is a musical instrument that produces and transmits a stream of MIDI events in real time in response to the movement of a pointer (stylus, finger or other pointing device) as the pointer moves through a sequence of shapes (called pads) displayed interactively on a primary display. In the sense that it generates and transmits MIDI data to MIDI-enabled devices, Muvicado is a MIDI controller. Pads are typically simple polygons, but they may have curved edges. They have a Z-order for play-back priority and exclusion (if opaque), an optional stroked outline (variable width), fill color (which can be made to indicate chromatic note number), transparency (alpha) and optional label text, centered and with a fixed font. Each pad has an associated MIDI note number and MIDI channel (MIDI velocity optional). When the stylus enters the pad, either from a pointer touch (e.g. pen down) event or from a pointer move event when the shape’s region is entered, the pad’s MIDI note number and channel number are transmitted in a MIDI NOTE ON message. The MIDI velocity in the message may be hard coded, stored with the pad, or derived from the stylus pressure, impact force of the touch, or tangential speed of the stylus movement. A corresponding MIDI NOTE OFF event is transmitted when the stylus leaves the pad or the stylus is lifted (e.g. pen up). The pads can be created and edited by the user in the composer role (edit mode), and performed by a user in the performer role (play mode).
When in edit mode, Muvicado sports a feature set similar to a very basic object oriented drawing program. In this mode, pads can be created, moved, scaled, reshaped, deleted, cut, copied, pasted, and all pad attributes can be assigned and changed. Pads can be selected individually or in a multi-selection for quickly operating on multiple pads at once.
When in play mode, the arrangement, visibility and active state of the pads can be modified dynamically in a number of ways, driven by performance events and by the mere passage of time. Pads are organized on pages or layers (implementation dependent). If organized on pages, there is one active page at a time, and only pads on the active page are displayed, editable (in edit mode) and playable (in play mode). If organized on layers, multiple layers can be visible and active, depending on a combination of global and per-layer attributes, allowing for a more dynamic behavior model. Regardless of the pad organization scheme, the active page (layer) can be changed in response to entering a pad that has an optional target page (layer) attribute.
A chain of pad activations can be triggered by the activation of a pad with an optional fuse attribute. In this way, sequences can be triggered during performance.
A pad can have an optional tail, a displayed polyline typically starting somewhere on the pad, and tracing out a path that is intended to be followed by the performer.
As of this writing (March 2013), there are two prototype implementations of Muvicado with completely distinct code bases: a cross-platform Java version and a Mac OS (Objective C) version. Wacom tablets with stylus (or displays with integrated Wacom technology) are used as the preferred pointing device. A mouse works, but is far less usable for the same ergonomic reasons that make it difficult to sign one’s name with a mouse. A quality pressure sensitive stylus provides an excellent interactive experience with Muvicado.
A large collection of diagrams and notes depicting Muvicado’s present and planned features are in a series of approximately ten of the author’s private journals. Most of these are Moleskine journals and ring-bound Cachet Fusion and similar journals and sketch books. There are also digital documents in various formats on various hard drives and flash drives.
History:
The concept for Muvicado was originated by Mark Barclay around 1998, in Mount Prospect, IL. The first scribblings of the idea were jotted in a journal while eating alone at the Timber Lodge steakhouse in Arlington_Heights, IL. The first Java implementation of Muvicado was coded in 2004. The Mac OSX implementation (written in Objective C) was coded using Apple’s Xcode Integrated Development Environment (IDE) beginning around 2010 in Mishawaka, IN. The Java version has been substantially re-written, but still retains the original usage model, command set and feel. The Mac version is currently under active development by Mark Barclay in Osceola, IN.

Leave a Reply