Mostrando entradas con la etiqueta android amarok amarok2android. Mostrar todas las entradas
Mostrando entradas con la etiqueta android amarok amarok2android. Mostrar todas las entradas

viernes, 10 de junio de 2011

amarok 2 android - full

Existe una aplicación que permite controlar Amarok desde un celular con Android.
La aplicación en cuestión se llama amarok2Adroid, se requiere instalar una aplicación en el celular y unos scripts en amarok.
Este script en cuestión tiene una falencia, no permite agregar música a la playlist desde el celular.

La solución: Modificar el archivo amarokfunc.js de los scripts de Amarok. Remplazar las funciones por estas dos nuevas funciones.


cmdCollectionPlayByTrackId = function(path){
    trackId = parseInt(path.substring(path.lastIndexOf("/")+1));
    trackURL = Amarok.Collection.query('SELECT rpath FROM urls LEFT JOIN tracks ON urls.id = tracks.url WHERE tracks.id = '+trackId+';');
    trackURL2 = Amarok.Collection.query('SELECT lastmountpoint FROM devices LEFT JOIN (urls LEFT JOIN tracks ON urls.id = tracks.url) ON devices.id = urls.deviceid WHERE tracks.id = '+trackId+';');
    Amarok.Playlist.addMedia(new QUrl('file://'+ trackURL2[0] + trackURL[0].substring(1)));
    response = new HandlerResponse();
    Amarok.Playlist.playByIndex(Amarok.Playlist.totalTrackCount()-1)
    return response
}

cmdCollectionEnqueue = function(path) {
    req_len = path.split("/").length;
    req_splitted = path.split("/");
    for(i = 2; i <= req_len; i++) {
trackId = req_splitted[i];
trackURL = Amarok.Collection.query('SELECT rpath FROM urls LEFT JOIN tracks ON urls.id = tracks.url WHERE tracks.id = '+trackId+';');
trackURL2 = Amarok.Collection.query('SELECT lastmountpoint FROM devices LEFT JOIN (urls LEFT JOIN tracks ON urls.id = tracks.url) ON devices.id = urls.deviceid WHERE tracks.id = '+trackId+';');
Amarok.Playlist.addMedia(new QUrl('file://'+ trackURL2[0] + trackURL[0].substring(1)));
    }
   
     
    response = new HandlerResponse();
    return response;
}