(A kiemelt kép forrása.)

Nemrég átmentettem pár publikus Spotify playlist-et Rdio-ra a resp.in oldal használatával, mivel sokkal jobban tetszett az Rdio rádió funkciója. Valahogy jobban eltalálja, hogy minek kell következnie, nem tér le az irányvonalról annyira, mint a Spotify, mert ott már 2-3 zene után képes teljesen más stílust játszani, mint a kiindulási alap, még az Rdio konzisztensebb.

Az átmentett listák és a jobb rádió alapján azt gondoltam, hogy a Spotify felejtős lesz, de az Rdio Android app-ja annyira csapnivaló a Spotify app-jához képest, hogy egy hónap használat után úgy döntöttem, hogy visszaköltözök 😀

Mivel a korábban áthúzott listákat nem módosítottam, így csak az Rdio-n lájkolt számokat kellett valahogyan visszatölteni Spotify-ra. Sajnos a resp.in csak az egyik irányba tud mozgatni, így más szolgáltatásra lett szükség, amit az ivyishere.org képviseletében meg is leltem, ez tud Rdio-ból Spotify-ra menteni. Valójában nem tud 1-az-1-ben, de elvégzi helyettünk a munka nagy részét, a (néha hosszú órákra nyúló) kézi keresést.

A módszer

Röviden: Létrehozunk egy Chrome könyvjelzőt, konvertáljuk a találatokat, keresünk az ivy-vel, beillesztünk Spotify-on.

Hosszabban:

Github-on találtam ezt a javascript kódot (aztán később ezt a kódot is), amit átalakítottam kicsit, hogy collection helyett működjön playlist-re is. Íme, amit használnod kell:

javascript:(function() {
	var bookmarklet = {
		init: function() {
			this.parse();
		},
		parse: function() {
			page = "";

			/* You must be viewing a playlist ie. http://www.rdio.com/people/immanuelfactor/playlists/9385837/Liked_from_Rdio/
			when exporting a playlist and this will only export the songs loaded in view, 
			not the entire list, so scroll down as much as you can to load all the tracks. */
			$(".PlaylistPage .Collection") /*collection container*/
				.find(".info") /*track container*/
				.each(function() {
					line = [];
					function buildLine() {
						line.push("\"" + $(this).text() + "\"");
					}

					$(this).children(".name").children("a").each(buildLine); /*track name container*/
					$(this).children(".metadata").children("a").each(buildLine); /*atrist and album container*/
					page += line.join(",") + "\r\n";
			});
			window.open("data:text/plain;charset=utf-8," + encodeURIComponent(page), "");
		}
	};

	if (!window.jQuery) {
		load();
	} else {
		bookmarklet.init();
	}

	function load() {
		var script = document.createElement("script");
		script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
		script.async = true;
		script.type = "text/javascript";
		script.onload = function() { bookmarklet.init(); };
		document.body.appendChild(script);
	}
})();

Kicsit kusza a sortörések miatt, de le is töltheted ha úgy jobb:

Tedd vágólapra a fenti javascript kódot (jelöld ki, majd ctrl+c), és hozz létre Chrome-ban egy új könyvjelzőt (bookmark). Legegyszerűbb a könyvjelzőkezelőben, ehhez jobb felül a kis 3 vonalas ikonra kattints, Bookmarks menü és Bookmark manager (ctrl+shit+o).  A könyvjelzősáv mappáján jobbklikk, és adj hozzá egy új oldalt:

chrome

 

A könyvjelző nevének add meg pl. azt, hogy Rdio to Spotify, majd az URL helyére illeszd be a vágólapról a kódot (ctrl+v), és enter. Innentől ha a könyvjelzősávon erre a könyvjelzőre kattintasz, akkor lefuttatja a fenti kódot, amit mindjárt meg is teszünk.

Menj az Rdio playlist-edre (vagy valaki máséra 😀 ), amit exportálnál, és tekerj le legalulra. Mivel sok szám is lehet, addig tekerj, ameddig minden be nem tölt. Ha kész, és nincs több szám, akkor nyomd meg a létrehozott könyvjelzőt. A script lefut, kiszedi az oldalból a számokat, és egy új böngésző tab-on megnyitja szöveges formában. Valami ilyesmit kapsz, csak többet:

"Never Cry Again","Dash Berlin","The New Daylight"
"Always The Sun","Richard Durand","Always The Sun"
"Flight 101","Ernesto vs Bastian","The Incredible Apollo / Flight 101"
"I Am Your Shadow","Giuseppe Ottaviani","Magenta"
"Sacramentum (Andrew Rayel Aether Radio Edit)","Bobina with Andrew Rayel","Sacramentum"

Ez sorrendben a szám címe, előadója, és albuma.

Ha még nincs a gépeden Notepad++, akkor töltsd le innen, telepítsd, és nyisd meg. (Sublime vagy más reguláris kifejezéseket illesztő szerkesztő is jó, de most ez volt kéznél.) Hozz benne létre egy új üres fájlt, majd másold be a kapott új tab-on található zenelistát a programba. A Keresés menü Csere… (ctrl+h) opciójára lesz szükség. Ezt állítsd be, hogy mintaillesztéssel dolgozzon, és másold be a keresendő ill. csere erre mezőkbe ezt a két sort:

"(.*)","(.*)","(.*)"
\2 - \1

Ez kiszedi a szám címét az első helyről, az előadót a másodikról, megcseréli a kettőt, valamint eldobja az albumot, és kötőjellel választja el a kettőt. Az Összes cseréje gombbal futtatva a képen látható forma alakul ki:

Notepad++ beállítások

Ez a művelet azért volt fontos, mert az Ivy csak ezt ismeri fel. Tény, hogy már magát a javascript kódot is meg lehetett volna írni úgy, hogy ebben a formában adja a számokat, de ez általánosabb megoldás (és először én sem tudtam, hogy az Ivy-nek csak ez jó 😀 ).

Másold ki a kapott listát a Notepad++ból, és menj fel az Ivy oldalára. Kattints az importálásra:

ivy0

A copy/paste fülön illeszd be a listát, majd nyomj Upload-ot:

ivy1

Kiírja, hogy hány zenét talált a listában, és nyomj a Spotify this gombra:

ivy2

Megkeresi a zenéket Spotify-on, és kiírja, hogy hányat talált meg. Nekem 77/76 a találati arány, ami nem is olyan rossz. Szerintem a maradék is fent lesz egyébként, csak mondjuk más az előadó neve: gyakran a feat. és egyéb duettek miatt nem találja meg a zenéket. Ezeket majd kézzel lehet pótolni, ha fontos, a nagy része így is meglett. Kattints a nagy hangjegyre, amivel kimásolja a találati listát vágólapra:

ivy3

Hozz létre egy új playlist-et, vagy állj egy meglévőbe, és illeszd be a vágólapról a listát (ctrl+v):

spotify_import

Kész is vagyunk, jó mi? 😉

Még egy protipp a bejegyzés végére: itt az utolsó képen nem tudom mennyire tűnt fel, hogy van egy vízszintes vonal a Starred nevű lista alatt. Ilyen elválasztókat nagyon egyszerűen létre lehet hozni, és nagyon átláthatóvá tudják tenni a képet ha sok listád vagy mappád van. Csak hozz létre egy új playlist-et, aminek a “-” nevet adod, azaz kötőjel, természetesen aposztrófok nélkül. New playlist, írj be egy kötőjelet, aztán enter, és utána egérrel a megfelelő helyre húzhatod a létrejött csíkot. Ugye, hogy jobb ez mint az Rdio!? 😀

Ha szeretnél követni: spotify:user:11137549058