| 52 |
#define CDRDAO_OF "of " |
#define CDRDAO_OF "of " |
| 53 |
#define CDRDAO_BUFFERS "Buffers " |
#define CDRDAO_BUFFERS "Buffers " |
| 54 |
#define CDRDAO_INCOMPATIBLE_MEDIUM "Medium in recorder device is not empty and not appendable" |
#define CDRDAO_INCOMPATIBLE_MEDIUM "Medium in recorder device is not empty and not appendable" |
| 55 |
|
#define CDRDAO_SESSIONS "Sessions " |
| 56 |
|
|
| 57 |
/* detection des media */ |
/* detection des media */ |
| 58 |
#define CDRDAO_CDRW "CD-RW" |
#define CDRDAO_CDRW "CD-RW" |
| 64 |
#define CDRDAO_APPENDABLE "Appendable" |
#define CDRDAO_APPENDABLE "Appendable" |
| 65 |
#define CDRDAO_NA ": n/a" |
#define CDRDAO_NA ": n/a" |
| 66 |
#define CDRDAO_CD "CD" |
#define CDRDAO_CD "CD" |
| 67 |
|
#define SESSION_ZERO ": 0" |
|
/* |
|
|
static gchar *get_blank_type(Tgrave *Ag, gint Atypemedia) |
|
|
{ |
|
|
gboolean *Luseautoblank = (gboolean *) sc_grave_get_data(Ag, "useautoblank"); |
|
|
|
|
|
if (!*Luseautoblank || (!(Atypemedia & _MEDIA_CDRW))) return g_strdup(""); |
|
|
|
|
|
return g_strdup_printf("blank=%s", conf_get_boolean("fastblank") == TRUE ? "fast" : "all"); |
|
|
}*/ |
|
| 68 |
|
|
| 69 |
/* callback appele lorsque cdrdao grave les pistes */ |
/* callback appele lorsque cdrdao grave les pistes */ |
| 70 |
gboolean cdrdao_grave_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata) |
gboolean cdrdao_grave_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata) |
| 349 |
} |
} |
| 350 |
} |
} |
| 351 |
|
|
|
/* Lbuftitle = get_title(Lnbrgravure, Lcurcd, Ldosimul); |
|
|
gtk_label_set_text(GTK_LABEL(Ltitle), Lbuftitle); |
|
|
g_free(Lbuftitle);*/ |
|
|
|
|
| 352 |
/* faut il ejecter le CD-R apres l'operation ? |
/* faut il ejecter le CD-R apres l'operation ? |
| 353 |
* oui si l'utilisateur a cocher la case "ejecter le cd" ou |
* oui si l'utilisateur a cocher la case "ejecter le cd" ou |
| 354 |
* si il faut realiser d'autre gravure sur d'autres CD-R */ |
* si il faut realiser d'autre gravure sur d'autres CD-R */ |
| 478 |
gint *Lpid = (gint *)sc_grave_get_data(Ag, "pid"); |
gint *Lpid = (gint *)sc_grave_get_data(Ag, "pid"); |
| 479 |
GString *Loutput; |
GString *Loutput; |
| 480 |
gchar *Lcdprg = conf_get_string("cdrdao"); |
gchar *Lcdprg = conf_get_string("cdrdao"); |
| 481 |
|
gboolean Lskipnocd = FALSE; |
| 482 |
|
|
| 483 |
if (!Lcdprg || !*Lcdprg) return 0; |
if (!Lcdprg || !*Lcdprg) return 0; |
| 484 |
|
|
| 485 |
g_snprintf(Lcommandline, sizeof(Lcommandline)-1, "%s disk-info --device %s", Lcdprg, DRIVE_DEV(Adevice)); |
g_snprintf(Lcommandline, sizeof(Lcommandline)-1, "%s disk-info --device %s", Lcdprg, DRIVE_DEV(Adevice)); |
| 486 |
_DEB("execution de [%s]\n", Lcommandline); |
_DEB("execution de [%s]", Lcommandline); |
| 487 |
if (!g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror)) return 0; |
if (!g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror)) return 0; |
| 488 |
|
|
| 489 |
|
|
| 527 |
for (i=0; Larrbuf[i]; i++) { |
for (i=0; Larrbuf[i]; i++) { |
| 528 |
if (!*Larrbuf[i]) continue; |
if (!*Larrbuf[i]) continue; |
| 529 |
if (!strncmp(Larrbuf[i], CDRDAO_CDRW, strlen(CDRDAO_CDRW))) { |
if (!strncmp(Larrbuf[i], CDRDAO_CDRW, strlen(CDRDAO_CDRW))) { |
| 530 |
|
_DEB("cdrdao1 => '%s'", Larrbuf[i]); |
| 531 |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
| 532 |
Llu += _MEDIA_CDRW; |
Llu += _MEDIA_CDRW; |
| 533 |
} |
} |
| 534 |
} else if (!strncmp(Larrbuf[i], CDRDAO_TOCTYPE, strlen(CDRDAO_TOCTYPE))) { |
} else if (!strncmp(Larrbuf[i], CDRDAO_TOCTYPE, strlen(CDRDAO_TOCTYPE))) { |
| 535 |
|
_DEB("cdrdao2 => '%s'", Larrbuf[i]); |
| 536 |
if (strstr(Larrbuf[i], CDRDAO_CD)) { |
if (strstr(Larrbuf[i], CDRDAO_CD)) { |
| 537 |
Llu += _MEDIA_CD; |
Llu += _MEDIA_CD; |
| 538 |
} |
} |
| 539 |
} else if (!strncmp(Larrbuf[i], CDRDAO_CDR, strlen(CDRDAO_CDR))) { |
} else if (!strncmp(Larrbuf[i], CDRDAO_CDR, strlen(CDRDAO_CDR))) { |
| 540 |
|
_DEB("cdrdao3 => '%s'", Larrbuf[i]); |
| 541 |
if (!strstr(Larrbuf[i], CDRDAO_NA)) { |
if (!strstr(Larrbuf[i], CDRDAO_NA)) { |
| 542 |
Llu += _MEDIA_CDR; |
Llu += _MEDIA_CDR; |
| 543 |
|
} else { |
| 544 |
|
Lskipnocd = TRUE; |
| 545 |
} |
} |
| 546 |
} else if (!strncmp(Larrbuf[i], CDRDAO_EMPTY, strlen(CDRDAO_EMPTY))) { |
} else if (!strncmp(Larrbuf[i], CDRDAO_EMPTY, strlen(CDRDAO_EMPTY))) { |
| 547 |
|
_DEB("cdrdao4 => '%s'", Larrbuf[i]); |
| 548 |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
| 549 |
Llu += _MEDIA_BLANK; |
Llu += _MEDIA_BLANK; |
| 550 |
} else { |
} else { |
| 551 |
Llu += _MEDIA_NOBLANK; |
Llu += _MEDIA_NOBLANK; |
| 552 |
} |
} |
| 553 |
} else if (!strncmp(Larrbuf[i], CDRDAO_APPENDABLE, strlen(CDRDAO_APPENDABLE))) { |
} else if (!strncmp(Larrbuf[i], CDRDAO_APPENDABLE, strlen(CDRDAO_APPENDABLE))) { |
| 554 |
|
_DEB("cdrdao5 => '%s'", Larrbuf[i]); |
| 555 |
if (!strstr(Larrbuf[i], CDRDAO_NO)) { |
if (!strstr(Larrbuf[i], CDRDAO_NO)) { |
| 556 |
Llu += _MEDIA_APPENDABLE; |
Llu += _MEDIA_APPENDABLE; |
| 557 |
} |
} |
| 558 |
|
} else if (!strncmp(Larrbuf[i], CDRDAO_SESSIONS, strlen(CDRDAO_SESSIONS))) { |
| 559 |
|
_DEB("cdrdao6 => '%s'", Larrbuf[i]); |
| 560 |
|
if (!strstr(Larrbuf[i], SESSION_ZERO)) { |
| 561 |
|
Lskipnocd = FALSE; |
| 562 |
|
} |
| 563 |
} |
} |
| 564 |
} |
} |
| 565 |
|
|
| 566 |
g_strfreev(Larrbuf); |
g_strfreev(Larrbuf); |
| 567 |
|
|
| 568 |
return Llu; |
return Lskipnocd ? _MEDIA_NONE : Llu; |
| 569 |
} |
} |
| 570 |
|
|
| 571 |
|
|