Open source

Open-source code die ik heb geschreven en onderhouden.

De grootste onderdelen staan hieronder, elk gelinkt naar de publieke source op GitHub, waar mijn werk onder opdenkamp staat. Het beslaat ruim een decennium — van een library die in vrijwel elke Linux-distributie zit tot code die vandaag de dag nog onderdeel is van mainline Kodi.

libCEC — HDMI-CEC userspace library

Auteur + hoofdmaintainer · 2011 – heden

De feitelijke open-source HDMI-CEC library voor Linux, Windows, macOS, BSD en Android. Gebruikt door Kodi, LibreELEC, OSMC, RetroPie en een lange staart van integrator-tooling. C++ library met C-, C#-, Python- en andere bindings.

Verpakt in vrijwel elke Linux-distributie: Debian/Ubuntu (apt install libcec-dev), Fedora (dnf install libcec-devel), Arch (pacman -S libcec), Alpine, openSUSE, Gentoo, NixOS en andere. Beschikbaar out-of-the-box voor elke Linux-gebruiker zonder vanuit source te bouwen.

Vendor-quirk handling is de praktische meerwaarde van libCEC bovenop de spec: HDMI-CEC in de praktijk is vol van SHALL-vs-SHOULD ambiguïteit waar sommige fabrikanten misbruik van maken. libCEC handelt die incompatibiliteiten af, onzichtbaar voor de eindgebruiker.

Multi-adapter opzet. De library stuurt niet alleen de USB-CEC bridge aan, maar ook de Raspberry Pi VC HDMI-CEC interface, het in-kernel Linux CEC-subsysteem en andere backends. De Raspberry Pi adapter-port is van mij. Elke Pi die Kodi draait met CEC-over-HDMI spreekt via deze code.

Pulse-Eight/libcec op GitHub →

Kodi peripherals-subsysteem

2011 · Mainline XBMC/Kodi · Fundament voor remote / gamepad / CEC-afhandeling project-breed

Introduceerde het xbmc/peripherals/-subsysteem in mainline XBMC/Kodi, met Pulse-Eight CEC-adapter support als eerste peripheral erop gebouwd. Het subsysteem is sindsdien het fundament voor de peripheral-afhandeling van het project, inclusief de gamepad / RetroPlayer-integratie die er jaren later op gebouwd werd.

xbmc/peripherals in mainline Kodi →

XBMC / Kodi PVR + EPG subsystemen — out-of-tree → mainline kern

2011 – 2013 out-of-tree fork → mainline merge · Kern live-TV / DVR / EPG / timeline in Kodi

Jaren out-of-tree werk dat de kern werd van de PVR (live TV, opnames, planning) en EPG (electronic program guide, timeline) subsystemen in mainline Kodi. De fork op opdenkamp/xbmc liep meerdere jaren met actieve community-adoptie voordat het in mainline landde. De PVR- en EPG-subsystemen zitten vandaag de dag nog steeds in elke Kodi-release. Zie de history van xbmc/pvr/ en xbmc/epg/ in mainline.

Het addon-ecosysteem op opdenkamp/xbmc-pvr-addons, dat Kodi verbindt met backends als tvheadend, VDR/VNSI, MediaPortal, DVBLink en NextPVR, werd later gereorganiseerd in de toegewijde kodi-pvr GitHub-org.

xbmc/pvr in mainline Kodi →

Externe verwijzingen

Onafhankelijke third-party attributie van het open-source werk hierboven: het officiële Kodi-project schreef in The USB-CEC Adapter is a look into the Future (oktober 2011) over het libCEC-werk. De Nederlandse tech-pers Tweakers berichtte over de PVR mainline-merge in XBMC Frodo (september 2012).

Mijn GitHub-footprint loopt diep in de zes cijfers aan commits over publieke en partner-repos. Wie door de oudere historie graaft, vindt een deel van vóór dat account: XBMC/Kodi community-discussies uit de begintijd refereren aan de handle dushmaniac, en een aantal oudere commits staat op naam van Lars Op den Kamp onder verschillende e-mailaliassen. Dagelijks privé-werk zit in Pulse-Eight- en andere klant-repositories.