[linux-audio-dev] jack.el -- Run and monitor JACK from within Emacs

From: Mario Lang <mlang@email-addr-hidden>
Date: Tue Apr 26 2005 - 15:11:11 EEST

Hi.

I am sure this sounds a bit crazy to some of you, but be ensured,
I am not (yet) completely out of my mind and there are actually
real reasons for doing what I do :-).

I am now running jackd from within Emacs, using jack.el.

Find it here: http://delysid.org/emacs/jack.el

Basic usage:

* Install the elisp file and put (require 'jack) in your .emacs.
* Customize startup options: M-x customize-group RET jack RET
  * I.e. jack-sample-rate and jack-period-size are two important candidates.
* Start jack: M-x jack-start

You will see the verbose output in a special buffer called *JACK output*.

* If you want/need to get rid of your jack instance, simply do
  M-x jack-kill RET

* If you changed sample rate or any other startup parameter, do
  M-x jack-restart RET
  to make them effective.

Plans:
* Do something useful with xrun output, maybe some stats (suggestions?).
* Add support for dummy and oss drivers, and add remaining ALSA
  params.
* Write a patchbay based on jack_lsp and jack_{dis,}connect.

Why am I doing this?

You might have noticed I am recently seriously working on
Emacs extensions related to Sound and audio. osc.el is working
nicely and om.el, a client to drobillas om-synth is just waiting
for a polish up. midi.el is parsing binary data already and
needs a bit more careful planning before it can really grow.
The idea behind jack.el was that I basically got fed up by jack
wasting either a virtual console, or a screen window. Both dont really
offer confortable scrollback, so the idea to make jack run from
within Emacs, and collect all its output into a Emacs buffer was born.
Some nice sideeffects: Load statistic is collected in a variable,
so if you are into elisp, you can do fancy stuff like:

(with-current-buffer (jack-output-buffer) jack-load)

to retrieve the current load :-)

Combine all this with things like csound-x (Csound support for Emacs)
and the SuperCollider Emacs frontend, and you get a truly
powerful composition and experimentation environment.
One day I'll learn CLM and CM, and add it to the mix as well :-)

-- 
CYa,
  Mario
Received on Tue Apr 26 16:15:07 2005

This archive was generated by hypermail 2.1.8 : Tue Apr 26 2005 - 16:15:10 EEST