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); }
private void fusionarToolStripMenuItem_Click(object sender, EventArgs e) { if (vistaCanciones.SelectedItems.Count == 1) { MessageBox.Show(Programa.textosLocal.GetString("error_fusionsingular")); return; } int num = vistaCanciones.SelectedItems[0].Index; List <Cancion> cancionesABorrar = new List <Cancion>(); CancionLarga cl = new CancionLarga(); cl.SetAlbum(albumAVisualizar); cl.titulo = albumAVisualizar.getCancion(num).titulo; foreach (ListViewItem cancionItem in vistaCanciones.SelectedItems) { int i = cancionItem.Index; Cancion c = albumAVisualizar.getCancion(i); cl.addParte(ref c); cancionesABorrar.Add(c); } albumAVisualizar.agregarCancion(cl, num); //should work... foreach (Cancion c in cancionesABorrar) { albumAVisualizar.QuitarCancion(c); } refrescarVista(); }
public ErrorResponse ReproducirCancion(string uri, CancionLarga cl) { FullAlbum album = _spotify.GetAlbum(uri); List <string> uris = new List <string>(); foreach (Cancion parte in cl.Partes) { uris.Add("spotify:track:" + DevolverCancionDelAlbum(uri, parte.titulo)); } return(_spotify.ResumePlayback(uris: uris, offset: "", positionMs: 0)); }
private void defusionarToolStripMenuItem_Click(object sender, EventArgs e) { ListViewItem item = vistaCanciones.SelectedItems[0]; int num = item.Index; if (!(albumAVisualizar.canciones[num] is CancionLarga)) { MessageBox.Show(Programa.textosLocal.GetString("error_defusion")); return; } CancionLarga cl = (CancionLarga)albumAVisualizar.getCancion(num); foreach (Cancion parte in cl.Partes) { albumAVisualizar.agregarCancion(parte, num); num++; } albumAVisualizar.QuitarCancion(cl); refrescarVista(); }
public agregarCancion(ref CancionLarga l, int n, ref Album a) //crear parte de canción larga { Log.Instance.ImprimirMensaje("Creando parte de canción larga", TipoMensaje.Info); Stopwatch crono = Stopwatch.StartNew(); InitializeComponent(); cancionlarga = l; cual = n; editar = false; larga = true; album = a; textBoxNumPartes.Hide(); labelNumPartes.Hide(); esLarga.Hide(); np = 0; checkBoxBonus.Hide(); ponerTextos(); crono.Stop(); Log.Instance.ImprimirMensaje("Cargado", TipoMensaje.Correcto, crono); }
public agregarCancion(ref Album a, int n, bool l) //crear canción larga { Log.Instance.ImprimirMensaje("Creando canción con partes", TipoMensaje.Info); Stopwatch crono = Stopwatch.StartNew(); InitializeComponent(); larga = l; album = a; cual = n; editar = false; cancionlarga = null; ponerTextos(); label2.Hide(); labelMinutosSegundos.Hide(); secsTextBox.Hide(); minTextBox.Hide(); esLarga.Hide(); checkBoxBonus.Hide(); crono.Stop(); Log.Instance.ImprimirMensaje("Cargado", TipoMensaje.Correcto, crono); }
public agregarCancion(ref Album a, int n) //caso normal { Log.Instance.ImprimirMensaje("Creando canción", TipoMensaje.Info); Stopwatch crono = Stopwatch.StartNew(); InitializeComponent(); album = a; cual = n; editar = false; textBoxNumPartes.Hide(); labelNumPartes.Hide(); cancionlarga = null; np = 0; ConsejoEsLarga = new ToolTip(); ConsejoEsLarga.SetToolTip(esLarga, Programa.textosLocal.GetString("ayuda_larga")); ConsejoEsBonus = new ToolTip(); ConsejoEsBonus.SetToolTip(checkBoxBonus, Programa.textosLocal.GetString("esBonusAyuda")); ponerTextos(); crono.Stop(); Log.Instance.ImprimirMensaje("Cargado", TipoMensaje.Correcto, crono); }
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); } } } }
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 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; } }