Really interesting idea. I can't wait to play
with it.
I am using Fedora Core 5. This could be just the results of my being
inexperienced at compiling, here is the console output of the make
command:
------------------------
[me@mycomp ALSA-MIDI-Humanizer-0.0.1]$ make
make: Warning: File `Makefile' has modification time 7.6e+02 s in the
future
gcc humanizer.c -o humanizer -lasound -lpthread `pkg-config --cflags
--libs gtk+-2.0`
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
You lack the gtk+2 development libraries or you should set the
PKG_CONFIG_PATH.
Check if you have the file 'gtk+-2.0.pc' in /usr/lib/pkgconfig or
/usr/local/lib/pkgconfig.
c.
No package 'gtk+-2.0' found
humanizer.c:15:21: error: gtk/gtk.h: No such file or directory
humanizer.c:33: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘*’ token
humanizer.c:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘*’ token
humanizer.c:127: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘delete_event’
humanizer.c: In function ‘updateSettings’:
humanizer.c:138: error: ‘spinnerT’ undeclared (first use in this
function)
humanizer.c:138: error: (Each undeclared identifier is reported only
once
humanizer.c:138: error: for each function it appears in.)
humanizer.c:139: error: ‘spinnerV’ undeclared (first use in this
function)
humanizer.c: At top level:
humanizer.c:142: error: expected ‘)’ before ‘*’ token
humanizer.c:148: error: expected ‘)’ before ‘*’ token
humanizer.c: In function ‘main’:
humanizer.c:158: error: ‘GtkWidget’ undeclared (first use in this
function)
humanizer.c:158: error: ‘window’ undeclared (first use in this function)
humanizer.c:159: error: ‘button’ undeclared (first use in this function)
humanizer.c:160: error: ‘main_vbox’ undeclared (first use in this
function)
humanizer.c:160: error: ‘hbox’ undeclared (first use in this function)
humanizer.c:161: error: ‘GtkObject’ undeclared (first use in this
function)
humanizer.c:161: error: ‘adj1’ undeclared (first use in this function)
humanizer.c:161: error: ‘adj2’ undeclared (first use in this function)
humanizer.c:164: error: ‘frame’ undeclared (first use in this function)
humanizer.c:174: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in
this function)
humanizer.c:177: error: ‘delete_event’ undeclared (first use in this
function)
humanizer.c:181: error: ‘FALSE’ undeclared (first use in this function)
humanizer.c:186: error: ‘TRUE’ undeclared (first use in this function)
humanizer.c:195: error: ‘scaleT’ undeclared (first use in this function)
humanizer.c:201: error: ‘spinnerT’ undeclared (first use in this
function)
humanizer.c:208: error: ‘cb_update_spinner’ undeclared (first use in
this function)
humanizer.c:208: error: ‘gpointer’ undeclared (first use in this
function)
humanizer.c:208: error: expected ‘)’ before ‘spinnerT’
humanizer.c:211: error: ‘cb_update_scale’ undeclared (first use in this
function)
humanizer.c:211: error: expected ‘)’ before ‘adj1’
humanizer.c:230: error: ‘scaleV’ undeclared (first use in this function)
humanizer.c:236: error: ‘spinnerV’ undeclared (first use in this
function)
humanizer.c:243: error: expected ‘)’ before ‘spinnerV’
humanizer.c:246: error: expected ‘)’ before ‘adj1’
make: *** [all] Error 1
------------------------
On Thu, 2006-07-06 at 23:42 +0000, Cesare Marilungo wrote:
ALSA MIDI Humanizer is a tiny application that
route MIDI events between
two applications adding random timing and velocity offsets to NOTEON and
NOTEOFF events, with a bare bones GUI to adjust the two ranges.
More infos here:
http://www.cesaremarilungo.com/blog/?post=17
Download:
http://www.cesaremarilungo.com/download/ALSA-MIDI-Humanizer-0.0.1.tar.gz
To build it just 'make'.
For the developers reading this list: at the moment the code is just a
quick hack. I didn't know anything about ALSA develpment, the GTK+
toolkit and linux threads until this morning when I've started studying
some tutorials (used the midirouter.c code from the ALSA tutorial by
Matthias Nagorni as a starting point). So, be kind.
Comments and suggestions are highly appreciated.
Thank you!
c.