Spotify Remote for Android (Linux / Windows / Mac)

Diskussion i 'Applikationsutveckling' startad av juanez, 12 jan 2010.

  1. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER


    Servify/J (java versionen) är inte längre tillförlitlig då Spotify ändrat i deras protokoll och java versionen är ett hack på en tidigare spotify protokoll version.

    Ta hem Servify/C# som bygger på de officiella libspotify så kommer det nog fungera galant.

    C# versionen kräver dock Mono, det är med i default på vanliga ubuntu distros - kan hända att du måste installarea det specifikt i MythBuntu(?).

    Angående ljudproblematiken, har du testat prefixa servify kommandot med "padsp"? (Det kan även vara en java-only 'bug' då java ibland använder OSS istället för alsa/pulseaudio...)
     
  2. egodeus

    egodeus Youth Droid Medlem

    Blev medlem:
    17 aug 2009
    Inlägg:
    113
    Mottagna gillanden:
    0

    MINA ENHETER

    Lovely! :D
     
  3. jolaren

    jolaren Kid Droid Medlem

    Blev medlem:
    21 apr 2010
    Inlägg:
    41
    Mottagna gillanden:
    1

    MINA ENHETER


    Jag installerade Mono-runtime och drog ner Servify/C.
    Ser inga listor under Browser och kan heller inte söka efter låtar / spela upp dem.
    Annars är jag uppkopplad stabilt

    joel@xxx:~/films/servify$ mono Servify.exe xxx xxxx 1337 320 debug
    Servify/C# v2010.05.30
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    ^C
    joel@xxx:~/films/servify$ mono Servify.exe xxx xxx 1338 320 debug
    Servify/C# v2010.05.30
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    Client connected to server.
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    enqueue t:a62a36548ede44fa904ae5799480ae49
    enqueue t:b6075e68bb174483aba98e61bd2730db
    enqueue t:452a0863d8f0405baf65dd47eb319f9d
    pause
    Command Executed: pause
    pause
    Command Executed: pause
    pause
    Command Executed: pause
    enqueue t:b6075e68bb174483aba98e61bd2730db
    list
     
    Last edited: 31 maj 2010
  4. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    Ok, strunta i att prefixa med "mono" - dvs testa:

    Kod:
    joel@xxx:~/films/servify$ ./Servify.exe xxx xxxx 1337 320 debug
    
    eller följande (om du har pulse audio?):
    Kod:
    joel@xxx:~/films/servify$ padsp ./Servify.exe xxx xxxx 1337 320 debug
    
    servern är lite bänglig - det arbetas på - men för tillfället är det andra saker som har prioritet.

    Btw - om du inte kan starta upp servern på en viss port, kör "ps aux | grep Servify" om den visar en lista av processer så är det instanser av servern som du inte stäng av - döda dessa med "kill -9 pid" (pid = process id).

    hoppas det funkar nu! återkom gärna med resultatet :)
     
    Last edited: 31 maj 2010
  5. jolaren

    jolaren Kid Droid Medlem

    Blev medlem:
    21 apr 2010
    Inlägg:
    41
    Mottagna gillanden:
    1

    MINA ENHETER

    Tack för förklaringen av kill-momentet ;)

    joel@xxx:~/films/servify$ ls -a
    . bass.dll libbass.dylib libspotify libspotify-sharp.dll Servify.exe
    .. Bass.Net.dll libbass.so libspotify.dll libspotify.so

    joel@xxx:~/films/servify$ ./Servify.exe xxx xxx 1337 320 debug
    Servify/C# v2010.05.30
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    ^C
    joel@xxx:~/films/servify$ ./Servify.exe xxx xxx 1338 320 debug
    Servify/C# v2010.05.30
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    Client connected to server.
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    list
    ^C
    joel@xxx:~/films/servify$ ./Servify.exe xxx xxxx 1338 320 debug
    Servify/C# v2010.05.30
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    Client connected to server.
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    list
    ^C
    joel@xxx:~/films/servify$ padsp Servify.exe xxx xxx 1338 320 debug
    exec: 88: Servify.exe: not found
    joel@xxx:~/films/servify$ padsp ./Servify.exe xxx xxx 1338 320 debug
    Servify/C# v2010.05.30
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    Client connected to server.
    Initiating login sequence
    CachePath: /tmp/libstpotify-cache
    SettingPath: /home/joel/films/servify/libspotify-settings
    Exception caught in ServifyServer.Login(), Exception message: System.DllNotFoundException: libspotify
    at (wrapper managed-to-native) Spotify.libspotify:sp_session_init (Spotify.libspotify/sp_session_config&,intptr&)
    at Spotify.Session..ctor (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Spotify.Session.CreateInstance (System.Byte[] applicationKey, System.String cacheLocation, System.String settingsLocation, System.String userAgent) [0x00000]
    at Servify.ServifyServer.Login () [0x00000]
    list
    list
     
    Last edited: 31 maj 2010
  6. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    Det där är ju lite mysko... Kan du pröva lägga till följande i din "path" variabel (i samma terminal som när du startar servify):

    Kod:
    joel@xxx:~/films/servify$ echo $PATH
    /bla/bla/bla:/apa/apa/apa
    joel@xxx:~/films/servify$ PATH=$PATH:/home/joel/films/servify
    joel@xxx:~/films/servify$ echo $PATH
    /bla/bla/bla:/apa/apa/apa:/home/joel/films/servify
    
    och "for good measure" se till att filerna är läs/skriv/modbara:

    Kod:
    joel@xxx:~/films/servify$ chmod 777 *
    
    Det är konstigt att libspotify.so filen inte hittas då den ligger i samma katalog som därifrån du exekverar servify...
     
  7. jolaren

    jolaren Kid Droid Medlem

    Blev medlem:
    21 apr 2010
    Inlägg:
    41
    Mottagna gillanden:
    1

    MINA ENHETER


    joel@xxx:~/films/servify$ ./Servify.exe xxx xxx 1338 360 debug
    fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
    fixme:toolhelp:Heap32ListFirst : stub
    fixme:reg:GetNativeSystemInfo (0xafe530) using GetSystemInfo()
    install the Windows version of Mono to run .NET executables
    joel@xxx:~/films/servify$ fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
    fixme:toolhelp:Heap32ListFirst : stub


    Ska kolla om det går att mecka lite med mono
     
  8. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    Konstigt värre. Verkar som att det är en gammal/äldre version av Mono .NET ramverket.. Och eventuellt som att det strular med "wine" ?
    Efter att ha lagt till sökvägen för libspotify.dll kanske du kan testa med:

    Kod:
    $ mono Servify.exe user pass 1338 320 debug 
    
    Kom ihåg att du måste sätta PATH variabeln varje gång du öppnar en ny terminal (alternativt lägga till det i din .profile fil i ~/.profile )
     
  9. jolaren

    jolaren Kid Droid Medlem

    Blev medlem:
    21 apr 2010
    Inlägg:
    41
    Mottagna gillanden:
    1

    MINA ENHETER

    Synd att man inte kan lämna rep här, men tackar så mycket för den personliga servicen (utöver spammet här). Det rullar nu, men det var inte en helt smärtfri väg dit
     
  10. watar

    watar Infant Droid Medlem

    Blev medlem:
    5 jun 2010
    Inlägg:
    5
    Mottagna gillanden:
    0

    MINA ENHETER

    Försöker starta upp Servify/C# på Win7 64 men får hela tiden följande meddelanden...
    Kod:
    C:\Users\Raffe\Desktop\servify>servify XXX YYY 4545 160 debug
    Servify/C# v2010.05.30
    Initiating login sequence
    CachePath: C:\Users\Raffe\AppData\Local\Temp\libstpotify-cache
    SettingPath: C:\Users\Raffe\Desktop\servify\libspotify-settings
    Log: 10:02:25.117 E [proxy_resolver_win32.cpp:219] WinHttpGetProxyForUrl failed
    Log: 10:02:25.118 I [ap:1368] Connecting to AP A1.spotify.com:4070
    Log: 10:02:25.193 E [ap:3153] Connection error:  409
    Log: 10:02:25.193 I [ap:1368] Connecting to AP A2.spotify.com:80
    Log: 10:02:25.303 E [ap:3153] Connection error:  409
    Log: 10:02:25.303 I [ap:1368] Connecting to AP A3.spotify.com:443
    Log: 10:02:25.403 E [ap:3153] Connection error:  409
    Log: 10:02:25.403 I [ap:1368] Connecting to AP A1.spotify.com:80
    Log: 10:02:25.460 E [ap:3153] Connection error:  409
    Log: 10:02:25.460 I [ap:1368] Connecting to AP A2.spotify.com:4070
    Log: 10:02:25.554 E [ap:3153] Connection error:  409
    Log: 10:02:25.555 I [ap:1368] Connecting to AP A3.spotify.com:80
    Log: 10:02:25.652 E [ap:3153] Connection error:  409
    Log: 10:02:25.652 I [ap:1368] Connecting to AP A1.spotify.com:443
    Log: 10:02:25.706 E [ap:3153] Connection error:  409
    Log: 10:02:25.706 I [ap:1368] Connecting to AP A2.spotify.com:443
    Log: 10:02:25.799 E [ap:3153] Connection error:  409
    Log: 10:02:25.799 I [ap:1368] Connecting to AP A3.spotify.com:4070
    Log: 10:02:25.887 E [ap:3153] Connection error:  409
    Session disposed...
    Any ideas?
     
  11. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    har du en proxy/brandvägg eller dylikt på din dator / nätverk som kanske spärrar trafiken ut till spotify.com?

    jag kör själv med win7 64-bit så det ska inte vara ett problem.
     
  12. watar

    watar Infant Droid Medlem

    Blev medlem:
    5 jun 2010
    Inlägg:
    5
    Mottagna gillanden:
    0

    MINA ENHETER

    Inga loggar i routern att den blockerar dessa adresser, kan köra vanliga Spotify utan problem. Samma fel på tre olika datorer.
     
  13. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    Tre andra windows datorer?

    Felet som skickas kommer från libspotify självt. Ska försöka hitta va det betyder i dokumentationen.

    Men när du startar Servify/C# så borde du få en fråga från windows om du vill tillåta denna applikation att passera brandväggen. Kan du testa stänga av brandväggen en gång å starta Servify medan brandväggen är avstängd?
     
  14. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    Nytt UI på gång...

    [​IMG]


    Det kommer dock om-möbleras en hel del i UI't. 5 "tabs" blir på tok för grötigt...
     
  15. Arias

    Arias Teen Droid Medlem

    Blev medlem:
    6 jun 2010
    Inlägg:
    483
    Mottagna gillanden:
    5

    MINA ENHETER

    Lokala filer går inte att se eller spela från spellistorna va ?
     
  16. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    Inte i dagsläget.
    Finns på "TODO" listan - men ganska långt ned. Tyvärr.
     
  17. egodeus

    egodeus Youth Droid Medlem

    Blev medlem:
    17 aug 2009
    Inlägg:
    113
    Mottagna gillanden:
    0

    MINA ENHETER

    Hur går det för dig juanez? Är mkt nyfiken :-)
     
  18. juanez

    juanez Teen Droid Medlem

    Blev medlem:
    17 dec 2009
    Inlägg:
    327
    Mottagna gillanden:
    2

    MINA ENHETER

    Ska arbeta på att ordna upp servern ytterligare. Det nya protokollet är implementerat i både server och klient. Tyvärr så är den aningens instabil, i synnerhet kring 'coverart' hanteringen.

    Förhoppningen är att släppa ny release nångång senare i veckan / kort efter midsommar. Kanske utan coverArt tillsvidare, beror på hur arbetet fortskrider.

    Sedan kommer det förhoppningsvis i samband med det något helt nytt! Som en liten bonus.
     
  19. roadrun

    roadrun Kid Droid Medlem

    Blev medlem:
    27 apr 2010
    Inlägg:
    46
    Mottagna gillanden:
    4

    MINA ENHETER

    Ska bli kul att se nya versionen :)

    En fråga - när jag testade Respot första gången har jag för mig att jag kunde köra Spotify-klienten på datorn samtidigt som jag körde Respot på mobilen, och kunde då se när jag spelade/bytte låt på resp från den andra. Alltså, jag såg på datorklienten vilken låt som spelades och när jag bytte på mobilen så byttes det på datorn.

    Nu när jag kör verkar Servify köras helt själv på datorn, och sätter jag igång Spotify-klienten på datorn ser jag ingen info om vad som körs - verkar vara en helt egen instans som körs. Ungefär som om jag körde en annan Spotify-klient på en annan burk, dvs försöker jag sätta igång en låt på mobilen när jag redan har en låt igång på datorns Spotify-klient pausas den på datorn och jag får "Spotify has been paused becaused your account is used somewhere else" (eftersom Spotify bara tillåter att samma konto endast kan spela på en enhet vid ett tillfälle).

    Går det att få så att datorns Spotify-klient och mobilens kör mot samma "instans" på nåt vis? Eller har jag drömt att det funkade så förut :)

    Skulle vara smidigt att kunna sköta spelandet från både datorn och mobilen samtidigt, och få ut ljudet från datorns Spotifyklient (istället för Mono som det är för mig nu, kör Mac).
     
  20. jonaz

    jonaz Adult Droid Medlem

    Blev medlem:
    4 feb 2010
    Inlägg:
    929
    Mottagna gillanden:
    17

    MINA ENHETER

    Ja Servify är en helt egen spotify klient så det beteendet är ju självklart :) ett riktigt plus att den funkar på alla platformar så folk som kör ett vettigt OS oxå kan köra den.