All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dominic Espinosa" <dcespin@fastmail.fm>
To: alsa-devel@lists.sourceforge.net
Subject: Perl interface to alsalib MIDI?
Date: Fri, 08 Apr 2005 02:33:08 -0700	[thread overview]
Message-ID: <1112952788.6701.231408303@webmail.messagingengine.com> (raw)

Hello,

I'm interested in developing a rather specialized MIDI application, and
I could use some advice. I'm a sound technician and I work with a Roland
VM-7200 virtual mixing system. For the sorts of things I need to do with
it in live performance, I would like to be able to control the mixer via
MIDI. This is possible, but only through SysEx messages which use the
Data Set/Data Transfer method outlined by Roland in the MIDI
implementation for the device. The mixer has a zillion controls, and the
implementation chart alone is some 10 pages of tiny font (to give you an
idea of how much texty stuff I would have to handle). What I want to do
is send a series of SysEx messages, set up in advance, according to
certain keypresses. So, for example, pressing one key might mute a
predefined set of mixer tracks, and pressing another key might change
the parameters of the onboard effects unit and increase the volume of 3
faders by some value. Since the only thing I'm doing is
remote-controlling a MIDI device by sending a bunch of SysEx's, an
ordinary sequencer program is unsuitable. 

As you can see, this will be pretty heavy in the string-manipulation
department, since several hundred control messages have to be defined,
and then the user has to be able to set up a config file which describes
sets of control messages to send. There is not really any timing
requirement, except that all the messages should be sent within 1 - 2
seconds, and the app has to wait for at least 20 ms between each one (to
accomodate the mixer's protocol).

My first thought was to use perl, since it would be a simple matter to
set up a big hash of the possible control messages and then select the
sets and parameter values according to the user's config file. However,
I have not been able to find any references to using perl with alsalib.
Before I leap into perl-XS-land and write my own interface, I thought I
would ask whether this is likely to work well in the first place. I have
not done much audio development and this approach may be misguided.
There are a few MIDI modules for perl, but none of them are quite what I
need and they all rely on the OSS interface anyway.

A second approach would be to write in C and use XML or Guile as the
configuration language, but it seems like this would involve a lot more
code and may not be as flexible -- if I'm going for interpreted
functionality anyway, it seems better to write the whole app in an
interpreted language in the first place if possible. A third thing is
that I noticed something called 'alsalisp' in the distro, but I have no
idea what it is and can't find any docs.

Any advice would be appreciated!

-- 
  Dominic Espinosa
  dcespin@fastmail.fm



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

             reply	other threads:[~2005-04-08  9:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-08  9:33 Dominic Espinosa [this message]
2005-04-08 10:27 ` Perl interface to alsalib MIDI? Clemens Ladisch
2005-04-08 11:44   ` Dominic Espinosa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1112952788.6701.231408303@webmail.messagingengine.com \
    --to=dcespin@fastmail.fm \
    --cc=alsa-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.