Tag Archives: despotify

Ett sista försök

Igår blev det inte så mycket programmerat som jag egentligen skulle velat. Men lite grann blev det iallafall.

De trevliga grabbarna på #despotify var väldigt engagerade med att få in mig i deras irc kanal #despotify på EFNet för att diskutera just spytify och hur man skulle få igång det.

Det blev inte jättemycket diskussioner dock, men det berodde nog mest på att jag inte var så aktiv på kanalen utan satt länge och letade efter information om hur Qt “tar över” trådarna utan att hitta något vettigt. Mitt sista försök blev till att göra spytify till sig egna python tråd och låta Qt sköta sitt, men det fungerade inte heller utan fick enbart fönstret att verkligen hänga sig. Mycket märkligt.. Men jag lärde mig att skapa trådar i python iallafall så helt i onödan var det inte :-).

Koden: http://pastebin.se/198606

Lite senare på kvällen blev det en diskussion med “Kagee” som också hade försökt sig på att göra en spytifyklient med pyQt och även libdespotify med C++, med precis samma resultat som mig. Den enda gemensamma nämnaren till problemet jag kan komma på är gstreamer som används för uppspelningen och att libdespotify trådar en massa som kanske “tar över”. Jag är osäker, men det är en teori :-).

Kagee hade iaf löst sitt problem med QProcess och simple-klienten. Något jag också funderat på men skippat för att det inte känns rätt då man blir helt bunden till vad simple klarar av.

Jag ger mig på ett sista försök med pyQt/pyKDE idag. Denna gången ska jag starta två trådar där en är QT-tråden och den andra spytify, så de inte får något direkt med varandra att göra. Det kanske kan fungera, men å andra sidan vet jag inte ifall det är möjligt att köra MainWindow i en egen tråd. Vi får se :-).

Fungerar inte detta ger jag upp pyQt och går på wxWidgets istället!

Nu är lunchen snart slut så.. Synes!
/marcus

Försök med despotify med python bindings

Jag spenderade mestadelen av kvällen med att programmera lite pyQT/pyKDE med despotify python-bindings.

Till en början tänkte jag “Gud vad lätt detta måste vara. Bara att skriva lite pythonkod och så spelar den min musik.”

Och i 90% av fallet var det så också. Det gick enkelt att söka och klistra in i en ListWidget, skapa action på signaler som dubbelklick för att spela.

Men…. När uppspelningen börjar fryser fönstret tills låten är klar vilket är lite konstigt, ifall man kör test.py (i despotify/src/bindings/python/) går verkar den skapa sin egna tråd och gå vidare.

Vilket den även gör här, men inte på samma vis. När musiken börjar spela kommer det fram felmeddelande i terminalen som säger:

  • QMetaMethod::invoke: Unable to invoke methods with return values in queued connections
  • QObject ::startTimer: QTimer can only be used with threads started with QThread

Visst, hade jag använt något av de objekten hade jag förstått att det kunde gå fel. Men det gör jag inte (ivf inte medvetet).

Mitt första försök till lösning var såklart att skapa en egen tråd till spytify där den kan få hänga sig hur mycket den vill. Sagt och gjort, men det hjälper inte, MainWindow hänger sig lik förbaskat!

Nästa försök var att göra spytify global och därmed utesluta den direkt ut MainWindow-funktionerna, men det fungerade ej heller.

Och nu som sista grej var att koppla bort KDE helt och bara köra pyQt, men lika mycket stopp där.

Jag har inga idéer kvar.

Hade varit jättetacksam för hjälp med det här.
Sources: http://github.com/marcusfollrud/KSpot/

Screenshot

Ang. (de)Spotify

Jag har länge varit ett fan av despotify-gänget och deras fantastiska entusiasm när det gäller att få spotify på skrivbordet med öppen kod.

För någon månad sedan skapade dom bindings till både python och ruby, men fortfarande finns där inte någon klient till skrivbordmiljöerna (förutom om man gillar java…). Vilket har fått mig att tänka:

Hur svårt är det att skapa en klient som använder libdespotify och som sen bygger på exempelvis python?
Vilket fick mig att tänka ännu ett steg. Jag programmerade just pyKDE för min plasmoid (okej, den kunde blivit bättre), och även om jag inte är killer på det så kanske det går att lära sig relativt lätt. För python är ju trots allt inget direkt svårt språk. Någon mer som är sugen?

Detta tål att täna på, precis som allt annat. Jag måste först få igång mitt blomprojekt, då jag har alla delar. Så fort det är klart ska plasmoiden bli lite bättre, med stöd för taggar, hämta kategorier, ladda upp bilder i mediabiblioteket och göra KTextEditor-bakgrunden vit!

Det kanske redan finns en despotifyklient till KDE? Tipsa gärna isåfall.