Maraschino

Door Mar2zz op vrijdag 13 januari 2012 09:18 - Reacties (5)
Categorie: -, Views: 9.785

Maraschino is er al een tijdje. Tot voor kort was het installatieproces nogal omslachtig, maar dat is nu aangepakt, en nu leek het mij ook wel tijd voor blog erover. Maraschino is een prachtig frontend voor je Home Theater gebeuren. Extra compatible met XBMC, maar zonder XBMC heeft het ook nog genoeg moois om nuttig te blijven. Het geeft een overzicht van al je media in XBMC, maar ook in Sickbeard, Sabnzbd, Transmission etc. Een echte aanrader dus.

Lang geleden heb ik een blog geschreven over Mediafrontpage, maar dat programma is op sterven na dood. De devvers van Mediafrontpage zijn nu bijna allemaal gefocussed op Maraschino en vooral gugahoi, main Mediafrontpage-devver, verzet nu bergen werk voor Maraschino met mooie nieuwe features en modules. Maraschino's main devver is mrkipling, die 20 oktober 2011 ineens de source online zette van dit frontend dat er toen al gelikt uitzag.

Maraschino installeren
Een maand terug bestond het installeren van Maraschino nog uit 5 tot 6 verschillende stappen. Via pypi, een python-software repository, moesten 5 python-packages toegevoegd worden om Maraschino te kunnen gebruiken. Daarna moest nog setup.py gedraaid worden om een database aan te maken. Maraschino had afhankelijkheden. Ik ben zelf niet bang voor de terminal, en het zou me ook wel lukken, maar ik hou daar dus niet van. Linux zou gemakkelijk moeten zijn, dus in mijn ogen moest er wat veranderen aan dat proces. Aangezien ik toch altijd scripts schrijf dacht ik het in eerste instantie daarmee te gaan oplossen. Maar ik heb het dit keer eens anders aangepakt, ik ben in de wond're wereld van python gedoken, waar ik een complete noob ben als het aankomt op zelf code schrijven. Of was, of nog steeds ben, maar een stuk minder ;).

Maraschino is opensource en de code wordt gewoon gedeeld op Github. Dus ik had me voorgenomen om het installatieproces naar 1 stap terug te brengen. En dat is gelukt. Die dependency's die Maraschino nodig had zijn nu in Maraschino zelf verwerkt. Ook maakt Maraschino nu zelf zijn database aan als ie voor de eerste keer gestart wordt en er (nog) geen database is. Ik had ongeveer een pullrequest of 10 nodig voordat het mooi in elkaar zat maar dan heb je ook wat. Maraschino is nu de volgende installatiestap:
git clone https://github.com/mrkipling/maraschino.git


Het enige, maar dat is ook wel aan te pakken, maar ik ben nu met wat anders bezig, is nog settings_example.py naar settings.py kopieren en dan python Maraschino.py in de map doen. En dan draait maraschino al, by default op poort 5000. Makkelijk, maar ik heb toch ook maar verwerkt in mijn LaSi-script, daar het hoort het ook in thuis.

Ook in dat script heeft Mediafrontpage het veld moeten ruimen voor Maraschino. Mediafrontpage zit er nog wel in, maar niet meer in het menu, maar als je in het menu 'mfp' typt zal ie Mediafrontpage nog wel installeren. Maraschino is namelijk alleen compatible met XBMC Eden, en Mediafrontpage alleen met XBMC Dharma. Maraschino kun je wel gebruiken naast XBMC Dharma, alleen kun je de XBMC gerelateerde modules dan niet gebruiken.

2 soorten servers
Maraschino heeft 2 servers. Een debug-server, of developmentserver die draait via het Flask framework, deze server reload automatisch nieuw geschreven code en print voortgang naar de terminal. Daarnaast is er voor de mensen die het alleen maar willen draaien en niet devven, ook nog een cherrypy-server, waarin Maraschino dan draait. Hiervoor start je niet met 'python Maraschino.py', maar met 'python maraschino-cherrypy.py'. De eerste, de dev-server draait default op poort 5000, de tweede op poort 7000. Maar dit kan je aanpassen via het settings.py bestand. Omdat ik dat ook omslachtig vind heb ik de code wat aangepast zodat je met 1 file kan draaien, alleen moet die nog gemerged worden.

Draaien als service
Maraschino kan met het systeem gestart worden zodat het in de achtergrond draait. Er is echter geen mooie shutdown-functie voor aanwezig dus een en ander is nog wat rudimentair. Het init.d script dat bij de files staat na een gitclone kan naar /etc/init.d/maraschino gekopieerd worden. Edit daar de gegevens zoals path en user en doe daarna sudo chmod +x /etc/init.d/maraschino en sudo update-rc.d maraschino defaults. Daarna zal Maraschino elke serverstart meestarten en altijd beschikbaar zijn als one-stop front end.

Modules
Een module schrijven voor Maraschino is goed te doen als je een beetje scripttaal kan lezen en het eenvoudig houdt. Je kunt het allemaal afkijken van andere al bestaande modules. Je kunt het echter zo moeilijk maken als je zelf wilt, met overlays, en verschillende submodule schermen en dergelijke. Gugahoi levert in een rap tempo nieuwe features, maar ook tweaker Brickman (Jeroenve op github) is bezig met een module voor Newznab (dus ook spotweb).

Modules kun je configuren door naar Marschino's webpagina te gaan en dan linksbovenin het hoekje klikken. daar verschijnt dan een tandwieltje. Kies add module en je hebt ruim de keuze. Hier een opsomming:

Applications: Voeg links toe naar programma's zodat je vanuit Maraschino andere webpagina's kan bezoeken.

Diskspace: Toont de gebruikte en beschikbare ruimte op harde schijven.

Medialibrary: Blader door je XBMC library en laat ze afspelen.

Recently added episodes: Toont onlangs toegevoegde afleveringen van series.

Recently added movies: Idem, maar dan films.

Recommendations: Toont films die op basis van je Trakt historie wel eens in de smaak zouden kunnen vallen.

Sabnzbdplus
: Toont Sabnzbdplus downloads. Deze module is nu nogal simpel, maar er staat een hele flinke uitbreiding te wachten waarmee je sabnzbd ook kan aansturen.

Synopsis: Toont het plot van de film of serie die je eventueel aan het kijken bent.

trakt.tv: Toont trakt.tv gegevens over de media die je kijkt.

Sickbeard Manager: Toont gegevens uit Sickbeard en je kunt ook via deze module zaken aanpassen in Sickbeard.

Wat nog komen gaat:
XBMC Remote: Bestuur XBMC met het toetsenbord vanuit Maraschino.
Transmission: Toont actieve downloads van bittorrentclient Transmission.
Newznab: Zoek op newznabsites en nzbmatrix en voeg direct toe aan Sabnzbd.
CouchPotato (v2): Toont Couchpotatogegevens en volgens mij ook films toevoegen aan CP.

Afsluiting
Zoals je ziet is Maraschino, jong als het is, al verder dan Mediafrontpage. En, omdat het toegankelijk en modulair is opgezet kunnen nieuwe modules makkelijk en snel worden toegevoegd. Maraschino is ook ontzettend mooi vormgegeven. Je kunt zelfs eigen achtergronden gebruiken als je dat blieft. Let wel, blote borsten leiden af van de inhoud, dus hou het netjes anders heb je niks aan Marschino :p

This blog is worthless without pics! Ja klopt, maar video's zijn nog mooier. (sommige zaken in deze video's zitten nog niet in master, maar dat komt doordat Gugahoi zo hard werkt...

Maraschino in volle glorie:
Maraschino

XBMC remote


Newznab module:
https://a248.e.akamai.net/assets.github.com/img/b14f1ef23d2a6ad72335469a069a67532becfd4f/687474703a2f2f646c2e64726f70626f782e636f6d2f752f353635333337302f6d617261736368696e6f2f7365617263685f726573756c7473322e706e67

CouchPotato v2 (in progress)
http://i1193.photobucket.com/albums/aa359/gugahoi/Screenshot2012-01-11at125521PM.png

Over een half jaar hoef je alleen nog maar daemons te installeren van alle programma's en heb je alleen Maraschino nog nodig om al je zaakjes te regelen. Genius!

Volgende: LazyLibrarian 02-'12 LazyLibrarian
Volgende: ACTA is EVIL 12-'11 ACTA is EVIL

Reacties


Door Tweakers user X-DraGoN, vrijdag 13 januari 2012 10:19

Ziet er inderdaad wel gelikt en afgewerkt uit. Maar vooralsnog heb ik geen behoefte aan een media portal aangezien ik nog geen dedicated media PC heb. Eens als ik deze setup eens gemaakt heb zal ik dit project zeker in mijn achterhoofd houden.

Door Tweakers user Slurpgeit, vrijdag 13 januari 2012 11:14

Cool, kan hij ook babbelen met de XBMC MySQL database?

Door Tweakers user Mar2zz, vrijdag 13 januari 2012 11:31

Slurpgeit schreef op vrijdag 13 januari 2012 @ 11:14:
Cool, kan hij ook babbelen met de XBMC MySQL database?
Nog niet, maar de mrkipling, de main-dev gaat dat wel maken. Hoe snel ie dat doet weet ik niet, maar hij gaf onlangs op xbmc.org aan dat hij ook naar een multi-xbmc setup gaat dus dan wordt dat voor hem ook broodnodig.

Maar ik zie dat jij programmeerervaring hebt, ook met SQL, dus wellicht kan je al wat patches leveren? Maraschino is heel toegankelijk.

Door Tweakers user tjeerdoo, dinsdag 6 maart 2012 12:19

Erg fraai ! Weet je misschien of er een module is/komt die de logitech media server (voor mijn squeezebox) kan aansturen ? dat zou super zijn, heb ik meteen alles op één pagina staan.

Door Tweakers user Night89, donderdag 7 februari 2013 15:12

Vraagje, Ik probeer deze front-end te installeren op een Readynas, maar krijg deze melding in putty (onder root)

/usr/bin/gitfm: fatal error: `chdir' failed: permission denied.
dpkg: error processing maraschino (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
maraschino
E: Sub-process /usr/bin/dpkg returned an error code (1)

iemand een idee?

Reageren is niet meer mogelijk