README
author viric@llimona
Fri, 14 Sep 2007 23:59:42 +0200
changeset 19 12de2cd767f2
parent 17 b94514bf216a
permissions -rw-r--r--
Removed utf-8 from readme.

-----------------------------------------------------------
stdin mixer - Copyright (C) 2007  Lluis Batlle i Rossell
    Program licensed under GPL v2 or above.
    See the file COPYING.
    [http://vicerveza.homeunix.net/~viric/soft/stdinmix]
-----------------------------------------------------------

Motivation
-----------
I wanted to run mplayer, and command things to it using a key bind. I could
run "mplayer -slave", but I needed its standard input accessible from any other
program. Then, I wrote this program to share stdin.


What does it do
-----------------
It allows the standard input of a program to be accessible from other terminals
through a unix socket, offering also a simple client for this socket.


Exmaple of use
-----------------
You can try it with 'cat'. In a shell, start "stdinmix cat". Test how 'cat'
works; write lines, and see its output.

From another shell, start "stdinmix", and write there lines. See how they
are treated as if they went to 'cat' input. In fact they went to 'cat' input.


How does it work
------------------
'stdinmix [app]' allow two ways of sending commands to its child application
stdin:
- using the terminal stdin (as if you run the application alone)
- using a unix socket, by default at /tmp/socket-sm.UID, overwritable by
  the environment variable SM_SOCKET.

If you don't specify any argument, it will connect to the mentioned unix socket,
and forward the current stdin to that socket.


Known problems
------------------
If you write data at the same time to the application stdin and to the unix
socket, both will be mixed in a quite unpredictable way. I let the user
control this not to happen.


How do I use it
------------------
I wanted a program for transcribing voice in audio tracks. I had mplayer, and
I only needed a way to send commands to it as "-slave". By now, on need,
I use xbindkeys [1] to map F1 to "mplayer-remote -p" (pause) and
F2 to "mplayer-remote -b" (back a few seconds). Then I can transcribe in
my favourite editor (vim) pausing and moving back the audio track when needed.

You can find some scripts in the utils/ directory.


Author
---------
Lluis Batlle i Rossell 
[http://vicerveza.homeunix.net/~viric/]
[viric ĉe vicerveza punkto homelinux punkto net]


References
------------
[1] xbindkeys: http://hocwp.free.fr/xbindkeys/xbindkeys.html