Dan zijn we het fundamenteel oneens.
Dit is allemaal prima, en clean, oplosbaar via hardware abstractie en class overloading en inheritance...
In PHP zou ik (even uit de losse pols) doen:
// creer storage voor generieke objecten
$registry = new StdClass();
// top level class voor alle hardware
abstract class Hardware {
// generieke data en code voor alle hardware hier...
// method definitie voor het aan/af zetten van het opname led
abstract protected function recording_led {bool status): bool;
}
En per ondersteunde box:
class et9x00Hardware extends Hardware {
// specieke et9x00 initialisatie, data en code
protected function recording_led(bool: status) {
// specifieke functie voor de et9x00
}
}
// maak een instantie aan voor de de registry
$registry->hardware = new et9x00Hardware();
En in de code
// zet de opname led aan
$registry->hardware->recording_led(true);
Hierdoor hoeft de code niet te weten op welke box het draait, en hoeft deze het ook niet uit te zoeken. Ook uitvissen of de feature ondersteund is, en zo ja, hoe het te implementeren is dan volledig weg uit de enigma code.
Hiermee kun je alle platform specifieke zaken uit de code filteren, en ook af van de SystemInfo global.
Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Pro (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)
Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.
Many answers to your question can be found in our new and improved wiki.