En mi opinión, pagar 10 euros al mes para acceder al servicio y al completo catálogo de Spotify es cantidad más que suficiente y "justificada" para poder escuchar la música que ofrecen donde yo quiera y como quiera, no donde ellos autoricen ni donde su programa funcione.

Non-spanish visitors can read an automagically translated versión by Google here

Instalación

Justify es un programa hecho en Java, por lo que necesita una máquina virtual en su versión 1.6 o superior, así como acceso a Internet directo (sin proxies) para conectarse a los servidores de Spotify. Se garantiza que a fecha del 24 de marzo de 2011 la aplicación es compatible con el último protocolo de Spotify.

Uso

Justify require que poseas una cuenta Premium de Spotify. Es una restricción de la propia Spotify y de todas las librerías, tanto oficiales como open-source.

Recibe 4 parámetros: usuario, contraseña, dirección de Spotify y comando. La dirección puede ser de una pista concreta, un álbum o una lista de reproducción, accesibles desde el propio Spotify a través del menú contextual (botón derecho del ratón) y seleccionando "Copiar URI de Spotify". En el caso de una pista descargará la canción con el formato "<artista> - <titulo>.ogg", en el caso de un álbum descargará todas las canciones en un directorio llamado "<artista> - <titulo>", y en el caso de una lista de reproducción descargará todas las canciones en un directorio llamado "<creador> - <titulo>". Por defecto todas las canciones serán descargadas con la máxima calidad disponible que en su mayoría son 320kbps. Las pistas contendrán los metadatos asociados y todas estarán en formato OGG.

El comando puede contener tres valores: "download" para descargar la dirección de Spotify ya sea lista, álbum o pista, "download " igual que el anterior pero especificando que la descarga debe comenzar a partir de la pista número "", y "cover" para descargar la carátula asociada a la pista, álbum o lista de reproducción.

El formato de los nombres de pistas y directorios no se puede modificar a menos que se edite el código y unas constantes para tal efecto. En futuras versiones podrá ser configurable.

Ejemplos

Tipo Comando Efecto
Canción java -jar Justify.jar <usuario> <contraseña> spotify:track:0tP5ogrxKrIPKHHc0seuOr download Descarga la canción en el directorio actual con el nombre "U2 - With Or Without You.ogg"
Álbum java -jar Justify.jar <usuario> <contraseña> spotify:album:0cn6MHyx4YuZauaB7Pb66o download Crea el directorio "System Of A Down - Mesmerize" en el directorio actual y descarga cada canción dentro con el mismo formato que cualquier otra
Lista de reproducción java -jar Justify.jar <usuario> <contraseña> spotify:user:vyett:playlist:5bfFtYw2H4TU82eQzkgWQ3 download (elegida aleatoriamente de http://spotifyplaylists.co.uk) Crea el directorio "vyett - Cellectro" en el directorio actual y descarga cada canción dentro con el mismo formato que cualquier otra

¿Por qué?

Desde que se realizó ingeniería inversa del protocolo de Spotify, era cuestión de tiempo que alguien creara un programa que directamente descargase canciones. Los propios creadores de la librería Despotify, desaconsejan la creación de estos programas que pueden dañar a la empresa. Sin embargo yo no estoy de acuerdo. Se sigue necesitando una cuenta Premium para ello y eso siempre acaba benefiando. Los más perjudicados son legalmente las compañías discográficas que ven como el DRM de Spotify no sirve de nada, y 7digital, que no realizará las ventas esperadas. En mi opinión, pagar 10 euros al mes para acceder al servicio y al completo catálogo de Spotify es cantidad más que suficiente y "justificada" para poder escuchar la música que ofrecen donde yo quiera y como quiera, no donde ellos autoricen ni donde su programa funcione.

Para más información acerca del porqué, los autores de Despotify tienen un FAQ muy completo (en inglés): http://despotify.se/faq/

Descarga

Las líneas futuras (si las hay) contemplarán una interfaz gráfica donde poder buscar y visualizar los álbumes y listas de reproducción del usuario, y la flexibilidad a la hora de configurar la aplicación.

Lista de cambios

  • v0.1 (2010-02-28)
    • Versión inicial
  • v0.2 (2010-03-11)
    • Adaptado el código para la última versión de Jotify con fecha del 23 de febrero del 2010 y protocolo de Spotify
  • v0.3 (2010-08-26)
    • Integración de la librería Jotify en el código (actualmente abandonado)
    • Adaptado a la última versión del protocolo de Spotify
  • v0.4 (2011-03-24)
    • Corregido un fallo al descargar listas de reproducción
  • v0.5 (2011-10-27) por Klaxnek
    • Adaptado a la última versión del protocolo de Spotify
    • Añadida la opción para descargar carátulas
    • Integración con la librería JAudioTagger 2.0.4 para añadir los metadatos asociados a las canciones
  • v0.6 (2011-11-20) por Klaxnek
    • Cambio de la librería JAudioTagger a JVorbisComment
    • Adaptado a la última versión del protocolo de Spotify
    • Cambio en el nombre de las carátulas por "folder.jpg"

Agradecimientos y créditos

Todo el mérito va para los autores de Despotify, que consiguieron realizar ingeniería inversa del protocolo y realizar una implementación libre. Realmente es fascinante lo que han conseguido y estudiando su código no tengo más que rendirme ante su habilidad. También gran parte del mérito va para Felix Bruns, que ha portado la librería a la plataforma Java y sobre la que descansa Justify.

También tengo que agradecer especialmente a Klaxnek por mantener el código y añadir nuevas funcionalides en las últimas versiones.

Si te gusta Spotify, paga por él. Yo lo hago.