Author: Matthew Ng ([email protected])
Add Lights to the back of your TV! Use the Lightpack filter to have videos render color to the back of your TV in realtime!
Or you can program your own projects with your Lightpack device with the API!
Image from Lightpack's website
This includes two projects:
Choose either setup installation or unzip the package anywhere on your computer
Go here for more information on setup and usage.
Go here for compile and building instructions.
Lightpack was a kickstarted project and the APIs were openned source. Users put lights on the back of their televisions and the computer can send colors to the lights, extending the picture's/video's experience. I have taken the open source software and created a C++ and Node.js API.
The filter allows you to play a video with lightpack shown in realtime without any lag. You can play a video with Media player classic (MPC) and lightpack will update the colors of what is shown on the screen.
For more information, go here.
This filter only works on Windows.
I do not have any other devices besides Lightpack. If you want support for another device, you can email me if you can help me build it (I would mainly give you builds to test on your device).
I have created a single API for C++ and Node.js to interface to the device and Prismatik. These APIs are cross-platform and should work on Windows, Mac and Linux.
For more information, go here.
#include <Lightpack.h>
#include <iostream>
using namespace std;
using namespace Lightpack;
#define HOST "127.0.0.1"
#define PORT 3636
#define APIKEY "{cb832c47-0a85-478c-8445-0b20e3c28cdd}"
int main()
{
// Send colors to the device
LedDevice device;
if (device.open()) {
cout << "Connected directly to the device" << endl;
device.setBrightness(100);
device.setColorToAll(255, 255, 0); // RGB value
}
else {
cout << "Prismatik is probably running, try that" << endl;
// Send colors via Prismatik
PrismatikClient light;
// Test all the functions in the Lightpack API
if (light.connect(HOST, PORT, {}, APIKEY) == Lightpack::OK) {
cout << "Connected to Prismatik"
light.lock();
light.setBrightness(100);
light.setColorToAll(255, 255, 0);
}
else {
cout << "USB not connected" << endl;
}
}
return 0;
}
Check the wiki for the entire API