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
