lilypond-user
[Top][All Lists]
Advanced

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

Re: related question


From: David Boersma
Subject: Re: related question
Date: Tue, 28 Jan 2003 11:04:10 +0100 (CET)

Hello,

> I am interested in making a program that will treat keyboard input
> in the usual fashion with one added twist: each key will have a unique
> sound attached to it that will play when at the same time as the
> corresponding letter appears on the screen.  Do you have any idea if this
> is possible, and how I might proceed?

Hmm, let me try to relate this question with Lilypond. My guess is that
you are writing a text editor for entering Lilypond music. Whenever a note
value is entered you want to hear it, so that instead of listening to the
midi proofreading output afterwards you can immediately hear which note
you enter.

If you are a fan of the command line and mean & lean text oriented
programs, you might look at the curses/ncurses library for the input. That
is an old but still frequently used library which enables you to do
anything with text in a console or an xterm(-like) window, in particular
you can assign actions to separate keystrokes. Or undoubtely you can hack
Emacs syntax file for lilypond such that note values can be assigned to
sound events. If you wish to go for a more graphical solution you'll
probably look at the Qt and/or GTK/glib libraries which also have
libfunctions for dealing with keyboard input.

The actual sound part is a bit harder. I have no programming experience
with sound but I'm afraid that this is dependent on platform and desktop
environment: e.g. whether the sound output is governed by a sound manager
like Arts or Esound, or that you can do direct OSS or ALSA calls. Maybe
there is a clever midi playing library (or a cmdline program accepting
stdin) which solves & hides all those issues.

Well, I don't know, maybe I guessed the intention of your question
completely wrong.

Good luck,
David.





reply via email to

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