/[graveman]/graveman/current/src/cdrecord.c
ViewVC logotype

Diff of /graveman/current/src/cdrecord.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17 by scresto, Tue Feb 15 22:44:44 2005 UTC revision 1.18 by scresto, Thu Feb 17 01:22:53 2005 UTC
# Line 300  gchar *burn_data_getextrapara(GHashTable Line 300  gchar *burn_data_getextrapara(GHashTable
300    return Lreturn;    return Lreturn;
301  }  }
302    
303  gchar *get_blank_type(GHashTable *Ahash)  static gchar *get_blank_type(GHashTable *Ahash)
304  {  {
305    gboolean *Luseautoblank = (gboolean *) g_hash_table_lookup(Ahash, "useautoblank");    gboolean *Luseautoblank = (gboolean *) g_hash_table_lookup(Ahash, "useautoblank");
306    
# Line 609  _DEB("===>%s", Lbuffer); Line 609  _DEB("===>%s", Lbuffer);
609      /* barres de progression */      /* barres de progression */
610      /* avancement operation */      /* avancement operation */
611      Lpct = (1.0/Ltotaltodo) * Ltotaldone;      Lpct = (1.0/Ltotaltodo) * Ltotaldone;
612      gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(Lprogressbar2), Lpct);      maj_progress(Lprogressbar2, Lpct);
     g_snprintf(Lsbuf2, sizeof(Lsbuf2)-1, "%.0f%%", Lpct*100);  
     gtk_progress_bar_set_text(GTK_PROGRESS_BAR(Lprogressbar2), Lsbuf2);  
613    
614      /* avancement total */      /* avancement total */
615      if (*Ltracknum && (!*Llasttrack || strcmp(Llasttrack, Ltracknum))) {      if (*Ltracknum && (!*Llasttrack || strcmp(Llasttrack, Ltracknum))) {
# Line 619  _DEB("===>%s", Lbuffer); Line 617  _DEB("===>%s", Lbuffer);
617        g_strlcpy(Llasttrack, Ltracknum, _BUF_SIZE - 1);        g_strlcpy(Llasttrack, Ltracknum, _BUF_SIZE - 1);
618      }      }
619      Ltava = (1.0/ (*Ltodo)) * ((*Ldone)-1+Lpct);      Ltava = (1.0/ (*Ltodo)) * ((*Ldone)-1+Lpct);
620      gtk_progress_bar_set_fraction(Lprogressbar, Ltava);      maj_progress(Lprogressbar2, Ltava);
     g_snprintf(Lsbuf2, sizeof(Lsbuf2)-1, "%.0f%%", Ltava*100);  
     gtk_progress_bar_set_text(Lprogressbar, Lsbuf2);  
621    
622      /* barre fifo */      /* barre fifo */
623      g_snprintf(Lsbuf, sizeof(Lsbuf)-1, "%.0f%%", Lfifo);      g_snprintf(Lsbuf, sizeof(Lsbuf)-1, "%.0f%%", Lfifo);
# Line 873  _DEB("execution [%s]\n", Lcommandline); Line 869  _DEB("execution [%s]\n", Lcommandline);
869    return Lstatus;    return Lstatus;
870  }  }
871    
872  gboolean cdrecord_blankorfix_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata)  gboolean common_blankorfix_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata)
873  {  {
874    GIOStatus Lstatus;    GIOStatus Lstatus;
875    GHashTable *Lhash = (GHashTable *)Adata;    GHashTable *Lhash = (GHashTable *)Adata;
# Line 918  _DEB("===>%s", Lbuffer); Line 914  _DEB("===>%s", Lbuffer);
914    return TRUE;    return TRUE;
915  }  }
916    
917    /* cloturer un cdr*/
918  /* effacer un cdrw */  gboolean perform_fix_cd(GHashTable *Ahash, GError **Aerror)
 gboolean perform_erase_cdrw(GHashTable *Ahash, GError **Aerror)  
919  {  {
920    gchar **Lcmd;    gchar **Lcmd;
921    gchar *Lcommandline, *Lbufgrav;    gchar *Lcommandline, *Lbufgrav;
# Line 930  gboolean perform_erase_cdrw(GHashTable * Line 925  gboolean perform_erase_cdrw(GHashTable *
925    gint g_out, g_err, Lnbrarg;    gint g_out, g_err, Lnbrarg;
926    gint *Lcont = g_hash_table_lookup(Ahash, "cont");    gint *Lcont = g_hash_table_lookup(Ahash, "cont");
927    GtkWidget *Lgraveur = g_hash_table_lookup(Ahash, "dstothercombo");    GtkWidget *Lgraveur = g_hash_table_lookup(Ahash, "dstothercombo");
   gboolean *Lfastblank = g_hash_table_lookup(Ahash, "usefastblank");  
928    
929    /* pid de cdrecord */    /* pid de cdrecord */
930    gint *Lpid = (gint *) g_hash_table_lookup(Ahash, "pid");    gint *Lpid = (gint *) g_hash_table_lookup(Ahash, "pid");
931    
932    Lbufgrav = get_combo_value(Lgraveur);    Lbufgrav = get_combo_value(Lgraveur);
933    Lcommandline = g_strdup_printf("%s dev=%s -v gracetime=2 blank=%s",    Lcommandline = g_strdup_printf("%s dev=%s -v -fix", conf_get_string("cdrecord"), Lbufgrav);
       conf_get_string("cdrecord"), Lbufgrav, (*Lfastblank == TRUE ? "fast" : "all"));  
934    g_free(Lbufgrav);    g_free(Lbufgrav);
935    
   printf("execution [%s]\n", Lcommandline);  
936    _DEB("execution [%s]\n", Lcommandline);    _DEB("execution [%s]\n", Lcommandline);
937    Lstatus = g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror);    Lstatus = g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror);
938    g_free(Lcommandline);    g_free(Lcommandline);
# Line 962  gboolean perform_erase_cdrw(GHashTable * Line 954  gboolean perform_erase_cdrw(GHashTable *
954    g_io_channel_set_encoding (Lcom, NULL, NULL);    g_io_channel_set_encoding (Lcom, NULL, NULL);
955    g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL );    g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL );
956    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),
957                                        cdrecord_blankorfix_callback, Ahash);                                        common_blankorfix_callback, Ahash);
958        
959    Lcomerr = g_io_channel_unix_new( g_err );    Lcomerr = g_io_channel_unix_new( g_err );
960    g_io_channel_set_encoding (Lcomerr, NULL, NULL);    g_io_channel_set_encoding (Lcomerr, NULL, NULL);
961    g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL );    g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL );
962    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),
963                                        cdrecord_blankorfix_callback, Ahash);                                          common_blankorfix_callback, Ahash);  
964  _DEB("cont vaut => %d\n", *Lcont);  _DEB("cont vaut => %d\n", *Lcont);
965    while (*Lcont > 1) {    while (*Lcont > 1) {
966      gtk_main_iteration();      gtk_main_iteration();
# Line 991  _DEB("fin !!!\n"); Line 983  _DEB("fin !!!\n");
983    return *Aerror ? FALSE : TRUE;    return *Aerror ? FALSE : TRUE;
984  }  }
985    
986  /* clotuer un cdr*/  
987  gboolean perform_fix_cd(GHashTable *Ahash, GError **Aerror)  /* ejecter un CD */
988    void eject_cd(gchar *Adev, GError **Aerror)
989    {
990      gchar *Lcommandline = g_strdup_printf("%s -eject dev=%s", conf_get_string("cdrecord"), Adev);
991      _DEB("EJECT %s\n", Adev);
992      
993      g_spawn_command_line_sync(Lcommandline, NULL, NULL, NULL, Aerror);
994    
995      g_free(Lcommandline);
996    }
997    
998    /* effacer un cdrw */
999    gboolean perform_erase_cdrw(GHashTable *Ahash, GError **Aerror)
1000  {  {
1001    gchar **Lcmd;    gchar **Lcmd;
1002    gchar *Lcommandline, *Lbufgrav;    gchar *Lcommandline, *Lbufgrav;
# Line 1002  gboolean perform_fix_cd(GHashTable *Ahas Line 1006  gboolean perform_fix_cd(GHashTable *Ahas
1006    gint g_out, g_err, Lnbrarg;    gint g_out, g_err, Lnbrarg;
1007    gint *Lcont = g_hash_table_lookup(Ahash, "cont");    gint *Lcont = g_hash_table_lookup(Ahash, "cont");
1008    GtkWidget *Lgraveur = g_hash_table_lookup(Ahash, "dstothercombo");    GtkWidget *Lgraveur = g_hash_table_lookup(Ahash, "dstothercombo");
1009      gboolean *Lfastblank = g_hash_table_lookup(Ahash, "usefastblank");
1010    
1011    /* pid de cdrecord */    /* pid de cdrecord */
1012    gint *Lpid = (gint *) g_hash_table_lookup(Ahash, "pid");    gint *Lpid = (gint *) g_hash_table_lookup(Ahash, "pid");
1013    
1014    Lbufgrav = get_combo_value(Lgraveur);    Lbufgrav = get_combo_value(Lgraveur);
1015    Lcommandline = g_strdup_printf("%s dev=%s -v -fix", conf_get_string("cdrecord"), Lbufgrav);    Lcommandline = g_strdup_printf("%s dev=%s -v gracetime=2 blank=%s",
1016          conf_get_string("cdrecord"), Lbufgrav, (*Lfastblank == TRUE ? "fast" : "all"));
1017    g_free(Lbufgrav);    g_free(Lbufgrav);
1018    
1019      printf("execution [%s]\n", Lcommandline);
1020    _DEB("execution [%s]\n", Lcommandline);    _DEB("execution [%s]\n", Lcommandline);
1021    Lstatus = g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror);    Lstatus = g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror);
1022    g_free(Lcommandline);    g_free(Lcommandline);
# Line 1031  gboolean perform_fix_cd(GHashTable *Ahas Line 1038  gboolean perform_fix_cd(GHashTable *Ahas
1038    g_io_channel_set_encoding (Lcom, NULL, NULL);    g_io_channel_set_encoding (Lcom, NULL, NULL);
1039    g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL );    g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL );
1040    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),
1041                                        cdrecord_blankorfix_callback, Ahash);                                        common_blankorfix_callback, Ahash);
1042        
1043    Lcomerr = g_io_channel_unix_new( g_err );    Lcomerr = g_io_channel_unix_new( g_err );
1044    g_io_channel_set_encoding (Lcomerr, NULL, NULL);    g_io_channel_set_encoding (Lcomerr, NULL, NULL);
1045    g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL );    g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL );
1046    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),
1047                                        cdrecord_blankorfix_callback, Ahash);                                          common_blankorfix_callback, Ahash);  
1048  _DEB("cont vaut => %d\n", *Lcont);  _DEB("cont vaut => %d\n", *Lcont);
1049    while (*Lcont > 1) {    while (*Lcont > 1) {
1050      gtk_main_iteration();      gtk_main_iteration();
# Line 1061  _DEB("fin !!!\n"); Line 1068  _DEB("fin !!!\n");
1068  }  }
1069    
1070    
 /* ejecter un CD */  
 void eject_cd(gchar *Adev, GError **Aerror)  
 {  
   gchar *Lcommandline = g_strdup_printf("%s -eject dev=%s", conf_get_string("cdrecord"), Adev);  
   _DEB("EJECT %s\n", Adev);  
     
   g_spawn_command_line_sync(Lcommandline, NULL, NULL, NULL, Aerror);  
   
   g_free(Lcommandline);  
 }  
1071    
1072  /*  /*
1073   * vim:et:ts=8:sts=2:sw=2   * vim:et:ts=8:sts=2:sw=2

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26