i'm pleased to mention that ardour CVS now contains the result of the last week's work. ardour/ksi is a curses-based interface to the Ardour engine that allows you to use your ALSA-support audio interface as a powerful, real-time multichannel mixer. ardour/ksi uses a key assignment designed by Frank Carmickle that is incredibly ergonomic and easy to use. It uses the keyboard to provide 10 channels worth of control at a time, with other channels just a keypress away. ardour/ksi allows the addition, editing and removal of LADPSA plugins to each channel, as well as the usual mute/solo/pan/gain controls. in addition, i've also written a utility called "remote_kbd". this provides most of the functionality associated with X, but provides it for programs like ardour/ksi that uses curses AND use the keyboard in the kernel's "raw" mode. all existing TCP/IP-based remote protocols (that I can think of) except X are based on transmitting characters read from various inputs; in ardour/ksi we want to know about Ctrl-i as distinct from TAB, for example. with the standard keyboard mode, there is no way to distinguish between these two things. Since neither telnet, nor rlogin nor ssh or the rest will transmit raw keycode information in a useful way, remote_kbd provides a small program (250 lines in the source) that puts the keyboard in raw mode, transmits any keycodes to a client connected via a socket, and forwards any data read from the client to stdout. This allows ardour/ksi to be run on a machine with, for example, a low-latency kernel installed for high performance, but have the display be on a machine with the SpeakUp system for screen readers. If screen readers could handle X, this would not have been necessary. Default runs of ./configure will not cause ardour/ksi to be built; the argument --enable-ksi-ardour will do that, or you can just cd in ksi_ardour, and do it all from there. There are still some rough edges on both programs, but they work and I find ardour/ksi quite exciting to think about. in theory, ardour/ksi could also be used for recording, but we don't have a keyboard interface for that worked out yet. --p
