User Tools

Site Tools


projekt:kakrafoon

Differences

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

Link to this comparison view

Next revision
Previous revision
projekt:kakrafoon [2015/09/03 00:08] – created lidbjorkprojekt:kakrafoon [2017/12/28 03:37] (current) – [Utveckling] bjarni
Line 1: Line 1:
 ===== Kakrafoon ===== ===== Kakrafoon =====
-Kakrafoon är mjukvaran som sköter uppspelningen av musik i t-salen. Servern ''kakrafoond'' körs på Butlerelfia och tar emot låtar och kommandon från klienten ''kakrafoon'' som körs på t.ex. [[admin:maskiner:tricholoma]] eller [[admin:maskiner:omphalotus]] och anropas av användaren. Se sidan [[:lokaler:t-salen|t-salen]] för användarhjälp. 
  
-Kakrafoon skrevs ursprungligen Python av dr_root och har sedan vidareutvecklats av lidbjork, bjarni, m fl.+Kakrafoon är mjukvaran som sköter uppspelningen av musik 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.
  
-=== I brist på ordentlig versionshantering ... ===+Den nuvarande ''kakrafoon'' är den tredje inkarnationen av systemetDe första två versionerna var bakändor till CUPSDen 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.
  
-Servern är installerad som ''/usr/local/bin/kakrafoond'' på [[admin:maskiner:butlerelfia|Butlerelfia]] och körs i en bortkopplad screen.+==== Snabbguide ==== 
 + 
 +Kör kommandot ''kakrafoon'' i en terminal så får du en lista på alla kommandoradsväxlar som finns för tillfället. I princip kan man sammanfatta användandet såhär: 
 + 
 +  * **Köa låtar** Man köar låtar genom att skriva ''kakrafoon'' följt av ett eller flera filnamn. Då skickas filerna över till servern och hamnar i kön. Kön ordnas dynamiskt så att den växlar rättvist mellan olika användare. 
 +  * **Visa kön** För att titta vad som finns i kön kan man skriva ''kakrafoon -q'' eller ''kakrafoon -l'', som ger lite olika output. Där står jobbnumret för varje låt. 
 +  * ** Ta bort låtar ur kön** För att ta bort en låt använder man ''kakrafoon -r <jobbnummer>''. För att ta bort låten som spelas just för tillfället räcker det med ''kakrafoon -r''. Man kan också ange namnet på en användare för att ta bort den användarens låtar, eller växeln ''-a'' för att ta bort allting. 
 +  * **Ändra volymen** Kör ''telnet mixer'' så får du upp en volymkontroll. 
 + 
 +Diverse olika filformat stöds. Det går också att strömma ljud med ESD eller NAS. Då ska ljudservern vara satt till ''mixer:0''. För NAS heter miljövariabeln ''AUDIOSERVER'', för ESD heter den ''ESPEAKER''
 + 
 +Det finns också en [[http://mixer.update.uu.se/|websida som visar statistik över spelade låtar]]. 
 + 
 +Det anses lite ofint att köa hela album när det är fler personer som spelar musik, och det anses väldigt ofint att köa musik om man inte är i T-salen, annat än om det är någon i T-salen som har bett en göra det. Det kan vara så att volymen är uppskruvad väldigt högt, och det syns inte på telnet-volymkontrollen om det av nån anledning är ratten på själva förstärkaren som är uppskruvad. 
 + 
 + 
 +==== Utveckling ==== 
 + 
 +=== 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''
 + 
 +Senaste versionen av ''kakrafoon'' (klienten) är ''/home/update/lidbjork/develop/python/kakrafoon.py''.  
 +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ärdigt. de dyker inte ens upp i /tmp/kakrafoon
  
-Arbetsversioner av kakrafoond finns i ''/home/lidbjork/kakrafoon2'' på [[admin:maskiner:butlerelfia|Butlerelfia]] 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''.\\ 
-Ska vara installerad som ''kakrafoon'' på [[admin:maskiner:tricholoma]], [[admin:maskiner:psilocybe]], [[admin:maskiner:omphalotus]] 
projekt/kakrafoon.1441231734.txt.gz · Last modified: 2015/09/03 00:08 by lidbjork

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki