Beispiel #1
0
 private void iniciarModoStream()
 {
     try
     {
         Log.Instance.ImprimirMensaje("Intentando conectar cuenta de Spotify", TipoMensaje.Info, "Spotify.iniciarModoStream()");
         Programa.HayInternet(true);
         Stopwatch crono = Stopwatch.StartNew();
         auth = new AuthorizationCodeAuth(
             clavePublica,
             clavePrivada,
             "http://localhost:4002/",
             "http://localhost:4002/",
             Scope.UserReadEmail | Scope.UserReadPrivate | Scope.Streaming | Scope.UserReadPlaybackState
             );
         auth.AuthReceived += (sender, payload) =>
         {
             auth.Stop();
             Token token = auth.ExchangeCode(payload.Code).Result;
             tokenActual = token;
             _spotify    = new SpotifyWebAPI()
             {
                 TokenType   = token.TokenType,
                 AccessToken = token.AccessToken
             };
             crono.Stop();
             if (_spotify.AccessToken != null)
             {
                 cuentaLista     = true;
                 cuentaVinculada = true;
                 Programa.config.AppSettings.Settings["VinculadoConSpotify"].Value = "true";
                 Log.Instance.ImprimirMensaje("Conectado sin errores como " + _spotify.GetPrivateProfile().DisplayName, TipoMensaje.Correcto, crono);
             }
             else
             {
                 cuentaLista     = false;
                 cuentaVinculada = false;
                 Log.Instance.ImprimirMensaje("Se ha conectado pero el token es nulo", TipoMensaje.Error, crono);
                 Programa.config.AppSettings.Settings["VinculadoConSpotify"].Value = "false";
             }
             CodigoRefresco = token.RefreshToken;
             Programa.tareaRefrescoToken = new Thread(Programa.Refresco);
             Programa.tareaRefrescoToken.Start();
         };
         auth.Start();
         auth.OpenBrowser();
     }
     catch (NullReferenceException)
     {
         Programa.HayInternet(false);
         Console.WriteLine("Algo fue mal");
         System.Windows.Forms.MessageBox.Show(Programa.textosLocal.GetString("error_internet"));
     }
     catch (HttpRequestException)
     {
         Programa.HayInternet(false);
         Console.WriteLine("No tienes internet");
         System.Windows.Forms.MessageBox.Show(Programa.textosLocal.GetString("error_internet"));
     }
 }
Beispiel #2
0
        private void botonOkDoomer_Click(object sender, EventArgs e)
        {
            try//si está vacío pues guarda vacío
            {
                Log.Instance.ImprimirMensaje("Intentando guardar", TipoMensaje.Info);
                albumAEditar.artista = textBoxArtista.Text;
                albumAEditar.nombre  = textBoxTitulo.Text;
                albumAEditar.year    = Convert.ToInt16(textBoxAño.Text);
                string gn = comboBoxGeneros.SelectedItem.ToString();
                Genero g  = Programa.generos[Programa.findGeneroTraducido(gn)];
                albumAEditar.genero   = g;
                albumAEditar.caratula = labelRuta.Text;
                TimeSpan nuevaDuracion = new TimeSpan();
                albumAEditar.DirectorioSonido = labelDirectorioActual.Text;
                string[] uriSpotify = textBoxURISpotify.Text.Split(':');
                if (uriSpotify.Length == 3)
                {
                    albumAEditar.IdSpotify = (uriSpotify[2]);
                }
                else
                {
                    albumAEditar.IdSpotify = (textBoxURISpotify.Text);
                }
                foreach (Cancion c in albumAEditar.canciones)
                {
                    if (!c.Bonus)
                    {
                        nuevaDuracion += c.duracion;
                    }
                }
                albumAEditar.duracion = nuevaDuracion;
            }
            catch (NullReferenceException)
            {
                Log.Instance.ImprimirMensaje("Algún campo está vacío", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_vacio1"));
            }

            catch (FormatException)
            {
                Log.Instance.ImprimirMensaje("Formato incorrecto, no se guardará nada.", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_formato"));
                //throw;
            }
            catch (IndexOutOfRangeException)
            {
                Log.Instance.ImprimirMensaje("Formato incorrecto, no se guardará nada.", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_formato"));
            }
            visualizarAlbum nuevo = new visualizarAlbum(ref albumAEditar);

            nuevo.Show();
            Programa.refrescarVista();
            Close();
            Log.Instance.ImprimirMensaje("Guardado sin problema", TipoMensaje.Correcto);
        }
Beispiel #3
0
 private void digitalToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     Log.ImprimirMensaje("Abriendo desde fichero", TipoMensaje.Info);
     openFileDialog1.InitialDirectory = Environment.CurrentDirectory;
     openFileDialog1.Filter           = Programa.textosLocal.GetString("archivo") + " .csv (*.csv)|*.csv";
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         string fichero = openFileDialog1.FileName;
         Programa.cargarAlbumesCSV(fichero);
     }
 }
Beispiel #4
0
 private void guardarDiscos(string nombre, TipoGuardado tipoGuardado)
 {
     if (tipoGuardado == TipoGuardado.Digital)
     {
         Programa.GuardarDiscos(nombre, TipoGuardado.Digital);
     }
     else
     {
         Programa.GuardarDiscos(nombre, tipoGuardado, true);
     }
 }
Beispiel #5
0
 private void CargarCDToolStripMenuItem_Click(object sender, EventArgs e)
 {
     Log.ImprimirMensaje("Abriendo desde fichero", TipoMensaje.Info);
     openFileDialog1.InitialDirectory = Environment.CurrentDirectory;
     openFileDialog1.Filter           = Programa.textosLocal.GetString("archivo") + " .json (*.json)|*.json";
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         string fichero = openFileDialog1.FileName;
         Programa.cargarCDS(fichero);
     }
     cargarVista();
 }
Beispiel #6
0
        private void buttonPATH_Click(object sender, EventArgs e)
        {
            Log.Instance.ImprimirMensaje("Intentando buscar PATHS...", TipoMensaje.Info);
            DirectoryInfo directorioCanciones = new DirectoryInfo(albumAVisualizar.DirectorioSonido);

            foreach (FileInfo file in directorioCanciones.GetFiles())
            {
                string extension = Path.GetExtension(file.FullName);
                if (extension != ".ogg" && extension != ".mp3" && extension != ".flac")
                {
                    continue;
                }
                foreach (Cancion c in albumAVisualizar.canciones)
                {
                    try
                    {
                        LectorMetadatos LM = new LectorMetadatos(file.FullName);
                        if (LM.Evaluable() && c.titulo.ToLower() == LM.Titulo.ToLower() && c.album.artista.ToLower() == LM.Artista.ToLower())
                        {
                            c.PATH = file.FullName;
                            Log.Instance.ImprimirMensaje("PATH establecido correctamente", TipoMensaje.Correcto);
                            Log.Instance.ImprimirMensaje(c + " " + file.FullName, TipoMensaje.Correcto);
                            break;
                        }
                        else
                        {
                            if (file.FullName.ToLower().Contains(c.titulo.ToLower()))
                            {
                                c.PATH = file.FullName;
                                Log.Instance.ImprimirMensaje("PATH establecido correctamente", TipoMensaje.Correcto);
                                Log.Instance.ImprimirMensaje(c + " " + file.FullName, TipoMensaje.Correcto);
                                break;
                            }
                        }
                    }
                    catch (Exception)
                    {
                        Log.Instance.ImprimirMensaje("Ha habido un error al poner los PATHS...", TipoMensaje.Error);
                    }
                }
            }
            foreach (Cancion cancion in albumAVisualizar.canciones)
            {
                if (string.IsNullOrEmpty(cancion.PATH))
                {
                    Log.Instance.ImprimirMensaje("No se ha encontrado el fichero para " + cancion.titulo, TipoMensaje.Advertencia);
                }
            }
            Programa.GuardarPATHS();
        }
Beispiel #7
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();
        }
Beispiel #8
0
        public void insertarAlbumFromURI(string uri)
        {
            Log.Instance.ImprimirMensaje("Insertando álbum con URI " + uri, TipoMensaje.Info);
            Stopwatch crono = Stopwatch.StartNew();
            FullAlbum sa    = _spotify.GetAlbum(uri);

            try
            {
                procesarAlbum(sa);
            }
            catch (Exception)
            {
                return;
            }
            crono.Stop();
            Log.Instance.ImprimirMensaje("Añadido", TipoMensaje.Correcto, crono);
            Programa.refrescarVista();
        }
Beispiel #9
0
        private void SubIdioma_Click(object sender, EventArgs e)
        {
            var menu = sender as ToolStripMenuItem;

            Log.ImprimirMensaje("Cambiando idioma al" + menu.Text, TipoMensaje.Info);
            string idiomaNuevo = "";

            for (int i = 0; i < opcionesToolStripMenuItem.DropDownItems.Count; i++)
            {
                CultureInfo c = new CultureInfo(Programa.idiomas[i]);
                if (menu.Text == c.NativeName)
                {
                    idiomaNuevo = Programa.idiomas[i];
                }
            }
            Programa.cambiarIdioma(idiomaNuevo);
            ponerTextos();
            Reproductor.Instancia.RefrescarTextos();
        }
Beispiel #10
0
        private async void iniciar()
        {
            Log.Instance.ImprimirMensaje("Intentando con Spotify asíncronamente", TipoMensaje.Info, "Spotify.iniciar()");
            Stopwatch crono = Stopwatch.StartNew();

            Programa.HayInternet(false);
            try
            {
                CredentialsAuth authMetadatos = new CredentialsAuth(clavePublica, clavePrivada);
                Token           token         = await authMetadatos.GetToken();

                _spotify = new SpotifyWebAPI()
                {
                    TokenType   = token.TokenType,
                    AccessToken = token.AccessToken
                };
                crono.Stop();
                if (_spotify.AccessToken != null)
                {
                    Programa.HayInternet(true);
                    Log.Instance.ImprimirMensaje("Conectado sin errores", TipoMensaje.Correcto, crono);
                }
                else
                {
                    Programa.HayInternet(false);
                    Log.Instance.ImprimirMensaje("Se ha conectado pero el token es nulo", TipoMensaje.Error, crono);
                }
            }
            catch (NullReferenceException)
            {
                Programa.HayInternet(false);
                Log.Instance.ImprimirMensaje("No se ha podido conectar con Spotify", TipoMensaje.Error);
                System.Windows.Forms.MessageBox.Show(Programa.textosLocal.GetString("error_internet"));
            }
            catch (HttpRequestException)
            {
                Programa.HayInternet(false);
                Log.Instance.ImprimirMensaje("No se ha podido conectar con Spotify", TipoMensaje.Error);
                System.Windows.Forms.MessageBox.Show(Programa.textosLocal.GetString("error_internet"));
            }
        }
Beispiel #11
0
        private void add_Click(object sender, EventArgs e)
        {
            string titulo, artista;
            bool   cancelado = false;
            short  year, nC;

            try
            {
                titulo  = tituloTextBox.Text;
                artista = artistaTextBox.Text;
                int    gn   = comboBox1.SelectedIndex;
                string gent = comboBox1.SelectedItem.ToString();
                year = Convert.ToInt16(yearTextBox.Text);
                nC   = Convert.ToInt16(numCancionesTextBox.Text);
                Genero g = Programa.generos[Programa.findGeneroTraducido(gent)];
                Album  a = null;
                if (caratula == "")
                {
                    a = new Album(g, titulo, artista, year, nC, "");
                }
                else
                {
                    a = new Album(g, titulo, artista, year, nC, caratula);
                }
                Programa.miColeccion.agregarAlbum(ref a);
                DialogResult cancelar = DialogResult.OK;
                for (int i = 0; i < nC; i++)
                {
                    agregarCancion agregarCancion = new agregarCancion(ref a, i);
                    Hide();
                    cancelar = agregarCancion.ShowDialog();
                    if (cancelar == DialogResult.Cancel)
                    {
                        Log.Instance.ImprimirMensaje("Cancelado el proceso de añadir álbum", TipoMensaje.Advertencia);
                        Programa.miColeccion.quitarAlbum(ref a);
                        Close();
                        cancelado = true;
                        break;
                    }
                    else if (cancelar == DialogResult.None)
                    {
                        continue;
                    }
                }
                if (!cancelado)
                {
                    Log.Instance.ImprimirMensaje(artista + " - " + titulo + " agregado correctamente", TipoMensaje.Correcto);
                }
                Programa.refrescarVista();
                Close();
            }
            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;
            }
        }
Beispiel #12
0
 private void guardarCSVToolStripMenuItem_Click(object sender, EventArgs e)
 {
     Programa.GuardarDiscos("discosCSV.csv", TipoGuardado.Digital);
     MessageBox.Show("Done!");
 }