lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Project - Emacs mode extensions for LilyPond


From: Nicolas Sceaux
Subject: Re: Project - Emacs mode extensions for LilyPond
Date: Thu, 31 Jul 2003 13:53:13 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.2 (gnu/linux)

30 Jul 2003 18:11:36 -0400, Francois Pinard a dit : 

 >> I am interested in whatever makes lilypond editing faster in Emacs.
 >> [...] if you can provide something more robust, with more features,
 >> or that makes me quicker for typesetting, I'll adopt it!

 > Exactly the same here -- I'm not especially pushing for my own solutions.

 > The only thing, maybe, is for the case I want to add something else;
 > I am then more comfortable with Python than Lisp.

I don't mind using Python instead of emacs lisp.

 >  You also are the
 > second person telling me good about EIEIO since yesterday (indirectly).
 > EIEIO seems to be an add-on for Emacs for something built in Python.

EIEIO provides a subset of CLOS (Common Lisp Object System, which is
part of ANSI Common Lisp) for Emacs Lisp, so where object oriented
programming is felt better by the developper, it can help. However, as
emacs lisp in general when compared to Common Lisp, EIEIO is a bit
frustrating. [off topic: However, it shows a property of lisp in
general: the hability to add programming paradigms at need].

 > Your message is also very timely.  I just arrived in town, where I have
 > no MIDI equipment.  But I do have Timidity++, ALSA, and an audio card.
 > A minute before receiving your email, I was peeking around to find how one
 > could use Timidity as a server: and it seems you did it all already! :-)

This is the ugliest part, but its merite is that it works :)
It seems that the only way to communicate with an ALSA sequencer (ie,
timidity here), is via ioctl() calls, which can not be done in Emacs
Lisp -- or so it seems. So I use a little program written in C, that
uses the C ALSA lib (which does the ioctl() calls), between Emacs and
timidity. Writing a minimalist Python wrapper to the snd_seq ALSA
module should be straightforward; then, using Pymacs, communication
between Emacs and timidity/ALSA sequencer would be cleaner.

There is an interface in ALSA for communicating with an ALSA sequencer
via TCP queries, but it's not implemented yet. If that were, all this
could be done in Emacs lisp, which can send TCP queries.

Being able to hear the notes when one type them is really valuable, so
imho this is an important feature of an emacs lilypond editing mode.

 > -- 
 > François Pinard   http://www.iro.umontreal.ca/~pinard

nicolas sceaux





reply via email to

[Prev in Thread] Current Thread [Next in Thread]