public Cancion(Cancion c) { titulo = c.titulo; album = c.album; duracion = c.duracion; Bonus = c.Bonus; }
public agregarCancion(ref Cancion c) //editar { Log.Instance.ImprimirMensaje("Editando canción", TipoMensaje.Info); Stopwatch crono = Stopwatch.StartNew(); InitializeComponent(); cual = -1; esLarga.Hide(); cancion = c; editar = true; cancionlarga = null; tituloTextBox.Text = c.titulo; minTextBox.Text = c.duracion.Minutes.ToString(); secsTextBox.Text = c.duracion.Seconds.ToString(); if (c is CancionLarga) { minTextBox.Enabled = false; secsTextBox.Enabled = false; } esLarga.Hide(); labelNumPartes.Hide(); textBoxNumPartes.Hide(); ConsejoEsBonus = new ToolTip(); ConsejoEsBonus.SetToolTip(checkBoxBonus, Programa.textosLocal.GetString("esBonusAyuda")); if (c.Bonus) { checkBoxBonus.Checked = true; } np = 0; ponerTextos(); crono.Stop(); Log.Instance.ImprimirMensaje("Cargado", TipoMensaje.Correcto, crono); }
public void agregarCancion(Cancion c) { canciones.Add(c); if (!c.Bonus) { duracion += c.duracion; } numCanciones = (short)canciones.Count; }
public void agregarCancion(Cancion c, int cual) { canciones.Insert(cual, c); if (!c.Bonus) { duracion += c.duracion; } numCanciones = (short)canciones.Count; }
public void BorrarCancion(Cancion cancion) { if (!cancion.Bonus) { duracion -= cancion.duracion; } canciones.Remove(cancion); numCanciones--; }
public void ReproducirLista(ListaReproduccion lr) { ListaReproduccion = lr; ListaReproduccionPuntero = 0; Cancion c = lr[ListaReproduccionPuntero]; lrui = new ListaReproduccionUI(lr); ReproducirCancion(c); }
private void ListaReproduccionUI_DragDrop(object sender, DragEventArgs e) { Cancion c = null; if ((c = (Cancion)e.Data.GetData(typeof(Cancion))) != null) { listaReproduccion.AgregarCancion(c); Refrescar(); } }
private void vistaCanciones_MouseDoubleClick(object sender, MouseEventArgs e) //editar cancion { Log.Instance.ImprimirMensaje("Editando canción", TipoMensaje.Info); String text = vistaCanciones.SelectedItems[0].Text; Cancion cancionAEditar = albumAEditar.DevolverCancion(text); agregarCancion editarCancion = new agregarCancion(ref cancionAEditar); editarCancion.ShowDialog(); cargarVista(); Log.Instance.ImprimirMensaje("Guardado correctamente", TipoMensaje.Correcto); }
private void Shuffle(List <Cancion> list) { Random rng = new Random(); int n = list.Count; while (n > 1) { n--; int k = rng.Next(n + 1); Cancion valor = list[k]; list[k] = list[n]; list[n] = valor; } }
private void setBonusToolStripMenuItem_Click(object sender, EventArgs e) { foreach (ListViewItem item in vistaCanciones.SelectedItems) { Cancion c = albumAVisualizar.canciones[Convert.ToInt32(item.SubItems[0].Text) - 1]; albumAVisualizar.duracion -= c.duracion; c.Bonus = true; } visualizarAlbum vNew = new visualizarAlbum(ref albumAVisualizar); Dispose(); Close(); vNew.Show(); }
public Cancion DevolverCancion(string t) { Cancion c = null; int i = 0; c = canciones[i]; while (t != canciones[i].titulo) { i++; c = canciones[i]; } return(c); }
private void vistaCanciones_MouseDoubleClick(object sender, MouseEventArgs e) { int n = Convert.ToInt32(vistaCanciones.SelectedItems[0].SubItems[0].Text); Cancion c = albumAVisualizar.getCancion(n - 1); if (c is CancionLarga cl) { string infoDetallada = ""; for (int i = 0; i < cl.Partes.Count; i++) { infoDetallada += cl.GetNumeroRomano(i + 1) + ". "; infoDetallada += cl.Partes[i].titulo + " - " + cl.Partes[i].duracion; infoDetallada += Environment.NewLine; } MessageBox.Show(infoDetallada); } }
private void agregarCancion_KeyDown(object sender, KeyEventArgs e) { try { min = Convert.ToInt32(minTextBox.Text); sec = Convert.ToInt32(secsTextBox.Text); t = tituloTextBox.Text; Cancion c = new Cancion(t, new TimeSpan(0, min, sec), ref album); album.agregarCancion(c, cual); Log.Instance.ImprimirMensaje(t + " añadido correctamente", TipoMensaje.Correcto); } catch (Exception ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK); Log.Instance.ImprimirMensaje(ex.Message, TipoMensaje.Error); } Close(); }
private void vistaCanciones_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { ListViewItem[] itemsborrar = new ListViewItem[vistaCanciones.SelectedItems.Count]; int i = 0; foreach (ListViewItem item in vistaCanciones.SelectedItems) { Cancion cancionABorrar = albumAEditar.DevolverCancion(item.Text); albumAEditar.BorrarCancion(cancionABorrar); itemsborrar[i] = item; i++; } foreach (var item in itemsborrar) { vistaCanciones.Items.Remove(item); } } }
private void clickDerechoConfig_Opening(object sender, System.ComponentModel.CancelEventArgs e) { defusionarToolStripMenuItem.Visible = true; fusionarToolStripMenuItem.Visible = true; int i = vistaCanciones.SelectedItems[0].Index; Cancion seleccion = albumAVisualizar.getCancion(i); if (vistaCanciones.SelectedItems.Count > 1) { defusionarToolStripMenuItem.Visible = false; } if (!(seleccion is CancionLarga)) { defusionarToolStripMenuItem.Visible = false; } else { fusionarToolStripMenuItem.Visible = false; } }
private void vistaCanciones_SelectedIndexChanged_1(object sender, EventArgs e) { TimeSpan seleccion = new TimeSpan(); foreach (ListViewItem cancion in vistaCanciones.SelectedItems) { if (CDaVisualizar != null && CDaVisualizar.Discos.Length > 1) { Cancion can = albumAVisualizar.getCancion(cancion.SubItems[1].Text); seleccion += can.duracion; } else { int c = Convert.ToInt32(cancion.SubItems[0].Text); c--; Cancion can = albumAVisualizar.getCancion(c); seleccion += can.duracion; } } duracionSeleccionada.Text = Programa.textosLocal.GetString("dur_total") + ": " + seleccion.ToString(); }
private void reproducirspotifyToolStripMenuItem_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(albumAVisualizar.IdSpotify)) { Cancion seleccion = albumAVisualizar.getCancion(vistaCanciones.SelectedItems[0].Index); if (!(seleccion is CancionLarga)) { SpotifyAPI.Web.Models.ErrorResponse err = Programa._spotify.ReproducirCancion(albumAVisualizar.IdSpotify, vistaCanciones.SelectedItems[0].Index); if (err.Error != null && err.Error.Message != null) { MessageBox.Show(err.Error.Message); } } else { CancionLarga cl = (CancionLarga)seleccion; SpotifyAPI.Web.Models.ErrorResponse err = Programa._spotify.ReproducirCancion(albumAVisualizar.IdSpotify, cl); if (err.Error != null && err.Error.Message != null) { MessageBox.Show(err.Error.Message); } } } }
private void button1_Click(object sender, EventArgs e) { try { if (!larga && cancionlarga == null) //caso normal { min = Convert.ToInt32(minTextBox.Text); sec = Convert.ToInt32(secsTextBox.Text); t = tituloTextBox.Text; bonus = checkBoxBonus.Checked; if (editar) //si edita { cancion.titulo = t; cancion.duracion = new TimeSpan(0, min, sec); cancion.Bonus = bonus; DialogResult = DialogResult.OK; Close(); } else { Cancion c = new Cancion(t, new TimeSpan(0, min, sec), ref album, bonus); if (cual != 0) { album.agregarCancion(c, cual); } else { album.agregarCancion(c); } DialogResult = DialogResult.OK; Close(); } } else if (larga && cancionlarga == null) //caso de que creemos una cancion larga, sin partes { t = tituloTextBox.Text; min = sec = 0; np = Convert.ToInt32(textBoxNumPartes.Text); CancionLarga cl = new CancionLarga(t, ref album); album.agregarCancion(cl, cual); for (int i = 0; i < np; i++) { agregarCancion addParte = new agregarCancion(ref cl, i + 1, ref album); addParte.ShowDialog(); if (addParte.DialogResult == DialogResult.Cancel) { break; } else { DialogResult = DialogResult.OK; } } } else if (cancionlarga != null && larga == true)//parte de una cancion normal { t = tituloTextBox.Text; min = Convert.ToInt32(minTextBox.Text); sec = Convert.ToInt32(secsTextBox.Text); TimeSpan dur = new TimeSpan(0, min, sec); np = 0; Cancion p = new Cancion(t, dur, ref album); cancionlarga.addParte(ref p); DialogResult = DialogResult.OK; album.duracion += dur; } Dispose(); } catch (NullReferenceException ex) { Log.Instance.ImprimirMensaje(ex.Message, TipoMensaje.Error); MessageBox.Show(Programa.textosLocal.GetString("error_vacio1")); } catch (FormatException ex) { Log.Instance.ImprimirMensaje(ex.Message, TipoMensaje.Error); MessageBox.Show(Programa.textosLocal.GetString("error_formato")); //throw; } }
public void addParte(ref Cancion p) { Partes.Add(p); duracion += p.duracion; }
public static void cargarAlbumesCSV(string fichero) { Log.Instance.ImprimirMensaje("Cargando álbumes CSV almacenados en " + fichero, TipoMensaje.Info, "cargarAlbumesLegacy(string)"); Stopwatch crono = Stopwatch.StartNew(); //cargando CSV a lo bestia int lineaC = 1; using (StreamReader lector = new StreamReader(fichero)) { string linea; while (!lector.EndOfStream) { linea = lector.ReadLine(); while (linea == "") { linea = lector.ReadLine(); lineaC++; } if (linea == null) { continue; //si no hay nada tu sigue, que hemos llegado al final del fichero, después del nulo porque siempre al terminar un disco pongo línea nueva. } string[] datos = linea.Split(';'); if (datos.Length != 8) { Log.Instance.ImprimirMensaje("Error cargando el álbum. Revise la línea " + lineaC + " del fichero " + fichero, TipoMensaje.Error); MessageBox.Show("Error cargando el álbum. Revise la línea " + lineaC + " del fichero " + fichero, "", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(-1); } short nC = 0; int gen = findGenero(datos[4]); Genero g = Programa.generos[gen]; if (string.IsNullOrEmpty(datos[5])) { datos[5] = string.Empty; } Album a = null; try { nC = Convert.ToInt16(datos[3]); a = new Album(g, datos[0], datos[1], Convert.ToInt16(datos[2]), Convert.ToInt16(datos[3]), datos[5]); } catch (FormatException e) { Log.Instance.ImprimirMensaje("Error cargando el álbum. Revise la línea " + lineaC + " del fichero " + fichero, TipoMensaje.Error); MessageBox.Show("Error cargando el álbum. Revise la línea " + lineaC + " del fichero " + fichero, "", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(-1); } if (!string.IsNullOrEmpty(datos[6])) { a.SetSpotifyID(datos[6]); } if (!string.IsNullOrEmpty(datos[7])) { a.DirectorioSonido = datos[7]; } bool exito = false; for (int i = 0; i < nC; i++) { exito = false; linea = lector.ReadLine(); lineaC++; if (string.IsNullOrEmpty(linea)) { /*System.Windows.Forms.MessageBox.Show("mensajeError"+Environment.NewLine + a.nombre + " - " + a.nombre + Environment.NewLine + "saltarAlSiguiente", "error", System.Windows.Forms.MessageBoxButtons.OK);*/ break; //no sigue cargando el álbum } else { try { exito = true; string[] datosCancion = linea.Split(';'); if (datosCancion.Length == 3) { byte bonus = Convert.ToByte(datosCancion[2]); Cancion c = new Cancion(datosCancion[0], TimeSpan.FromSeconds(Convert.ToInt32(datosCancion[1])), ref a, Convert.ToBoolean(bonus)); a.agregarCancion(c, i); } else { CancionLarga cl = new CancionLarga(datosCancion[0], ref a); int np = Convert.ToInt32(datosCancion[1]); for (int j = 0; j < np; j++) { linea = lector.ReadLine(); lineaC++; datosCancion = linea.Split(';'); Cancion c = new Cancion(datosCancion[0], TimeSpan.FromSeconds(Convert.ToInt32(datosCancion[1])), ref a); cl.addParte(ref c); } a.agregarCancion(cl, i); } } catch (FormatException e) { Log.Instance.ImprimirMensaje("Error cargando el álbum. Revise la línea " + lineaC + " del fichero " + fichero, TipoMensaje.Error); MessageBox.Show("Error cargando el álbum. Revise la línea " + lineaC + " del fichero " + fichero, "", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(-1); } } } if (miColeccion.estaEnColeccion(a)) { exito = false; //pues ya está repetido. Log.Instance.ImprimirMensaje("Álbum repetido -> " + a.artista + " - " + a.nombre, TipoMensaje.Advertencia); } if (exito) { miColeccion.agregarAlbum(ref a); } a.LevantarBorrado(); lineaC++; } } crono.Stop(); Log.Instance.ImprimirMensaje("Cargados " + miColeccion.albumes.Count + " álbumes correctamente", TipoMensaje.Correcto, crono); refrescarVista(); }
private void vistaCanciones_ItemDrag(object sender, ItemDragEventArgs e) { Cancion cancion = albumAVisualizar.getCancion(vistaCanciones.SelectedItems[0].Index); vistaCanciones.DoDragDrop(cancion, DragDropEffects.Copy); }
private void reproducirToolStripMenuItem_Click(object sender, EventArgs e) { Cancion cancionAReproducir = albumAVisualizar.getCancion(vistaCanciones.SelectedItems[0].Index); Reproductor.Instancia.ReproducirCancion(cancionAReproducir); }
public void AgregarCancion(Cancion c) { Canciones.Add(c); }
public void QuitarCancion(Cancion c) { canciones.Remove(c); numCanciones--; duracion -= c.duracion; }