Max2play en Spotify connect: De handschoen is op gepakt.

In een voorgaand bericht, heb ik gesproken of een plugin voor Volumio, om Spotify connect functionaliteit aan dit audio-speler OS toe te voegen. Toen heb ik ook aangestipt that concurrende OS Max2play, niet geintereseerd leek in deze functionaliteit, terwijl er wel degelijk animo voor was onder hun gebruikers, afgaande op de verzoeken op hun gebruikersforum.

Maar ze hebben ondertussen de handschoen duidelijk opgepakt. Na het perfectioneren van hun plug-in infrastructuur en het suggereren dat gebruikers zelf hun Spotify connect plugin zouden kunnen ontwikkelen, zijn ze toch zelf met een dergelijk plugin op de proppen gekomen. Het is nog steeds beta plugin, met wat problemen rond stabiliteit, maar als het draait dan doet het wat het moet doen. Deze plugin heeft wel wat dingen vooraf nodig: Je moet Max2play premium gebruiker zijn (€9,99/jaar) en Spotify connect premium gebruiker. Wat dat betreft blijf Volumio met de gratis plugin van Balbuze nog steeds de goedkopere oplossing.

Installatie is redelijk recht toe recht aan, maar iets meer gedoe dan met Volumio, vooral als ook ander audioplayer functionaliteit, zoals Squeezlite binnen Max2play gebruikt. Een Video met uitleg en demonstratie van de functionaliteit vind je hieronder. Zoals al gezegd er is nog werk aan de stabliteit. Zo kan na enige tijd  je Max2play apparaat met de plugin toch van de lijst met Spotify connect devices op je Spotify app verdwijnen. Het stoppen en herstarten van de plug-in is dan de aangewezen oplossing, maar dit is natuurlijk niet handig.

Je kan de plugin via deze link downloaden.

https://youtu.be/MaKku8skkHc

 

Volumio en Spotify Connect, Max2Play delft het onderspit?

In vorige artikelen op deze blog heb ik al gesproken over al die verschillende audiospeler besturingsystemen (bijvoorbeeld Volumio en Max2Play) voor kleine computers zoals de verschillende Raspberry Pi’s. Ik heb het ook al gehad over het feit dat ik een Spotify gebruiker ben en erg weg ben van de Spotify Connect en de mogelijkheden die het bied om speakers in verschillende ruimte aan te sturen, zoals we dat van bijvoorbeeld Sonos kennen. De twee verschillende besturingssystemen die ik tot nu aan het testen ben, ondersteunde Spotify Connect nog niet. Daarom gebruik ik nu de combinatie van het Max2play besturingssysteem, Logitech Media Server (LMS) software en de Spotify plug-in hiervoor ontwikkeld door “triode”. Hiermee kan ik op verschillende apparaten (Raspberry Pi’s met Squeezeplayer software en een Squeezebox Duet reciever) Spotify streamen en bedienen. Het werkt, maar LMS is duidelijk een gedateerd pakket met ditto interface, dus ben ik steeds op zoek naar mogelijke verbetering en ik ben niet de enige. In het “requested features” deel van de fora van zowel Volumio als Max2Play is duidelijk te lezen dat veel mensen graag Spotify Connect willen gebruiken. Maar vooral bij Max2Play heb ik het idee, dat de ontwikkelaar(s) niet warm lopen voor deze suggestie. Dat terwijl Max2Play juist pretendeert de multiroom audio OS te zijn. Een gemiste kans in mijn optiek. Ondertussen heeft Volumio, Max2play op dit punt mooi ingehaald d.m.v. van zijn mogelijkheid voor plug-ins en het programmeer werk dat op Github te vinden is van een gebruiker met de handle “Balbuze”. Hierbij borduurde hij voort op eerdere werk van “Fortnoth” en “Plietar”.  Ik ben van plan om op korte termijn de Spotify Connect plug-in voor Volumio (volspotconnect) op mijn Pi zero te zetten, waar nu Max2play nog op draait. Deze plug-in is specifiek voor ARM6 en ARM7 chips, dus als Volumio op een intel machine draait, heb je nog pech. Het is een redelijke basic plugin die enkel je Volumio installatie zichbaar maakt als Spotify connect device. The plug-in heeft (nog) geen connectie met de Volumio interface, dus geen bediening en geen albumcovers. Dit op zich geen probleem omdat je de Spotify software op PC of app op je telefoon zou gebruiken voor de bediening van je Volumio apparaat. Het is natuurlijk duidelijk nog een werk in uitvoering. Aanvankelijk dacht ik dat je ook nog een Spotify app developer key nodig had om het werkend te krijgen. Die je hier kan aanvragen. Maar ik werd er door de reactie van Wim opgewezen, dat in de zip file van volspotconnect deze al door Balbuze toegevoegd is. Dus nog eenvoudiger! Ik hoop dat ik het snel eens kan uitproberen. Het lijkt me dan ook een goed onderwerp voor een Youtube uitleg. Tot binnenkort!

Balbuze’s avatar op Github

Ja, het werkt! En mijn you-tube uitleg (in het Engels) vind je hier:

Het instellen van een USB Touchscreen, om je Raspberry Pi audioplayer mee te bedienen

In een vorig artikel heb ik verteld dat ik een Logitech Squeezebox Duet en de Logitech media server (LMS) software gebruik, om mijn mp3 collectie af te spelen en Spotify te streamen naar mijn Hifi set. Maar de op een iPod lijkende Duet controller, van meer dan zeven jaar oud, begon problemen te krijgen met opladen. Ik hoop dat ik dit kan herstellen, maar in de tussentijd, had ik wel vervanging nodig, om het zaakje te bedienen en niet enkel dmv de “Squeezer” app op mijn android smartphone.

De Logitech Squeezbox Duet controller.

Voordat ik mijn Squeezebox Duet gekocht had, ergens in 2009, was ik aan het experimenteren geweest met een touchscreen in combinatie met een Asus eeeBox minipc, maar was hier niet echt tevreden over. Toen kwam ik de Squeezebox Duet tegen en heb ik de touchscreen PC combinatie daarmee vervangen. Ik heb mijn LG Flatron L1510SF 15-inch touchscreen toen echter niet weggedaan. Nu in 2016 is een van de best door een gemeenschap van techneuten ondersteunde mini PCs, natuurlijk de Raspberry Pi. Ik was zelf ook bezig met Pi’s om er zowel video als audio spelers mee te maken. Er is ook al een heel scala aan kleinere touchscreens, die via de GPIO header of Display header, op de Rpi aangesloten kunnen worden. Maar een touchscreen die je gwoon via HDMI, DVI of VGA aansluit, met USB voor de touch-control, kom je een stuk minder tegen. Maar toen mijn Squeezebox Duet controller er de brui aan gaf, dacht ik gelijk: Waarom zou ik mijn oude USB touchscreen niet koppelen aan een Raspberry Pi waarop LMS draait?

Logitech Media Server (LMS) installeren

Het installeren van LMS op een Raspberry Pi is doodeenvoudig zeker als het audiospeler OS, Max2Play gebruikt. Je download the SD card image van Max2Play van hun website, schrijft deze naar een SD kaart met behulp van een tool zoals win32diskimager. Stopt de SD in de Rpi, verbind de Rpi met je netwerk d.m.v. een kabel en sluit de stroomadapter aan. Nu kan je de installatie interface van Max2play bereiken via een andere PC door in de webbrowser de URL:max2play/ in te voeren. In deze installatie interface, kan je instellen dat je LMS en Squeezeplayer software wil gebruik en deze wordt automatisch geinstalleerd. Op deze manier heb je een zogenaamde “hoofdloze” audiospeler, die lokaal muziek kan afspelen of via ander Squeezebox apparaten binnen je netwerk. Je kan dit bedienen via een telefoon app zoals Squeezer op android of via een web-interface op je laptop of PC.

Jivelite, de touchscreen interface voor LMS

De LG Flatron L1510SF USB aangestuurde touchscreen.

In mijn geval wou ik echter het touchscreen gebruiken om de Raspberry Pi met LMS rechtreeks te kunnen bedienen. Dit vergt wat extra werk. Allereerst moet je het scherm aan de Rpi koppelen, maar ook een muis en toetsenbord om wat zaken te kunnen instellen. Ten tweede moet je de grafische touchinterface for LMS met de naam JiveLite installeren. Dit gaat eenvoudig via installatie interface van Max2play, maar dit is wel een premium item. Een Max2play premium licentie kost je €9,99 per jaar. Het is ook mogelijk om LMS en Jivelite zelf te installeren zonder licentie-kosten, maar niet met het gemak van Max2play. De Jivelite setup van Max2play geeft ook de mogelijkheid om verschillend touchinterface skins te gebruiken. Deze zijn echter toegespits op de kleinere touchscreens en vergde enige aanpassing om het op de 1024×768 resolutie van mijn touchscreen tot hun recht te laten komen. Maar later meer hierover.

Het touchscreen calibreren

Allereerst wou ik het touchscreen werkend krijgen op de Raspberry Pi. Toen ik aan het researchen was hoe dit voor elkaar te krijgen kwam ik dit artikel tegen. Dit beschrijft een methode voor exact hetzelfde scherm als dat ik heb. Allereerst moet je xinput-calibrator installeren. Je kan dit het best locaal op de Rpi doen dmv van het aangesloten muis en toetsenbord. Je opent een terminal scherm en typt: sudo apt-get install -y xinput-calibrator. Daar start je xinput-calibrator, door xinput-calibrator te typen in je terminal scherm, gevolgd door <enter>. Nu wordt het calibratie scherm geopend en kan je de instructies volgen. Voor een goede precisie wordt gebruik van een stylus aanbevolen. Na het aanstippen van de hoeken, sluit het scherm zich en verschijnt de calibratie parameters in je terminal scherm. Deze parameters moeten ingevoegd worden in het bestand /etc/X11/xorg.conf.d/99-calibration.conf. Toen ik dit deed met de parameters zoals ze op mijn scherm verschenen zorgde dit toch voor problemen. De grafische gebruikers-interface LXDE kwam niet meer te voorschijnen toen ik Rpi met de nieuwe instellingen opnieuw opstartte. Uiteindelijk heb ik de instelling uit het artikel gekopieerd, omdat het hier om exact hetzelfde LG touchscreen ging. Dat was het truckje, waardoor het touchscreen nu naar behoren werkt.

De Joggler skin aanpassen aan je resolutie

Nu wou ik nog een JiveLite skin die goed bij de resolutie en schermverhoudingen van mijn touchscreen paste. De aanwezige Joggler skin, kwam het al het dichste bij het beoogde eindresultaat maar had wel aanpassingen nodig om het mooi schermvullend te maken. Om dit voor elkaar te krijgen moet de code van het skin bestand /opt/jivelite/jivelite/share/jive/applets/JogglerSkin/JogglerSkinApplet.lua op regel 259 aangepast worden als volgt:

Framework:setVideoMode(1024, 768, 0, false)

Waar de waarde 1024 en 768 de resolutie en beeldverhouding van mijn LG vertegenwoordigen. Als je ook de visuele VU meter of Spectrum analyse mooi op het scherm wil krijgen (Enkel voor lokaal afgespeelde muziek). Moet ook nog het volgende deel van de code van het eerder genoemde bestand aanpassen. De aanpassing zijn in vette letters aangegeven.

-- Visualizer: Spectrum Visualizer
s.nowplaying_spectrum_text = _uses(s.nowplaying_visualizer_common, {
npvisu = {
hidden = 0,
position = LAYOUT_NONE,
x = 0,
y = 2 * TITLE_HEIGHT + 4,
w = 1024,
h = 566 - (2 * TITLE_HEIGHT + 4 + 45),
border = { 0, 0, 0, 0 },
padding = { 0, 0, 0, 0 },

spectrum = {
position = LAYOUT_NONE,
x = 0,
y = 2 * TITLE_HEIGHT + 4,
w = 1024,
h = 566 - (2 * TITLE_HEIGHT + 4 + 45),
border = { 0, 0, 0, 0 },
padding = { 0, 0, 0, 0 },

Na opnieuw opstarten van de JiveLite gebruikersinterface, of een reboot van heel het system, heb je een layout die mooi past op het scherm. Sommige knoppen hebben nog niet de perfecte schaal, maar alles functioneerd. Ik hou natuurlijk wel een oogje open voor verbeterde versies van een 1024×768 skin voor JiveLite. Als je dit leest en je hebt er één of je bent er één tegengekomen, dan hoor ik dat natuurlijk graag.

Een klein ding is nog niet helemaal zoals ik wil en dat is dat de muis aanwijzer op het scherm zichtbaar is. Max2play heeft een speciale add-on voor de kleinere touchscreen waar in dit door middel van een handige check-box aan of uit te zetten is. Maar deze add-on ondersteund niet mijn scherm en ik kan het dus jammer genoeg niet gebruiken. Alle suggestie om dit op een andere manier toch voor elkaar te krijgen zijn welkom. Voor een indruk hoe dit apparaat eruit ziet en werkt kan ik je aanraden om even mijn youtube filmpje hier beneden te bekijken.