
Recently, it was that autumn school holidays time again. So I did another thing, because idle hands are Sam Altman’s workshop… This time also for DaVinci Resolve.
Previous things:
Thing 1 – Lens Debaser for DaVinci Resolve
Thing 2 – FIACAM for ARMA Reforger
Welcome to my nerdy nerdings that may be even too nerdy for the nerdiest of nerds, part 3.
Introducing Thing 3 – Ghetto Scopez: Stellar Scopes. On any screen.
View scopes (old & new) from DaVinci Resolve on any display with a browser connected to your network.
Why? Because, of course!
Well, it started with an idea to buy a cheap usb monitor to use on the desktop below my main monitor to vibecode the scopes I mostly use in Resolve for it. As I have some unused real-estate behind the keyboard directly below the center monitor, I thought it would be nice to see the scopes at the same time as seeing the Resolve UI on the main monitor (I usually have scopes in full screen on the left monitor, clean feed to the right, and direct monitoring above the main center display, which makes seeing the change in the scopes and image at the same time more of a hypothetical possibility than the reality) .
After a little armchair research into cheap usb monitors and after staring reality in the face, it became clear to me that what I don’t need is even more displays; I have several unused older ipads and monitors laying about already.
So the project soon pivoted to using older iPads.
The first idea was to build a native iOS app for this. The first stab at that made three things painfully clear:
- I need some sort of a server or host between Resolve and an iOS app anyhoo.
- Developing native iOS apps is much slower (at least for me) than building web apps (iterations on a web server with a view interface as an app is just insanely much faster than native/compiled from where I’m sitting)
- I’ve have about the double amount of experience with building web servers and web apps than native iOS apps (30 years of doing web things vs roughly only half of that time also doing native Apple things).
Then the project pivoted to using a web app with a web server in the middle communicating between an OFX plugin (GTap) and a web app (Ghetto Scopez), in effect enabling scopes on any old display with a (compatible) browser.
And things really accelerated from there on.
Ghetto Scopez is basically three parts (that are included in the installer):
- The OFX plugin called GTap that needs to be added to a node (e.g. after the node that transform the color space to display space, often after the very last one in a normal Timeline-level node tree)
- A web server that can communicate between the OFX plugin and the scopes display page in a browser
- The web app, aka web page – a viewer layer – that communicates with the server and displays the data it delivers as scopes in real-time on an external display in a compatible browser connected to the same network as your Resolve machine & the web server
The GTap OFX needs to be added to a node in Resolve to give GTap data, GTap analyses the data it receives, passes analysis over to the GS server, the server makes sense of the GTap analysis data and regulates traffic of the data, passes interpretation of the data over to a (customisable) web page as the viewing layer for human consumption as e.g. visualisations (scopes) and their settings, in (as) real-time (your computer specs will allow).
That’s it.
UPDATE: I’m an Apple dev. Again. Yay. Now installs normally like any app, binaries signed and notarized, no sketch security work-arounds needed.
A note on the (current) kludge of an install process is in order: I am (for some unknown reason) STILL waiting for Apple to reactivate my dormant Apple Developer ID (it’s being tracked, it’s moving forward – albeit at an insanely slow pace), so for now this installer process is highly sketch, is only Ad-Hoc signed, is not properly notarised with Apple Dev ID. But it should work – if you’re determined enough to try this out right now.
For now, installation is for the brave and requires a little knowledge of how to operate things behind the UI curtain. The installation script automatically starts the Ghetto Scopez server. For later (re-)use, double-click ‘Start.command‘ to start the server again. Keep the Terminal / CLI window open while using the scopes. Press Control-C in the CLI window to stop the server. (Scopes do not work if the server isn’t running to feed them data.)

Things may break. Be warned. This software is provided as is and as available, without warranties of any kind, express or implied. To the fullest extent permitted by applicable law, I accept zero liability for loss, damage, interrupted work, corrupted projects, lost media or any other consequence arising from installation or use. Test the plugin on shit that can blow up with no serious consequences – not your paid client projects nor irreplaceable family experiences.
I’m also a fan of Time in Pixel’s Nobe OmniScope – it looks like everything a pro would ever need for scopes (and then some, so go buy it instead of wasting your time here) – but I’m too stingy (which is more than a borderline dysfunctional behaviour, because it’s really not that expensive at all, but there are SO MANY OTHER SHINY BLINKIES TO BUY!) to justify the purchase just for a hobby that wastes an insane amount of time and money already doesn’t pay for itself.
I’ve also always been curious if using the Tektronix Double Diamond (or Split Diamond) / Nobe OmniScope TwinPeaks would help in my rinky-dink hobby-ista “work” (especially with color corrections, getting to a good neutral – before digging into the looks & feelz).
So I built something like a Double Diamond scope to test. In Ghetto Scopez parlance it is called DoubleD. But of course it is. (No. Don’t go there…). You can use it horizontally to fill the space…


Or vertically, if that makes more sense for you.

We all know the trope about parking on the hero, but did you know you can now park your grade like you park your car? Turn Parking Assistance (PAS) on in controls, toggle on and off in the active scope, hear audible warnings when highlights, shadows or saturation approach your chosen limits!
And of course you always wanted to use the Resolve color grading tools as a game controller to play games – INSIDE OF RESOLVE SCOPES – too, so there’s an answer to what you’ve been yearning for all these years and that scope is called “OG”. Now go collect all the diamonds – claim the reward (if you can):

Across a trillion blazing galaxies, the intergalactic Prince of the Universe and his neon tiger seek diamonds beyond counting. Empires tremble. Stars bow. Fabulous destiny awaits:

It’s got Lum vs SAT scopes, alls sorts of Hue Histogram scopes, and a lot of other stuff: Check it out.
Is this safe? Probably possibly maybe not HELL NO! I couldn’t be bothered to harden this for a local yolo network install with https or whatever. So be warned. Do not install on critical infra. Probably you should not install this at all.
Is this optimised? Sort of. Most of the dev process so far went into finding ways to make it perform as fast as possible, aka at least try to match output speed of GTap to the monitoring scope page fps (which seemed to be the logical max). It was trained on synthetic targets of known values, but I only tried it in actual life on ProRes RAW Open Gate 4k content so far (yes, I’m lazy and yes, this is just the first release, easy now), and although my Mac and Thunderbolt 4 SSD RAID10 array can play BRAW at least in 8k, ProRes RAW tanks out at somewhere between 15 and 20 fps playback (depending on footage) for Apple ProRes RAW Open Gate 4k just with a transform to display space LUT applied, BEFORE the GTap analysis and communication plugin is added. On my vanilla Mac Mini M1 system at least, the rate of GTap spitting out results matches the fps (15-17 fps) in the scopes page (connected over WiFi). YMMV. Let me know how this performs on you beast of a production machine – or not.
Side note: My fave conversion route to display space right now is Cullen Kelly’s Referent for my iPhone’s ProRes RAW Open Gate footage, using a Referent LUT for Apple Log2 to rec709/Gamma2.4 sidestepping the need for a god-awfully bland (and weird-looking) native CST sandwich (and I also use the LUT when shooting using the Blackmagic Camera app which is great for consistency and predictability). For my BMD Micro Cinema Camera DNG content I normally use the fantastic OpenDRT.
Are these scopes accurate? IDK. You tell me. Accurate enough for me. For now. I’m not a pro and I don’t really use scopes when grading (much). I mostly use vector scopes to get my bearings on color correcting or adjusting, waveform to check for clipping. That’s pretty much it. For me, color grading is a taste / art thing, not a science fair competition. Do not rely on this being accurate for anything, though.
Why CC BY-NC-SA 4.0 (and not a proper big-boi-OSS-GPL-style license)? I think it’s a license most people can understand without having to involve a crack legal team or ending up in a political argument like that scene in ‘Life of Brian’ stuck on infinite repeat…)
Why Ghetto? It’s just a prefix I’ve always used for my cheap-ass, half-assed, jury-rigged projects. Consider it my dumb-ass idiolet. My Ghetto wireless transmission of a HDMI signal using a 15 bucks AliExpress rear-view camera transmitter with an iOS app was probably patient zero in that regard. (It actually works as well as many more “expensive” solutions in the 100-200 bucks range, but with much less range).
Why the Z? Z is for Zorglub! My favorite GOAT villain by Franquin – the greatest cartoonist that ever lived.
Why Non-Commercial? I’m not trying to make money on AI slop, and neither should you (by repackaging and pimping my ready-made slop).
Why no working color space tap, only display space? I don’t know if that’s a thing you need, but scene referred tap could happen in the next release. It may even be included by the time I finish this post (that’s the iteration speed we’re living with today, folks: It’s faster for me to develop, test, and ship a new release than finishing a freaking blog post these days… Yes. I can confirm my secret agent now reports working space tap as added, tested, deployed. My GenX mind cannot comprehend. Now if this actually works… Dunning-Kruger, here we come!).
The source is freely available on GitHub. Report bugs and feature requests here.
If you want call this open source or not is up to you. (I don’t care too much about the finer points of that philosophical / political discussion).
It’s openly available, it is free, and it is inherently non-commercial (I think making money on your own AI slop is questionable at best, but making money by repackaging and pimping someone else’s slop should earn a special place in hell – if there ever was such a thing).











