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 |
|
|
56 |
|
/* detection des media */ |
57 |
|
#define CDRDAO_CDRW "CD-RW" |
58 |
|
#define CDRDAO_YES "yes" |
59 |
|
#define CDRDAO_CDR "CD-R medium" |
60 |
|
#define CDRDAO_EMPTY "CD-R empty" |
61 |
|
|
62 |
static gchar *get_blank_type(Tgrave *Ag) |
static gchar *get_blank_type(Tgrave *Ag) |
63 |
{ |
{ |
64 |
gboolean *Luseautoblank = (gboolean *) sc_grave_get_data(Ag, "useautoblank"); |
gboolean *Luseautoblank = (gboolean *) sc_grave_get_data(Ag, "useautoblank"); |
463 |
} |
} |
464 |
|
|
465 |
|
|
466 |
|
/* retourne les infos sur le media inseré dans le lecteur */ |
467 |
|
gint get_cdinfo(gchar *Adevice, GError **Aerror) |
468 |
|
{ |
469 |
|
gchar Lcommandline[_BUF_SIZE]; |
470 |
|
gboolean Lstatus; |
471 |
|
gint Lexit = 0; |
472 |
|
gchar *Lout = NULL, *Lerr = NULL; |
473 |
|
gchar **Larrbuf; |
474 |
|
gint i; |
475 |
|
gint Llu = _MEDIA_NONE; |
476 |
|
|
477 |
|
g_snprintf(Lcommandline, sizeof(Lcommandline)-1, "%s disk-info --device %s", conf_get_string("cdrdao"), Adevice); |
478 |
|
|
479 |
|
Lstatus = g_spawn_command_line_sync(Lcommandline, &Lout, &Lerr, &Lexit, Aerror); |
480 |
|
|
481 |
|
if (Lstatus == FALSE || Lexit != 0) { |
482 |
|
g_free(Lout); g_free(Lerr); |
483 |
|
return FALSE; |
484 |
|
} |
485 |
|
|
486 |
|
Larrbuf = g_strsplit(Lout, "\n", 0); |
487 |
|
|
488 |
|
for (i=0; Larrbuf[i]; i++) { |
489 |
|
if (!*Larrbuf[i]) continue; |
490 |
|
|
491 |
|
if (!strncmp(Larrbuf[i], CDRDAO_CDRW, strlen(CDRDAO_CDRW))) { |
492 |
|
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
493 |
|
printf("ok c'est un CDRW ! \n"); |
494 |
|
Llu |= _MEDIA_CDRW; |
495 |
|
} |
496 |
|
} else if (!strncmp(Larrbuf[i], CDRDAO_CDR, strlen(CDRDAO_CDR))) { |
497 |
|
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
498 |
|
printf("ok c'est un CDR ! \n"); |
499 |
|
Llu |= _MEDIA_CDR; |
500 |
|
} |
501 |
|
} else if (!strncmp(Larrbuf[i], CDRDAO_EMPTY, strlen(CDRDAO_EMPTY))) { |
502 |
|
if (strstr(Larrbuf[i], CDRDAO_YES)) Llu &= _MEDIA_BLANK; |
503 |
|
} |
504 |
|
} |
505 |
|
|
506 |
|
g_strfreev(Larrbuf); |
507 |
|
|
508 |
|
return Llu; |
509 |
|
} |
510 |
|
|
511 |
|
|
512 |
/* |
/* |
513 |
* vim:et:ts=8:sts=2:sw=2 |
* vim:et:ts=8:sts=2:sw=2 |