Tux Machines

Lua: WirePlumber and More

Posted by Roy Schestowitz on Oct 27, 2022

=> Android Leftovers | Videos: Manjaro, Lubuntu, TUXEDO OS, FSFE, BSD Now

=> ↺ Ashok Sidipotu

From Lua to JSON: refactoring WirePlumber's configuration system

=> ↺ From Lua to JSON: refactoring WirePlumber's configuration system

Refactoring WirePlumber's configuration system is the first big feature I took up since I joined the PipeWire/WirePlumber team a year back. It's a year well spent in my professional life, hanging around with caring people and truly open source technology. With what I have seen in the multimedia stacks, I honestly believe PipeWire is the next generation multimedia server and WirePlumber playing the role of enhancing its utility and appeal.
Let me cut back to the subject at hand.

Trick Lua into becoming an object-oriented language | Opensource.com

=> ↺ Trick Lua into becoming an object-oriented language | Opensource.com

Lua isn't an object-oriented programming language, but a scripting language utilizing C functions and a C-like syntax. However, there's a cool hack you can use within Lua code to make Lua act like an object-oriented language when you need it to be. The key is in the Lua table construct, and this article demonstrates how to use a Lua table as a stand-in for an object-oriented class.
[...]
The term "object-oriented" is a fancy way of describing, essentially, a templating system. Imagine you're programming an application to help users spot and log zombies during a zombie apocalypse. You're using an object-oriented language like C++, Java, or Python. You need to create code objects that represent different types of zombies so the user can drag them around and arrange them on a map of the city. Of course a zombie can be any number of things: dormant, slow, fast, hungry, ravenous, and so on. That's just textual data, which computers are good at tracking, and based on that data you could even assign the virtual "object" a graphic so your user can identify which general type of zombie each widget represents.

=> gemini.tuxmachines.org

Proxy Information
Original URL
gemini://gemini.tuxmachines.org/n/2022/10/27/Lua_WirePlumber_and_More.gmi
Status Code
Success (20)
Meta
text/gemini;lang=en-GB
Capsule Response Time
138.192074 milliseconds
Gemini-to-HTML Time
0.753069 milliseconds

This content has been proxied by September (ba2dc).