[LAU] music apps scripts

Simon Williams simon at systemparadox.co.uk
Thu Feb 14 11:55:26 EST 2008


Studio 32 wrote:
> This is a *.sh script I have now:
> 
> #!/bin/sh 
>  qjackctl & 
>  sleep 2
>  lash_panel &
>  sleep 10
>  jack-rack &
>  ardour2 [session] &
>  sleep 10
>  hydrogen & 
>  exit

This is one of the main things that's driving me nuts with Linux 
applications at the moment- why oh why oh why do so few programs handle 
resources properly. The main issue with practically everything is that 
some resource (hardware, daemon, network connection, etc) must be 
available when the application starts, and remain available until the 
application exits. Why can't these apps:
1. WAIT for the resource to be ready when starting (especially in the 
case of jack applications- don't die if jack's not around- it's probably 
being started right now- "you can't rush these things" "we only let you 
use it when it's ready").
2. Release the resource when it's not being actively used.
3. Support the resource becoming unavailable (primary example: I mount a 
filesystem over the network or wireless. If I want to disconnect from 
the network or go out of range, I have to stop all applications using 
the mount and unmount it otherwise everything dies horribly (and I still 
have to unmount and remount when the network connection comes back)).
4. Handle suspend-to-RAM sanely. I have to reload the module for my 
miniPCI wireless card, reload the module for my PCMCIA bluetooth card 
(though that rarely works- it just can't remain in the machine across a 
suspend cycle or it 'forgets' it's hardware address and ignores me until 
the next reboot), mute and unmute all channels on my soundcard and 
reload jack for some stupid reason.
The most irritating thing was when I used to have to reload the module 
for my soundcard as well, which was plain stupid...
I need to unload and reload the soundcard module to get sound again. But 
I can't unload the module because I have audio applications running 
(xmms, jack, or worse the flash plugin for firefox), and they've all 
locked the ****ing device, even if they aren't actually playing to it at 
the time. So I would have to kill all audio applications, unload the 
module, reload the module, and then reload the applications again. If 
you aren't playing to the damn card then release the device dammit! Or 
better yet, ALSA, don't kill off the device node if I want to remove the 
module.
Thank goodness that I don't have to do that anymore.



More information about the Linux-audio-user mailing list