README
author viric@llimona
Fri, 14 Sep 2007 23:47:40 +0200
changeset 15 0acf8c3c4fe0
parent 14 286b248e402a
child 17 b94514bf216a
permissions -rw-r--r--
Good routing of app's stderr.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     1
Motivation
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     2
-----------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     3
I wanted to run mplayer, and command things to it using a key bind. I could
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     4
run "mplayer -slave", but I needed its standard input accessible from any other
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     5
program. Then, I wrote this program to share stdin.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     6
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     7
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     8
What does it do
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     9
-----------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    10
It allows the standard input of a program to be accessible from other terminals
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    11
through a unix socket, offering also a simple client for this socket.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    12
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    13
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    14
Exmaple of use
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    15
-----------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    16
You can try it with 'cat'. In a shell, start "stdinmix cat". Test how 'cat'
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    17
works; write lines, and see its output.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    18
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    19
From another shell, start "stdinmix", and write there lines. See how they
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    20
are treated as if they went to 'cat' input. In fact they went to 'cat' input.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    21
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    22
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    23
How does it work
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    24
------------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    25
'stdinmix [app]' allow two ways of sending commands to its child application
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    26
stdin:
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    27
- using the terminal stdin (as if you run the application alone)
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    28
- using a unix socket, by default at /tmp/socket-sm.UID, overwritable by
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    29
  the environment variable SM_SOCKET.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    30
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    31
If you don't specify any argument, it will connect to the mentioned unix socket,
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    32
and forward the current stdin to that socket.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    33
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    34
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    35
How do I use it
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    36
------------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    37
I wanted a program for transcribing voice in audio tracks. I had mplayer, and
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    38
I only needed a way to send commands to it as "-slave". By now, on need,
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    39
I use xbindkeys [1] to map F1 to "mplayer-remote -p" (pause) and
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    40
F2 to "mplayer-remote -b" (back a few seconds). Then I can transcribe in
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    41
my favourite editor (vim) pausing and moving back the audio track when needed.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    42
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    43
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    44
References
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    45
------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    46
[1] xbindkeys: http://hocwp.free.fr/xbindkeys/xbindkeys.html