GDI.js began as a standalone V8 runtime for Windows. Its V8 host is now replaced by Node.js.

Node owns the event loop and standard APIs such as files, HTTP and TCP. The GDI-specific desktop, device, audio and automation modules remain.

The result is a turbocharged Node.js fork for Windows user space: approachable for entry-level developers and powerful enough for experienced developers and power users.

const ports = JSON.parse($serial.enum());
const connectionId = $serial.open(ports[0].port, 9600);

$serial.write(connectionId, 'STATUS;');
if ($serial.available(connectionId)) {
    console.log($serial.read(connectionId));
}
$serial.close(connectionId);
const radios = $bt.listRadios();
const devices = $bt.listBle();

console.log(radios, devices);
$bt.broadcastStart(advertisement => {
    console.log(advertisement.address, advertisement.data);
});
const voice = $tts.voices().find(name =>
    name.toLowerCase().includes('sapiproxy')
);

$tts.render('Hello from GDI.js for Windows.', voice,
    'userdata/cache/voxcache',
    (file, elapsedMs) => console.log(file, elapsedMs));
const arrivalListener = $hw.on('arrival', devices => {
    console.log('Devices added:', devices);
});

const removalListener = $hw.on('removal', devices => {
    console.log('Devices removed:', devices);
});

https://gdi.psychip.net/dist/x64/gdi-setup.exe

https://gdi.psychip.net/dist/x64/gdi.zip
                
Download Documentation Contribute
@psychip