OVH Cloud OVH Cloud

tuyau en Y???

12 réponses
Avatar
MaXX
Bonjour,
existe-t-il un moyen de créer un pipe vers deux destinations? (1E 2S)

J'ai essayé d'expliquer à Google ce que je voulais, mais il a pas compris.
J'aimerais pouvoir envoyer la sortie de mplayer sur deux cartes son
différentes en même temps. Un fork introduit un délai audible et pour
changer de chanson bonjour le bastringue...

Ca pourrais avoir d'autres usages plus utiles que cet exemple.

Si c'est pas possible, je vais pas en faire un fromage, c'est pour
m'amuser...

Merci d'avance...
--
MaXX

10 réponses

1 2
Avatar
patpro ~ Patrick Proniewski
In article <den0ei$28vs$,
MaXX wrote:

Bonjour,
existe-t-il un moyen de créer un pipe vers deux destinations? (1E 2S)

J'ai essayé d'expliquer à Google ce que je voulais, mais il a pas compris.
J'aimerais pouvoir envoyer la sortie de mplayer sur deux cartes son
différentes en même temps. Un fork introduit un délai audible et pour
changer de chanson bonjour le bastringue...

Ca pourrais avoir d'autres usages plus utiles que cet exemple.

Si c'est pas possible, je vais pas en faire un fromage, c'est pour
m'amuser...

Merci d'avance...


man tee ? peut etre


patpro

Avatar
MaXX
patpro ~ Patrick Proniewski wrote:
In article <den0ei$28vs$,
MaXX wrote:
Bonjour,
existe-t-il un moyen de créer un pipe vers deux destinations? (1E 2S)
man tee ? peut etre

patpro


Merci, j'aurais du y penser, mais c'est pas aussi simple... j'ai
l'impression que mplayer et la carte "discutent" de la synchro entre eux,
le résultat est un horrible morceau haché...

le truc des fifos ne fonctionne pas non plus le premier lecteur qui se
connecte au fifo empêche l'autre de lire... Et si je tee(1) le fifo dans
deux autres le lecteur capitule "broken pipe".


Vais pas m'énerver et je vais essayer de me rappeler que tee existe la
prochaine fois que j'ai besoin d'un machin dans le genre...

Merci encore.
--
MaXX


Avatar
Marwan Burelle
In article <den9s4$2lnl$, MaXX wrote:
Merci, j'aurais du y penser, mais c'est pas aussi simple... j'ai
l'impression que mplayer et la carte "discutent" de la synchro entre eux,
le résultat est un horrible morceau haché...

le truc des fifos ne fonctionne pas non plus le premier lecteur qui se
connecte au fifo empêche l'autre de lire... Et si je tee(1) le fifo dans
deux autres le lecteur capitule "broken pipe".


Hum ... il n'y a pas une possibilité avec les serveurs de sons type
jack ? (audio/jack)

--
Burelle Marwan,
Equipe Bases de Donnees - LRI
http://www.cduce.org
( | )

Avatar
MaXX
Marwan Burelle wrote:
In article <den9s4$2lnl$, MaXX wrote:
Merci, j'aurais du y penser, mais c'est pas aussi simple... j'ai
l'impression que mplayer et la carte "discutent" de la synchro entre eux,
le résultat est un horrible morceau haché...
le truc des fifos ne fonctionne pas non plus le premier lecteur qui se
connecte au fifo empêche l'autre de lire... Et si je tee(1) le fifo dans
deux autres le lecteur capitule "broken pipe".
Hum ... il n'y a pas une possibilité avec les serveurs de sons type

jack ? (audio/jack)


ça doit être possible, en tout cas, il accepte les deux carte dans la ligne
de commande faut voir si il va les utiliser (mplayer ne dis rien si je
specifie -ao oss:/dev/dsp -ao oss:/dev/dsp1, il ignore juste la deuxieme
occurence).
Je dois recompiler mplayer pour activer le support jack.

A mon avis, un stupide câble Y m'énervera moins...
--
MaXX


Avatar
Jérémy JUST
On Fri, 26 Aug 2005 14:04:05 +0200
MaXX wrote:

existe-t-il un moyen de créer un pipe vers deux destinations? (1E 2S)


Quelque chose comme ça:

<<<<< multitee.c
#include <stdio.h>

main (int argc, char *argv[])
{
FILE *f1, *f2 ;
f1 = fopen (argv[1], "a+") ;
f2 = fopen (argv[2], "a+") ;

int c ;
while ((c = fgetc (stdin))!=EOF)
{
fputc (c, f1) ;
fputc (c, f2) ;
}

fclose (f1) ;
fclose (f2) ;
}








à utiliser comme ça:

$ cat source.txt | multitee dest1 dest2


Bon, en plus du UUOC ci-dessus, il doit y avoir des petites choses à
corriger pour que mon programme fonctionne dans les cas simples, et
beaucoup de choses à faire pour qu'il fonctionne de façon plus générale.


Ca pourrais avoir d'autres usages plus utiles que cet exemple.


Oui, je m'étais fait un truc comme ça en Perl pour pouvoir faire
travailler plusieurs programmes sur la sortie d'un premier programme.
La sortie étant plus gros que mon disque dur, je ne pouvais pas la
stocker (et le premier calcul durait plusieurs dizaines d'heures).


--
Jérémy JUST





Avatar
MaXX
Jérémy JUST wrote:
On Fri, 26 Aug 2005 14:04:05 +0200
MaXX wrote:
existe-t-il un moyen de créer un pipe vers deux destinations? (1E 2S)
Quelque chose comme ça:

<<<<< multitee.c
#include <stdio.h>

main (int argc, char *argv[])
{
FILE *f1, *f2 ;
f1 = fopen (argv[1], "a+") ;
f2 = fopen (argv[2], "a+") ;

int c ;
while ((c = fgetc (stdin))!=EOF)
{
fputc (c, f1) ;
fputc (c, f2) ;
}

fclose (f1) ;
fclose (f2) ;
}

à utiliser comme ça:





$ cat source.txt | multitee dest1 dest2
Bon, en plus du UUOC ci-dessus, il doit y avoir des petites choses à
corriger pour que mon programme fonctionne dans les cas simples, et
beaucoup de choses à faire pour qu'il fonctionne de façon plus générale.
Ca pourrais avoir d'autres usages plus utiles que cet exemple.
Oui, je m'étais fait un truc comme ça en Perl pour pouvoir faire

travailler plusieurs programmes sur la sortie d'un premier programme.
La sortie étant plus gros que mon disque dur, je ne pouvais pas la
stocker (et le premier calcul durait plusieurs dizaines d'heures).
Merci du tuyau, je viens peut-être de lui trouver une petite application

dans un de mes projets...

Pour le son j'ai peu d'espoir... J'essayerai demain.

Merci

--
MaXX






Avatar
espie
In article ,
Jérémy JUST wrote:

<<<<< multitee.c
#include <stdio.h>

main (int argc, char *argv[])
...

fclose (f1) ;
fclose (f2) ;
}







Pitie, autre chose comme separateur! En survolant rapidement, j'ai pense,

tiens, ce type a des conflits dans sa copie de travail sous CVS...






Avatar
Miod Vallat
Pitie, autre chose comme separateur! En survolant rapidement, j'ai pense,
tiens, ce type a des conflits dans sa copie de travail sous CVS...


Si tu utilisais de vrais logiciels de gestion de code, comme Git ou à la
rigueur Subversion, au lieu de ton CVS croulant tout juste bon pour des
BSDiens minables, tu ne ferais pas de telle remarque.

Avatar
Jérémy JUST
On Mon, 29 Aug 2005 00:49:57 +0000 (UTC)
(Marc Espie) wrote:

<<<<< multitee.c







Pitie, autre chose comme separateur! En survolant rapidement, j'ai

pense, tiens, ce type a des conflits dans sa copie de travail sous
CVS...


J'ai bien pensé mettre mes mails sous CVS (je suis au format MH), mais
c'est resté à l'état de fantasme.

Et pour le délimiteur, je suis preneur de suggestions, sachant que ça
doit être ouvrant/fermant, que ça soit facile à écrire, à lire et à
grepper.
Les rangées de dièses ne sont pas ouvrantes et fermante, donc non. Les
begin{code}end{code} ne sont pas faciles à taper et à grepper (surtout
quand je poste du LaTeX). Les <CODE></CODE> sont très drôles mais ça
s'arrête là.


--
Jérémy JUST







Avatar
Miod Vallat
Les rangées de dièses ne sont pas ouvrantes et fermante, donc non. Les


Comment ça ? Tu ouvres avec un dièse, tu refermes avec un bémol...

(fu2)

1 2