icube
is a relatively small application for Linux that
allows ICubeX users to program their digitizers from within Linux, and
also acts as a sensor->MIDI mapping program.
icube
is a functioning program that can be used with an
ICubeX. It currently only works in "Host" mode - it cannot be used to
program the digitizer for "Standalone" use (this will hopefully work
very soon). It can map sensor data
into NoteOn/NoteOff, Program Change, Controller, PitchBend, Channel
Pressure and Polyphonic Pressure messages. The NoteOn mode includes 3
variants: simple noteOn/noteOff based on a sensor threshold,
noteOnWithPressure, in which sensor changes after a note is turned on
but before its turned off are converted to channel pressure messages,
and noteOnToggle, in which a noteOn is sent when the sensor first
exceeds a threshold, and turned off the next time it exceeds (not
crosses) that threshold.
That said, its also a very new program. There is a thread related bug
during startup that will not arise if run under
gdb
, making it hard to track down. I am sure there are
other problems too. If you are not a C++ programmer, ICube is quite
likely to be more hassle than its worth right now.
It turned out that I had a poor design for handling note-on/note off mappings that led to poor performance "feel". This has been dramatically improved. There were also some other small bugfixes.
I am trying to design a mapping system that would allow the various FSR sensors (touch, mini-touch, etc.) to be used as switches with set-and-stay-set behaviour rather than the current "return to zero" when all pressure/tension/flex is removed.
trace-output
variable added to
the config file, invert button and midichannel controls now operational.
icube
is currently
available
as a tarball (.tar.gz) file,
in the same state that you'd end up with if you were using CVS.
I intend to try to reduce the library dependencies in the near future.
Its not right that such a simple program should have so many dependencies.
You will need a set of my usual audio+MIDI development libraries,
available (at this time, only via CVS) from
the Quasimodo website. Specifically,
you will need:
icube
:
% sh ./autogen.sh % ./configure % make % make install-guileDATA % make install (optional)
icube