Archivo por meses: marzo 2013

Asignar el número de pista (track number) a un MP3

 

Pues eso… que no sé si a ti te pasará, pero yo tengo "algunos" ficheros de música en formato MP3 que a pesar de haberlo convertido a partir de un CD original (ejem) no siempre se guarda la información completa en la cabecera del susodicho fichero MP3.

Y como la mayoría de los reproductores de MP3 suelen clasificar las canciones por el número de pista, si dicho valor no está asignado, pues… imagínate qué follón…

En vista que los dos (o tres) últimos smartphone que he tenido se empeñan en ordenar por el número de pista y harto de ir asignando manualmente dicho número, me he fabricado una pequeña utilidad (muy simple, ya verás) usando WPF (Windows Presentation Foundation) o lo que es lo mismo: utilizando un proyecto en XAML.

Este programa te permite seleccionar (o procesar) todos los ficheros .mp3 de una carpeta (o directorio) y asignar el número de pista según exista en el nombre del fichero la siguiente secuencia:
guión, cifra, guión
Por ejemplo si tenemos este fichero: Slade-02-Coz I Love You.mp3:
El número de pista es el número 2 y el título de la canción es "Coz I Love You".

Además, también te permite asignar el nombre del álbum y del autor/cantante.
Estos dos últimos datos se obtienen automáticamente de la canción elegida para indicar el directorio (ya que tienes que seleccionar un fichero .mp3 y así se sabe qué directorio quieres procesar). De todas formas, si ese fichero no tuviese los datos de la cabecera asignados puedes indicarlos de forma manual, ya que la aplicación asignará esos datos si las respectivas cajas de texto no están vacías.
En cuanto al nombre o título de la canción sólo lo asignará si marcamos la opción correspondiente.

Después te pongo los enlaces al código fuente (por ahora sólo para Visual Basic .NET).

 

La información del MP3 está en lo que se conoce como la cabecera del fichero MP3 (MP3 header) y en su día busqué en la web ejemplos de cómo obtener esa información y di con un fichero ZIP que contenía una clase de Visual Basic .NET precisamente para acceder a dicha cabecera.
Esa clase se llama MP3Info.vb y estaba contenida en un ZIP con el nombre vbmp3header_src.zip y la verdad es que no recuerdo de dónde la descargué. El autor supongo que es alemán ya que en el fichero AssemblyInfo.vb que se incluía también en el zip estaba en alemán, pero sin datos personales.

Nota:/Actualización
Haciendo una nueva búsqueda he dado con el artículo en Code Project en el que está ese fichero ZIP y como internamente coinciden las fechas, pues… debe ser de donde lo bajé o al menos ese debe ser el autor "de verdad".
Dicho artículo (enlace incluido) es: Read MP3 header information and read/write the ID3v1 tag

(By Thommy Mewes, 1 Mar 2005)

El fichero (MP3Info.vb) que yo he usado está modificado con respecto al original, así que, ese será el que te muestre con el código y que publicaré en pastebin.

 

 

Aquí tienes una captura del "formulario" en modo de diseño y el código (para Visual Basic) te lo dejo inicialmente en mi cuenta de pastebin, después si decido dejar el proyecto completo en algún otro sitio (por ejemplo en mi sitio de descargas) ya te informaré o mejor aún, ya pondré los enlaces correspondientes.

 

Asignar MP3 Track MainWindows
El formulario en modo de diseño

 

Como ves, no te muestro (código con los) detalles de lo que hace el programa… pero de todas formas la parte importante es (o debería ser) el código para acceder a la cabecera de los ficheros MP3.
De todas formas no sé si te pasará lo mismo que a mí con los ficheros MP3, pero si te pasa y quieres el ejecutable… me lo dices en los comentarios y ya te lo dejo por ahí en mi sitio de descargas.

Sea como sea, te pongo el código completo en pastebin y ya lo vas compilando y esas cosas…

Aquí tienes los enlaces individuales para que puedas usar el código creando un proyecto nuevo del tipo WPF:

 

¡Que asignes los números de pista bien! 😉

 

Nos vemos.
Guillermo

Lector RSS – wish list (lo que te gustaría que tuviese)

 

Pues eso… que seguramente en esta semana que viene me pondré a mejorar el lector de ficheros RSS que tengo publicado en la tienda de Windows 8, tanto la versión gratuita como la de pago (el/los enlace/s para acceder a la tienda de Windows desde el navegador sólo funcionará con Internet Explorer -creo-); por eso quisiera que si tienes en mente algo que podría añadir a dicha aplicación (o mejorar algo de lo que ya tiene) puedes decirlo en los comentarios de este "post".

 

Nota:
Por favor, que esos comentarios sólo sean relativos a la aplicación para la Tienda de Windows 8.
En caso de no serlos, además de ignorarlos "posiblemente" los elimine.
Gracias.

 

Por ejemplo, tengo pensado añadir las siguientes características:

-Importar los datos desde Google Reader (que desaparecerá en julio de este mismo año)
-Crear carpetas anidadas (necesario para poder importar correctamente los datos de Google Reader)
-Añadir un panel (en el lado izquierdo), que se pueda ocultar, en el que incluiría la lista de suscripciones (a los RSS). Ahora está en un desplegable en la parte superior.
Aunque no sé cómo organizaría las carpetas/contenido… lo de usar carpetas/niveles no me lo había planteado antes.
-Poder indicar si el contenido se muestra en el navegador usado en la aplicación o en el navegador predeterminado del usuario.

 

Seguramente se me ocurrirán más cosas conforme esté "trasteándolo" y haya gente que quiera ir testeándolo… 😉

 

Nos vemos.
Guillermo

popurrí de la semana… del 11 al 17 de marzo 2013

 

Pues eso… aquí te dejo los enlaces a las fotos y demás cosillas que he estado haciendo en esta semana desde el lunes 11 al domingo 17 de marzo…

 

Endomondo:

 

Fotos en Picasaweb:

 

Y esto es todo… la semana próxima más… espero…

 

Nos vemos.
Guillermo