Richard M. Rodriguez
airplanekickflip.bsky.social
Richard M. Rodriguez
@airplanekickflip.bsky.social
Filmmaker, programmer, funny enjoyer

https://github.com/richardmrodriguez
Hooray! I was wondering how this was going for you, so cool!
January 15, 2026 at 4:25 PM
Plex is a self-hostable streaming service. You can run it on a local computer and stream your own copies of movies and tv shows to your own devices. I think plex also have a paid option which might give more features or cloud stuff. yay self hosting!
January 15, 2026 at 4:23 PM
Oh no! :(
November 30, 2025 at 5:14 AM
Nice! Very much looking forward to a stream segment about how it goes for you. I have an Ubuntu server running jellyfin and it streams and transcodes my 4k blu rays like *mwah*. Good luck! Have fun with owning media!
November 29, 2025 at 5:56 AM
Yay yay yay! Jellyfn gang? Or mayhaps emby?
November 29, 2025 at 5:38 AM
I have this code available on github, but the repo is just a *mess* at the moment. Plus this implementation is... bad. I want to refactor and republish the Godot app after production of the short film is done, so that others interested in making animations / sequences with 14-seg displays can too.
August 14, 2025 at 9:26 AM
The way this pipeline works is: MIDI -> custom Godot App -> Serial to host ESP32 -> Wireless ESPNOW -> ESP32 Clients w/Sparkfun Alphanumeric Display

I could have just had this done with hardwired Arduinos, but I wanted to avoid having to hide wires and run long USB power cables when arranging them.
August 14, 2025 at 9:26 AM
Using a DAW like Bitwig will allow me to easily sequence these expressions, and synchronize with a character's voice lines. Then I can replay each section, one bit as a time when filming.
August 14, 2025 at 9:26 AM
This is all fairly trivial to test in terms of Adding these annotations. I need to also test Modifying and Removing annotations.

But the big feature set here will be the reports that can be generated from all this, namely a Shot list, which can be filtered and sorted by location, Setups, etc.
July 30, 2025 at 11:05 AM
TaggedElements are structs that contain some ontigues range of text in the document, and associated Tags. So, this would represent highlighting a multiword thing like "the red flashlight." Then you can create a TaggedElement which associates that with a particular set of Tags, like Props.
July 30, 2025 at 11:05 AM
Tags are simple, they contain a string element, and a collection of associated Departments.

department enum variants represents the various departments like Art, Costumes, Camera, Vehicles, Grip, Electric, etc...

Shots can have multiple tags explicitly associated with them...
July 30, 2025 at 11:05 AM
ShotLines are lines that represent a continuous shot. They span from one line of text to another line of text in the document. ShotLines have a start and end coordinate, and contain one(maybe more?) ShotComposition, which is the actual kind of shot (wide shot, etc...).
July 30, 2025 at 11:05 AM
I can open a screenplay PDF, have it converted into a ScreenplayDoc by the parser.

The screenplayDoc is a part of the ShotLinerDocument struct, which has a separate AnnotationMap struct.

The Annotation Map contains Tags, ShotLines, and TaggedElements...
July 30, 2025 at 11:05 AM
Broadly, I'm still putting things like "Dual Dialogue" handling, or parsing complex scene headings with multiple locations (e.g. INT./EXT. HOUSE/STADIUM) on the backburner. I'm anxious to really start building the core for #ShotLiner soon. I can go back and add edge-case stuff later.
July 25, 2025 at 11:17 PM
... and the Red-colored cells denote categories that didn't make sense semantically.

Now, I have to do a pass to implement proper Result<T, E> returns for all these functions. Plus documentation would be good as well.
July 25, 2025 at 11:17 PM