예제 #1
0
 public visualizarAlbum(ref DiscoCompacto cd)
 {
     InitializeComponent();
     CDaVisualizar = cd;
     buttonPATH.Hide();
     albumAVisualizar = cd.Album;
     numDisco         = 1;
     infoAlbum.Text   = Programa.textosLocal.GetString("artista") + ": " + cd.Album.artista + Environment.NewLine +
                        Programa.textosLocal.GetString("titulo") + ": " + cd.Album.nombre + Environment.NewLine +
                        Programa.textosLocal.GetString("año") + ": " + cd.Album.year + Environment.NewLine +
                        Programa.textosLocal.GetString("duracion") + ": " + cd.Album.duracion.ToString() + Environment.NewLine +
                        Programa.textosLocal.GetString("genero") + ": " + cd.Album.genero.traducido + Environment.NewLine +
                        Programa.textosLocal.GetString("formato") + ": " + Programa.textosLocal.GetString(cd.FormatoCD.ToString()) + Environment.NewLine +
                        Programa.textosLocal.GetString("añoPublicacion") + ": " + cd.YearRelease + Environment.NewLine +
                        Programa.textosLocal.GetString("paisPublicacion") + ":" + cd.PaisPublicacion + Environment.NewLine +
                        Programa.textosLocal.GetString("estado_exterior") + ": " + Programa.textosLocal.GetString(cd.EstadoExterior.ToString()) + Environment.NewLine;
     labelEstadoDisco.Text = Programa.textosLocal.GetString("estado_medio") + " " + numDisco + ": " + Programa.textosLocal.GetString(cd.Discos[0].EstadoDisco.ToString()) + Environment.NewLine;
     if (cd.Album.caratula != "")
     {
         Image caratula = Image.FromFile(cd.Album.caratula);
         vistaCaratula.Image    = caratula;
         vistaCaratula.SizeMode = PictureBoxSizeMode.StretchImage;
     }
     lvwColumnSorter = new ListViewItemComparer();
     vistaCanciones.ListViewItemSorter = lvwColumnSorter;
     vistaCanciones.View           = View.Details;
     vistaCanciones.MultiSelect    = true;
     duracionSeleccionada.AutoSize = true;
     barraAbajo.Font = new Font("Segoe UI", 9);
     Controls.Add(barraAbajo);
     ponerTextos();
     cargarVista();
 }
예제 #2
0
 public Anotaciones(ref DiscoCompacto cd)
 {
     InitializeComponent();
     this.cd        = cd;
     textBox1.Lines = cd.Anotaciones;
     buttonOk.Text  = Programa.textosLocal.GetString("hecho");
 }
예제 #3
0
 /// <summary>
 /// Constructor para crear un segundo, tercer CD
 /// </summary>
 /// <param name="cdd">CD original</param>
 /// <param name="n">número del disco, en el caso de editar es disco 1, 2...</param>
 /// <param name="edit">configura el formulario para la edición</param>
 public CrearCD(ref DiscoCompacto cdd, short n, bool edit = false)
 {
     InitializeComponent();
     NDisco = n;
     album  = cdd.Album;
     cd     = cdd;
     if (n > 1 && !edit)
     {
         labelFormato.Hide();
         comboBoxFormatoCD.Hide();
         labelAñoPublicacion.Hide();
         comboBoxEstadoExterior.Hide();
         labelEstadoExterior.Hide();
         labelAñoPublicacion.Hide();
         labelPaisPublicacion.Hide();
         textBoxPais.Hide();
         textBoxAño.Hide();
         numericUpDownNumCanciones.Maximum = album.numCanciones - cdd.Discos[0].NumCanciones;
         numericUpDownNumCanciones.Value   = numericUpDownNumCanciones.Maximum;
         Log.Instance.ImprimirMensaje("Creando otro CD con un máximo de " + numericUpDownNumCanciones.Maximum, TipoMensaje.Info);
     }
     else if (edit)
     {
         Log.Instance.ImprimirMensaje("Editando CD", TipoMensaje.Info);
         this.edit = true;
         comboBoxFormatoCD.SelectedItem      = cdd.FormatoCD;
         comboBoxEstadoMedio.SelectedItem    = cdd.Discos[n - 1].EstadoDisco;
         comboBoxEstadoExterior.SelectedItem = cdd.EstadoExterior;
         numericUpDownNumCanciones.Value     = cdd.Discos[n - 1].NumCanciones;
         textBoxAño.Text  = cd.YearRelease.ToString();
         textBoxPais.Text = cd.PaisPublicacion;
     }
     PonerTextos();
 }
예제 #4
0
 public void devolverAlbum(string s, out DiscoCompacto cd)
 {
     cd = null;
     String[] busqueda = s.Split('_');
     foreach (DiscoCompacto cdd in cds)
     {
         if (cdd.Album.artista == busqueda[0] && cdd.Album.nombre == busqueda[1])
         {
             cd = cdd;
         }
     }
 }
예제 #5
0
        /// <summary>
        /// devuelve un cd por id, tal vez habria que cambiar la EEDD
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public DiscoCompacto getCDById(string i)
        {
            DiscoCompacto busqueda = null;

            for (int j = 0; j < cds.Count; j++)
            {
                if (i == cds[j].Id)
                {
                    busqueda = cds[j];
                }
            }
            return(busqueda);
        }
예제 #6
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            album.ProtegerBorrado();
            EstadoMedio exterior = (EstadoMedio)Enum.Parse(typeof(EstadoMedio), comboBoxEstadoExterior.SelectedIndex.ToString());
            EstadoMedio medio    = (EstadoMedio)Enum.Parse(typeof(EstadoMedio), comboBoxEstadoMedio.SelectedIndex.ToString());
            FormatoCD   formato  = (FormatoCD)Enum.Parse(typeof(FormatoCD), comboBoxFormatoCD.SelectedIndex.ToString());
            string      s        = album.artista + "_" + album.nombre;

            if (edit)
            {
                cd.FormatoCD = formato;
                cd.Discos[NDisco - 1].EstadoDisco = medio;
                cd.EstadoExterior = exterior;
                cd.Discos[NDisco - 1].NumCanciones = (short)numericUpDownNumCanciones.Value;
                cd.YearRelease     = Convert.ToInt16(textBoxAño.Text);
                cd.PaisPublicacion = textBoxPais.Text;
                visualizarAlbum nuevo = new visualizarAlbum(ref cd);
                Programa.refrescarVista();
                nuevo.Show();
            }
            else if (NC != album.numCanciones)
            {
                if (NDisco > 1)
                {
                    Disco nuevo = new Disco(Convert.ToInt16(numericUpDownNumCanciones.Value), medio);
                    cd.Discos[NDisco - 1] = nuevo;
                }
                else
                {
                    DiscoCompacto cd = new DiscoCompacto(s, Convert.ToInt16(numericUpDownNumCanciones.Value), medio, exterior, formato, numDiscos);
                    Programa.miColeccion.AgregarCD(ref cd);
                }
            }
            else
            {
                DiscoCompacto cd = null;
                try
                {
                    cd = new DiscoCompacto(s, album.numCanciones, medio, exterior, formato, Convert.ToInt16(textBoxAño.Text), textBoxPais.Text);
                }
                catch (Exception)
                {
                    cd = new DiscoCompacto(s, album.numCanciones, medio, exterior, formato, 0, textBoxPais.Text);
                }
                Programa.miColeccion.AgregarCD(ref cd);
                visualizarAlbum v = new visualizarAlbum(ref cd);
                v.Show();
            }
            Dispose();
        }
예제 #7
0
 public visualizarAlbum(ref Album a)
 {
     InitializeComponent();
     numDisco         = 0;
     albumAVisualizar = a;
     CDaVisualizar    = null;
     infoAlbum.Text   = Programa.textosLocal.GetString("artista") + ": " + a.artista + Environment.NewLine +
                        Programa.textosLocal.GetString("titulo") + ": " + a.nombre + Environment.NewLine +
                        Programa.textosLocal.GetString("año") + ": " + a.year + Environment.NewLine +
                        Programa.textosLocal.GetString("duracion") + ": " + a.duracion.ToString() + Environment.NewLine +
                        Programa.textosLocal.GetString("genero") + ": " + a.genero.traducido + Environment.NewLine +
                        "Localización: " + a.DirectorioSonido + Environment.NewLine;
     try
     {
         if (a.caratula != "")
         {
             Image caratula = Image.FromFile(a.caratula);
             vistaCaratula.Image    = caratula;
             vistaCaratula.SizeMode = PictureBoxSizeMode.StretchImage;
         }
     }
     catch (FileNotFoundException)
     {
         Log.Instance.ImprimirMensaje("No se encuentra la carátula", TipoMensaje.Advertencia);
         vistaCaratula.Image = Properties.Resources.albumdesconocido;
     }
     lvwColumnSorter = new ListViewItemComparer();
     vistaCanciones.ListViewItemSorter = lvwColumnSorter;
     vistaCanciones.View           = View.Details;
     vistaCanciones.MultiSelect    = true;
     duracionSeleccionada.AutoSize = true;
     barraAbajo.Font = new Font("Segoe UI", 10);
     Controls.Add(barraAbajo);
     labelEstadoDisco.Hide();
     if (albumAVisualizar != null && (albumAVisualizar.DirectorioSonido == "" || albumAVisualizar.DirectorioSonido == null))
     {
         buttonAnotaciones.Enabled = false;
     }
     if (string.IsNullOrEmpty(albumAVisualizar.DirectorioSonido))
     {
         buttonPATH.Enabled = false;
     }
     if (!Programa.SpotifyActivado)
     {
         reproducirspotifyToolStripMenuItem.Enabled = false;
     }
     ponerTextos();
     cargarVista();
 }
예제 #8
0
 public static void cargarCDS(string fichero = "cd.json")
 {
     if (!File.Exists(fichero))
     {
         return;
     }
     using (StreamReader lector = new StreamReader(fichero))
     {
         string linea;
         while (!lector.EndOfStream)
         {
             linea = lector.ReadLine();
             DiscoCompacto cd = JsonConvert.DeserializeObject <DiscoCompacto>(linea);
             cd.InstallAlbum();
             miColeccion.AgregarCD(ref cd);
             cd.Album.ProtegerBorrado();
         }
     }
 }
예제 #9
0
        private void generarAlbumToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Log.ImprimirMensaje("Generando álbum al azar", TipoMensaje.Info);
            Stopwatch crono = Stopwatch.StartNew();

            if (vistaAlbumes.Items.Count == 0)
            {
                crono.Stop();
                Log.ImprimirMensaje("Cancelado por no haber álbumes", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_noAlbumes"), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            Random generador = new Random();

            switch (TipoVista)
            {
            case TipoVista.Digital:
                int             ganador = generador.Next(0, Programa.miColeccion.albumes.Count);
                Album           a       = Programa.miColeccion.albumes[ganador];
                visualizarAlbum vistazo = new visualizarAlbum(ref a);
                vistazo.Show();
                break;

            case TipoVista.CD:
                int             ganadorCD = generador.Next(0, Programa.miColeccion.cds.Count);
                DiscoCompacto   cd        = Programa.miColeccion.cds[ganadorCD];
                visualizarAlbum vistazocd = new visualizarAlbum(ref cd);
                vistazocd.Show();
                break;

            case TipoVista.Vinilo:
                break;

            default:
                break;
            }
            crono.Stop();
            Log.ImprimirMensaje("Generado", TipoMensaje.Correcto, crono);
        }
예제 #10
0
        private void crearCDToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string seleccion = vistaAlbumes.SelectedItems[0].SubItems[0].Text + "_" + vistaAlbumes.SelectedItems[0].SubItems[1].Text;
            Album  a         = Programa.miColeccion.devolverAlbum(seleccion);

            if (a.duracion.TotalMinutes < 80)
            {
                CrearCD formCD = new CrearCD(ref a);
                formCD.Show();
            }
            else
            {
                short   numDiscos = (short)Math.Ceiling((a.duracion.TotalMinutes / 80));
                CrearCD fCD       = new CrearCD(ref a, numDiscos);
                fCD.ShowDialog();
                for (short i = 2; i <= numDiscos; i++)
                {
                    DiscoCompacto temp   = Programa.miColeccion.cds.Last();
                    CrearCD       formCD = new CrearCD(ref temp, i);
                    formCD.ShowDialog();
                }
            }
        }
예제 #11
0
 public void BorrarCD(ref DiscoCompacto cual)
 {
     cds.Remove(cual);
 }
예제 #12
0
 public void AgregarCD(ref DiscoCompacto cd)
 {
     cds.Add(cd);
 }
예제 #13
0
        private void borrarAlbumesSeleccionados(TipoVista tipoVista)
        {
            Stopwatch crono = Stopwatch.StartNew();

            borrando = true;
            int cuantos = vistaAlbumes.SelectedItems.Count;

            ListViewItem[] itemsABorrar = new ListViewItem[cuantos];
            switch (tipoVista)
            {
            case TipoVista.Digital:
                Log.ImprimirMensaje("Borrando " + cuantos + " álbumes", TipoMensaje.Info);
                for (int i = 0; i < cuantos; i++)
                {
                    itemsABorrar[i] = vistaAlbumes.SelectedItems[i];
                }
                for (int i = 0; i < cuantos; i++)
                {
                    try
                    {
                        string q = vistaAlbumes.SelectedItems[i].SubItems[0].Text + "_" + vistaAlbumes.SelectedItems[i].SubItems[1].Text;     //artista_titulo
                        Album  a = Programa.miColeccion.devolverAlbum(q);
                        Programa.miColeccion.quitarAlbum(ref a);
                    }
                    catch (InvalidOperationException)
                    {
                        Log.ImprimirMensaje("Hubo un error borrando.", TipoMensaje.Error, "principal.borrarAlbumesSeleccionados(TipoVista)");
                        MessageBox.Show(Programa.textosLocal.GetString("errorBorrado"));
                        continue;
                    }
                }
                for (int j = 0; j < cuantos; j++)
                {
                    vistaAlbumes.Items.Remove(itemsABorrar[j]);
                }
                break;

            case TipoVista.CD:
                Log.ImprimirMensaje("Borrando " + vistaAlbumes.SelectedItems.Count + " CD", TipoMensaje.Info);
                for (int i = 0; i < cuantos; i++)
                {
                    itemsABorrar[i] = vistaAlbumes.SelectedItems[i];
                }
                for (int i = 0; i < cuantos; i++)
                {
                    DiscoCompacto cdaborrar = Programa.miColeccion.getCDById(vistaAlbumes.SelectedItems[i].SubItems[5].Text);
                    DiscoCompacto cdd       = cdaborrar;
                    Programa.miColeccion.BorrarCD(ref cdaborrar);
                    cdd.Album.LevantarBorrado();
                    foreach (DiscoCompacto cd in Programa.miColeccion.cds)
                    {
                        if (cd.Album == cdd.Album)
                        {
                            cd.Album.ProtegerBorrado();
                        }
                    }
                }
                for (int i = 0; i < cuantos; i++)
                {
                    vistaAlbumes.Items.Remove(itemsABorrar[i]);
                }
                break;

            case TipoVista.Vinilo:
                break;

            default:
                break;
            }
            borrando = false;
            duracionSeleccionada.Text = Programa.textosLocal.GetString("dur_total") + ": 00:00:00";
            vistaAlbumes.Refresh();
            crono.Stop();
            Log.ImprimirMensaje("Borrado completado en " + crono.ElapsedMilliseconds + "ms", TipoMensaje.Correcto);
        }