69 |
gboolean sox_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata) |
gboolean sox_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata) |
70 |
{ |
{ |
71 |
GIOStatus Lstatus; |
GIOStatus Lstatus; |
72 |
GHashTable *Lhash = (GHashTable *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
73 |
gchar *Lbuffer = NULL; |
gchar *Lbuffer = NULL; |
74 |
gchar *s; |
gchar *s; |
75 |
gint *Lcont = (gint *) g_hash_table_lookup(Lhash, "cont"); /* on traite encore des donnees ? */ |
gint *Lcont = (gint *) sc_grave_get_data(Lg, "cont"); /* on traite encore des donnees ? */ |
76 |
GError **Lerreur = (GError **) g_hash_table_lookup(Lhash, "gerror"); /* pointeur erreur */ |
GError **Lerreur = (GError **) sc_grave_get_data(Lg, "gerror"); /* pointeur erreur */ |
77 |
|
|
78 |
|
|
79 |
/* fin du callback lorsque l'on recoi un signal comme quoi le pipe est ferme */ |
/* fin du callback lorsque l'on recoi un signal comme quoi le pipe est ferme */ |
98 |
return TRUE; |
return TRUE; |
99 |
} |
} |
100 |
|
|
101 |
gboolean SoundToCdr(GHashTable *Ahash, gchar *AFichier, gchar *AVers, GError **Aerror) |
gboolean SoundToCdr(Tgrave *Ag, gchar *AFichier, gchar *AVers, GError **Aerror) |
102 |
{ |
{ |
103 |
gchar *Lcommandline; |
gchar *Lcommandline; |
104 |
gchar **Lcmd; |
gchar **Lcmd; |
105 |
gint *Lpid = (gint *) g_hash_table_lookup(Ahash, "pid"); |
gint *Lpid = (gint *) sc_grave_get_data(Ag, "pid"); |
106 |
gboolean *Labort = (gboolean *)g_hash_table_lookup(Ahash, "gabort"); |
gboolean *Labort = (gboolean *)sc_grave_get_data(Ag, "gabort"); |
107 |
gint *Lcont = (gint *) g_hash_table_lookup(Ahash, "cont"); |
gint *Lcont = (gint *) sc_grave_get_data(Ag, "cont"); |
108 |
gint g_out, g_err, Lnbrarg; |
gint g_out, g_err, Lnbrarg; |
109 |
gchar *Lfic; |
gchar *Lfic; |
110 |
gchar *Lvers; |
gchar *Lvers; |
139 |
g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL ); |
g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL ); |
140 |
Lcomevent = g_io_add_watch (Lcom, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI), |
Lcomevent = g_io_add_watch (Lcom, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI), |
141 |
sox_callback, |
sox_callback, |
142 |
Ahash); |
Ag); |
143 |
|
|
144 |
Lcomerr = g_io_channel_unix_new( g_err ); |
Lcomerr = g_io_channel_unix_new( g_err ); |
145 |
g_io_channel_set_encoding (Lcomerr, NULL, NULL); |
g_io_channel_set_encoding (Lcomerr, NULL, NULL); |
146 |
g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL ); |
g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL ); |
147 |
Lcomerrevent = g_io_add_watch (Lcomerr, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI), |
Lcomerrevent = g_io_add_watch (Lcomerr, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI), |
148 |
sox_callback, |
sox_callback, |
149 |
Ahash); |
Ag); |
150 |
|
|
151 |
while (*Lcont > 1 && *Labort == FALSE) { |
while (*Lcont > 1 && *Labort == FALSE) { |
152 |
gtk_main_iteration(); |
gtk_main_iteration(); |