README
author viric@llimona
Fri, 14 Sep 2007 23:58:34 +0200
changeset 18 ff31deaffd38
parent 17 b94514bf216a
child 19 12de2cd767f2
permissions -rw-r--r--
Added tag v0.9.1 for changeset b94514bf216a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     1
-----------------------------------------------------------
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     2
stdin mixer - Copyright (C) 2007  Lluís Batlle i Rossell
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     3
    Program licensed under GPL v2 or above.
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     4
    See the file COPYING.
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     5
    [http://vicerveza.homeunix.net/~viric/soft/stdinmix]
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     6
    [this file is written in UTF-8]
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     7
-----------------------------------------------------------
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
     8
14
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
     9
Motivation
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    10
-----------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    11
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
    12
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
    13
program. Then, I wrote this program to share stdin.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    14
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
What does it do
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    17
-----------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    18
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
    19
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
    20
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
Exmaple of use
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    23
-----------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    24
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
    25
works; write lines, and see its output.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    26
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    27
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
    28
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
    29
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
How does it work
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    32
------------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    33
'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
    34
stdin:
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    35
- using the terminal stdin (as if you run the application alone)
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    36
- 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
    37
  the environment variable SM_SOCKET.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    38
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    39
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
    40
and forward the current stdin to that socket.
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    41
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    42
17
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    43
Known problems
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    44
------------------
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    45
If you write data at the same time to the application stdin and to the unix
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    46
socket, both will be mixed in a quite unpredictable way. I let the user
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    47
control this not to happen.
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    48
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    49
14
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    50
How do I use it
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    51
------------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    52
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
    53
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
    54
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
    55
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
    56
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
    57
17
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    58
You can find some scripts in the utils/ directory.
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    59
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    60
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    61
Author
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    62
---------
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    63
Lluís Batlle i Rossell 
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    64
[http://vicerveza.homeunix.net/~viric/]
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    65
[viric ĉe vicerveza punkto homelinux punkto net]
b94514bf216a More detailed README.
viric@llimona
parents: 14
diff changeset
    66
14
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    67
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    68
References
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    69
------------
286b248e402a Adding better error messages and a README.
viric@llimona
parents:
diff changeset
    70
[1] xbindkeys: http://hocwp.free.fr/xbindkeys/xbindkeys.html