User Tools

Site Tools


projekt:kakrafoon

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projekt:kakrafoon [2015/09/15 00:23]
bjarni
projekt:kakrafoon [2017/12/28 03:37] (current)
bjarni [Utveckling]
Line 3: Line 3:
 Kakrafoon är mjukvaran som sköter uppspelningen av musik i t-salen. Systemet består av två delar: en serverdemon ''​kakrafoond''​ som kör på en dedikerad dator i T-salen som heter ''​mixer''​ och som är kopplad till förstärkaren som står ovanpå säkskåpet;​ och ett klientskript som användaren kör i sin terminal. De båda kommunicerar med varann över ett särskilt protokoll. Kakrafoon är mjukvaran som sköter uppspelningen av musik i t-salen. Systemet består av två delar: en serverdemon ''​kakrafoond''​ som kör på en dedikerad dator i T-salen som heter ''​mixer''​ och som är kopplad till förstärkaren som står ovanpå säkskåpet;​ och ett klientskript som användaren kör i sin terminal. De båda kommunicerar med varann över ett särskilt protokoll.
  
-Den nuvarande ''​kakrafoon''​ är den tredje inkarnationen av systemet. ​Den ursprungliga versionen ​var en bakände ​till CUPS. Den andra versionen ​skrevs av ''​johannes'' ​från scratch i Python ​och implementerade fler features. Denna version gick förlorad i en diskkrasch, och det hela gjordes om igen av ''​dr_root'', ​åter i Python. Sedan dess har ytterligare hackande gjorts av ''​lidbjork'',​ ''​bjarni'',​ med flera.+Den nuvarande ''​kakrafoon''​ är den tredje inkarnationen av systemet. ​De första två versionerna ​var bakändor ​till CUPS. Den andra utav dem skrevs av ''​johannes''​ och implementerade fler features ​än den första. Denna version gick förlorad i en diskkrasch, och det hela gjordes om igen av ''​dr_root'', ​denna gång i Python. Sedan dess har ytterligare hackande gjorts av ''​lidbjork'',​ ''​bjarni'',​ med flera.
  
 ==== Snabbguide ==== ==== Snabbguide ====
Line 23: Line 23:
 ==== Utveckling ==== ==== Utveckling ====
  
-Serverdemonen är installerad som ''/​usr/​local/​bin/​kakrafoond''​ på ''​mixer''​ (alias ​''​[[admin:​maskiner:​Butlerelfia]]''​) och körs i en screen.+=== Kakrafoon 2 (i bruk) === 
 + 
 +Serverdemonen är installerad som ''/​usr/​local/​bin/​kakrafoond''​ på ''​[[admin:​maskiner:​butlerelfia|Butlerelfia]]''​ (alias ''​mixer''​) och körs i en screen.
  
 Arbetsversioner av ''​kakrafoond''​ finns i ''/​home/​lidbjork/​kakrafoon2''​ på ''​mixer''​ och är döpta med datum. Filen med senaste datumet ska vara identisk med den i ''/​usr/​local/​bin''​. Arbetsversioner av ''​kakrafoond''​ finns i ''/​home/​lidbjork/​kakrafoon2''​ på ''​mixer''​ och är döpta med datum. Filen med senaste datumet ska vara identisk med den i ''/​usr/​local/​bin''​.
  
 Senaste versionen av ''​kakrafoon''​ (klienten) är ''/​home/​update/​lidbjork/​develop/​python/​kakrafoon.py''​. ​ Senaste versionen av ''​kakrafoon''​ (klienten) är ''/​home/​update/​lidbjork/​develop/​python/​kakrafoon.py''​. ​
-Den ska vara installerad som ''​kakrafoon''​ på [[admin:​maskiner:​tricholoma|Tricho]], [[admin:​maskiner:​psilocybe|Psilo]], och [[admin:maskiner:Omphalotus]].+Den ska vara installerad som ''​kakrafoon''​ på maskinerna som är öppna för allmän inloggning ([[admin:​maskiner:​psilocybe|Psilocybe]], [[admin:​maskiner:​tricholoma|Tricholoma]], mfl). 
 + 
 +Vill du hjälpa till att utveckla ett bättre kakrafoon så rekommenderas det starkt att strunta i kakrafoon 2 och ge sig på version 3, som hittills utvecklas av josk (läs mer nedan). Vill du modifiera kakrafoon 2-demonen ska du prata med ''​lidbjork''​ eller ''​bjarni''​. Vill du hacka på klienten är det bara att kopiera det nuvarande exemplaret till din egen hemkatalog och börja pilla, och be någon admin installera den nya versionen sen. Då är det också bra om du upplyser ''​lidbjork''​ om det så han kan uppdatera sin kopia till den senaste versionen som inkluderar dina ändringar. 
 + 
 + 
 +=== Kakrafoon 3 (under utveckling) === 
 + 
 +I februari 2016 startade byggandet av en helt ny, mer gedigen och mindre buggig, kakrafoon. Diskussion om projektet sker hittills på irc-kanalen #kakrafoon på Efnet, och koden finns på [[https://​github.com/​jolmberg/​kakrafoon|https://​github.com/​jolmberg/​kakrafoon]] 
 + 
 +TODO: 
 +  * väl definierade uppgifter för demon resp. klient 
 +  * databas-hantering av kö/​låtar 
 +  * schemaläggningsmodul med tydligt gränssnitt 
 +  * olika lägen för t.ex. "​anarki"​ och restriktioner 
 +  * stoppa en låt först i kön 
 +  * flytta en låt, t.ex. ta nästa låt och stoppa sist 
 +  * ordna om en användares låtar slumpmässigt,​ bra för album etc 
 +  * ange att flera låtar ska spelas utan andra låtar emellan 
 +  * ogöra featuren ovan 
 +  * volym +/- 
 +  * ploppa upp volymkontrollen 
 +  * mute 
 +  * subtunestöd 
 +  * ange att en låt ska spolas fram till en viss tidpunkt när den startas 
 +  * youtube 
 +  * ta bort låten som spelas 
 +  * paus 
 +  * bättre stats 
 +  * bättre listning av kö 
 +  * linjär volym som vet vilken kontroll som ska ändras 
 +  * interaktiv volym 
 +  * global konfigurationsfil på nåt vettig ställe, inte bara i hemkatalogen 
 +  * klienten kukar ur med en exception om ett filnamn refererar en katalog 
 +  * demonen fyller /​tmp/​kakrafoon efter ett tag 
 +  * klienten skriver inte ut nånting medans den köar, vilket är störande när man köar flera låtar 
 +  * klienten borde inte skriva ut nåt alls när kön är tom, för att göra outputten mer maskinläsbar 
 +  * demonen kan svara med ett "500 internal server error",​ vilket dels inte är särskilt informativt,​ och dels inte hanteras på nåt vettigt sätt av klienten 
 +  * demonen verkar hänga sig helt och hållet medans en klient köar låtar 
 +  * om en klient köar flera låtar börjar ingen av dem att spelas förrän alla låtarna har köat färdigtde dyker inte ens upp i /​tmp/​kakrafoon
  
-Om du vill hjälpa till att förbättra kakrafoon-demonen ska du prata med ''​lidbjork''​ eller ''​bjarni''​. Vill du hacka på klienten är det bara att kopiera det nuvarande exemplaret till din egen hemkatalog och börja pilla, och be någon admin installera den nya versionen sen. Då är det också bra om du upplyser ''​lidbjork''​ om det så han kan uppdatera sitt exemplar till den senaste versionen som inkluderar dina ändringar. 
  
projekt/kakrafoon.1442269385.txt.gz · Last modified: 2015/09/15 00:23 by bjarni