#include #include #include "gmencoder.h" int HayOrigen () { return medio_dvd.Analizado || medio_fichero.Analizado; } float DameAspecto () { float ret = 0; int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct()-1; ret = medio_dvd.AspectoNum[Titulo]; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { ret = medio_fichero.AspectoNum; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { ret = 0; } return ret; } void PonAspecto (float Aspecto) { int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct()-1; medio_dvd.AspectoNum[Titulo] = Aspecto; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { medio_fichero.AspectoNum = Aspecto; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { } } float DameFPS () { float ret = 0; int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct()-1; ret = medio_dvd.FPS[Titulo]; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { ret = medio_fichero.FPS; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { ret = 0; } return ret; } void PonFPS (float fps) { int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct()-1; medio_dvd.FPS[Titulo] = fps; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { medio_fichero.FPS = fps; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { } } int DameTiempo () { float ret = 0; int Titulo; int CapituloDe; int CapituloA; int i; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct()-1; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (strPrincipal.chkTodoTitulo))) { ret = medio_dvd.TiempoOrg[Titulo]; } else { /* Calculo de tiempos de capitulos */ CapituloDe = atoi ((char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbDeCapitulosDVD))); CapituloA = atoi ((char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbACapitulosDVD))); if (CapituloDe && CapituloA && CapituloDe <= CapituloA) { for (i = CapituloDe - 1; i <= CapituloA -1; i ++) { ret += medio_dvd.TiempoCap[Titulo][i]; } } } } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { ret = medio_fichero.TiempoOrg; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.chkTiemposA))) { ret = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(strPrincipal.spTiemposA)); } else { ret = 0; } } return ret; } void PonTiempo (int Tiempo) { int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.chkTodoTitulo))) { Titulo = TituloAct()-1; medio_dvd.TiempoOrg[Titulo] = Tiempo; } else { /* Calcular tiempo de Capitulo si no esta ya calculado */ } } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { medio_fichero.TiempoOrg = Tiempo; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { } } int DameY () { float ret = 0; int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct()-1; ret = medio_dvd.y[Titulo]; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { ret = medio_fichero.y; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { } return ret; } int DameX () { float ret = 0; int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct()-1; ret = medio_dvd.x[Titulo]; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { ret = medio_fichero.x; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { } return ret; } int GeneraOrigenDVD (char *Origen, int *Titulo, float *Aspecto) { char tmp[256]; GtkWidget *Aviso; strcpy (tmp, (char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbTitulosDVD))); if (!strcmp ("", (char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbTitulosDVD)))) { sprintf (tmp, _("You have specified DVD as source\nbut there is no title selected.\nDid you forgot to press \"Analyze DVD\"?")); Aviso = gnome_message_box_new (tmp, GNOME_MESSAGE_BOX_ERROR, GNOME_STOCK_BUTTON_OK, NULL, NULL); gtk_window_set_transient_for (GTK_WINDOW (Aviso), GTK_WINDOW (strPrincipal.winPrincipal)); gtk_window_set_position (GTK_WINDOW (Aviso), GTK_WIN_POS_CENTER); gnome_dialog_run (GNOME_DIALOG (Aviso)); return 1; } *Titulo = TituloAct()-1; *Aspecto = medio_dvd.AspectoNum[*Titulo]; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.chkTodoTitulo))) { sprintf (Origen, "-dvd %d -aid %d -dvd-device %s", TituloAct(), AudioAct(), CfgGen.DeviceDVD); } else { if (atoi ((char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbDeCapitulosDVD))) > atoi ((char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbACapitulosDVD)))) { sprintf (tmp, _("The initial chapter is greather than the end chapter")); Aviso = gnome_message_box_new (tmp, GNOME_MESSAGE_BOX_ERROR, GNOME_STOCK_BUTTON_OK, NULL, NULL); gtk_window_set_transient_for (GTK_WINDOW (Aviso), GTK_WINDOW (strPrincipal.winPrincipal)); gtk_window_set_position (GTK_WINDOW (Aviso), GTK_WIN_POS_CENTER); gnome_dialog_run (GNOME_DIALOG (Aviso)); return 1; } sprintf (Origen, "-dvd %d -aid %d -chapter %s-%s -dvd-device %s", TituloAct(), AudioAct(), (char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbDeCapitulosDVD)), (char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entCmbACapitulosDVD)), CfgGen.DeviceDVD); } return 0; } int GeneraOrigenFichero (char *Origen, float *Aspecto) { char tmp[256]; GtkWidget *Aviso; if (!medio_fichero.Analizado) { sprintf (tmp, _("You have specified file as source\nYou must specify a file an press \"Analyze File\"")); Aviso = gnome_message_box_new (tmp, GNOME_MESSAGE_BOX_ERROR, GNOME_STOCK_BUTTON_OK, NULL, NULL); gtk_window_set_transient_for (GTK_WINDOW (Aviso), GTK_WINDOW (strPrincipal.winPrincipal)); gtk_window_set_position (GTK_WINDOW (Aviso), GTK_WIN_POS_CENTER); gnome_dialog_run (GNOME_DIALOG (Aviso)); return 1; } *Aspecto = medio_fichero.AspectoNum; sprintf (Origen, "\"%s\"", (char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entFileFicheroEntrada))); return 0; } int GeneraOrigenTele (char *Origen, float *Aspecto) { char tmp[256]; GtkWidget *Aviso; if (!medio_tele.Analizado) { sprintf (tmp, _("You have specified tele as source\nYou must specify a file an press \"Analyze TV\"")); Aviso = gnome_message_box_new (tmp, GNOME_MESSAGE_BOX_ERROR, GNOME_STOCK_BUTTON_OK, NULL, NULL); gtk_window_set_transient_for (GTK_WINDOW (Aviso), GTK_WINDOW (strPrincipal.winPrincipal)); gtk_window_set_position (GTK_WINDOW (Aviso), GTK_WIN_POS_CENTER); gnome_dialog_run (GNOME_DIALOG (Aviso)); return 1; } sprintf (Origen, "%s", (char *) gtk_entry_get_text (GTK_ENTRY(strPrincipal.entParametrosTele))); return 0; } int GeneraOrigen (char *Origen, int *Titulo, float *Aspecto) { int retorno = 0; char tmp[512]; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { retorno = GeneraOrigenDVD (Origen, Titulo, Aspecto); } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { retorno = GeneraOrigenFichero (Origen, Aspecto); } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarTele))) { retorno = GeneraOrigenTele (Origen, Aspecto); } else { fprintf (stderr, _("There is no source selected\n")); } return retorno; } int BitrateOrigenV () { int Tiempo; int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct() - 1; Tiempo = medio_dvd.BitrateOrgV[Titulo]; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { Tiempo = medio_fichero.BitrateOrgV; } return Tiempo; } int BitrateOrigenA () { int Tiempo; int Titulo; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarDVD))) { Titulo = TituloAct() - 1; Tiempo = medio_dvd.BitrateOrgA[Titulo]; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(strPrincipal.rbtUsarFichero))) { Tiempo = medio_fichero.BitrateOrgA; } return Tiempo; }