beste allen,
Zoals sommigen misschien weten (of niet weten
) ben ik actief lid van de Japanse cultuurvereniging voor Eindhovense studenten kinjin (
http://kinjin.nl/home)
Bij kinjin hadden we enorme problemen omtrent het karaoke-systeem. HADDEN want ik heb dit inmiddels opgelost. (dit is het etalage-topic dus hier een opsomming van mijn programmeerwerk)
om bij het begin te beginnen: we gebruikte voorheen soramimi-karaoke (
http://sorawiki.maxworks.nl/index.php?title=Main_Page) echter zoals je op de site al kunt zien is er sinds 2007 geen enkele update geweest.
Soramimi heeft grote problemen heeft met moderne besturingssystemen en HD-video's, bovendien ondersteunt het alleen mp3's xvid-avi etc.
Ik heb de makers van soramimi op MGC-experience aangesproken hierop en de discussie kwam erop neer dat zij geen plannen hadden voor een update, verder mocht ik de broncode niet inzien
ik had zelf op internet een ander programma gevonden: performous, performous kon 1080p video in elke denkbare codec afspelen en had vele functies die soramimi miste.
echter dit programma schoot op een aantal punten zwaar te kort:
ten eerste stonden al onze nummers nog in het oude soramimi-formaat dus ik ben als beginnend programmeur begonnen met een plugin te schrijven voor de editor van performous (composer) zodat deze in ieder geval al het soramimi-spul kon converteren. (hele ontwikkeling is hier te volgen:
https://github.com/performous/composer/issues/3)
let niet op mijn lelijke hacky-code dankzij Tapio's feedback heb ik die allang afgeleerd
1 bericht wil ik er even uit halen:
However, it seems the format is very close to LRC: http://en.wikipedia.org/wiki/LRC_(file_format). Since LRC is very common karaoke format, I think we should rename this to LRC and make a couple of compatibility patches. Since you replace the : with periods, the timecode format difference is already handled.
kortom: ik heb per-ongeluk 2 formaten ondersteund :-) de leukste bug ooit
ten tweede had performous geen afspeellijst-ondersteuning, ook daar ben ik volop mee bezig geweest:
https://github.com/performous/performous/issues/24Tronic (Lasse) eindigde met:
This feature has been merged to master branch. Some polishing work remains but I am closing this bug now.
de "polishing work" is inmiddels ook achter de rug, ik heb vandaag nog toegevoegd dat je nummers kunt verplaatsten, ook zijn er nog visuele dingen toegevoegd zoals covers in t afspeellijst scherm etc.
toen restte er nog 1 probleem, in de oude soramimi-opstelling hadden we laptop aan de beamer staan en konden mensen terwijl dat anderen aan het zingen waren nummers toevoegen via een balkje onderin beeld.
Bij performous kon ik alleen nummers toevoegen NADAT een nummers gespeeld had, dat moest anders, echter een balkje onderin was geen oplossing: performous ondersteunt ook guitar-hero/dance-dance-revolution-spul en een zoekbalkje onderin beeld zou resulteren in te weinig schermruimte voor de overige elementen.
Als je in Japan gaat karaoken dan kom je met vrienden in een klein kamertje te zitten, en heb je een TV voor het zingen en een tablet voor het toevoegen/bladeren, dit was de oplossing!
ik heb in performous een embedded-webserver ingebouwd met
http://cpp-netlib.org/ en heb een web-interface geschreven met jquery-mobile (
http://jquerymobile.com/), het resultaat is verbluffend.
verder krijg ik geregeld verzoekjes voor functies die mensen graag hebben, zo kun je text nu in het midden van het scherm weergeven en performous random-nummers laten spelen.
ook heb ik vele bugs gerepareerd, zo worden in duet-modus nu per speler 2 regels weergegeven (in plaats van 1)
op dit moment ben ik samen met Lasse (Tronic) bezig de DDR-modus te verbeteren door de elementen te vervangen door 3d-modellen en essentiele tekortkomingen te implementeren.
we zoeken nog steeds een designer dus diegene die zich geroepen voelt, neem gerust contact op via #performous@irc.freenode.net
Komende April sta ik met dit programma (en ubuntu) op Tomocon:
http://www.tomocon.nl/ (de hele database is op de site te vinden onder "tomocon superstar")
wil je t nu zelf eens gaan uitproberen?
open een terminal en download de broncode via:
git clone https://github.com/performous/performous.git
of als je de webserver-versie wilt:
git clone -b webserver https://github.com/performous/performous.git
let wel op dat je voor de webserver cpp-netlib nodig hebt van
http://cpp-netlib.org/ (boost folder uitpakken in /usr/include en alles is ok)
zoek je nummers?
http://usdb.animux.de/ (zijn alleen textfiles, de rest van de bestanden moet je zelf zoeken)