# 4:20 — SMPTE LTC Reader & Generator

> SMPTE LTC Reader & Generator (iPhone/iPad app by Upload Studio Ltd..)

- Source: https://appshunter.io/ios/app/420/id327003892 (this page in markdown: same URL + `.md`)
- Developer: [Upload Studio Ltd.](https://appshunter.io/developer/318563953)
- Category: Photo & Video, Music
- Price: $4.99
- Age rating: 4+
- Requires: iOS 17.0 · 1 MB
- Languages: American English
- Released: 2026-08-17
- Data updated: 2026-09-14
- User reviews in markdown: https://appshunter.io/ios/app/420/id327003892/reviews.md

## What is 4?

4:20 is an SMPTE LTC timecode reader and generator for iPhone and iPad. It reads timecode from a wired audio input and shows lock, frame rate, drop frame, measured rate, direction, and level. It can generate LTC at the same time, over the same connection.

The reader is made for troubleshooting. When a rig will not chase, plug into the line and check the code where you stand: the rate as measured against what the source claims, drop frame or not, which direction it is running, and how hot the line is. Mislabeled rates, code that should have stopped, and low or clipping levels all show up in the first few seconds. Between cues, it works as a confidence monitor on any line you need to trust.

The screen does not sleep while a mode is running, and timecode keeps going when you switch to another app. Checking a message does not stop the code.

READER

• Lock state and a full readout: frame rate with drop frame flag, measured rate, direction, level
• Runs continuously and keeps reading through route changes and interruptions
• Keeps reading in the background while you use another app
• If iOS takes the audio session away, the readout dims and says so instead of holding stale numbers

GENERATOR

• 23.976, 24, 25, 29.97 drop frame, and 30 fps
• Start from any timecode, or generate time of day
• Output level control, with left, right, or both channel routing
• Anchored to the system clock, so long runs hold their time
• Keeps generating in the background while you use another app
• Runs alongside the reader for loop-through checks
• Warns before sending LTC to a speaker, Bluetooth, or AirPlay, and requires a press-and-hold to override

REQUIREMENTS

A wired audio connection: a class-compliant USB audio interface, or a headset-jack adapter with a line input. There is no microphone mode. This version reads and generates LTC only; MIDI timecode is not supported.

PRIVACY

No account, no analytics, and no network connection. Nothing leaves the device.

Made for production sound, playback and show control, video engineering, DIT carts, and broadcast maintenance.

## Chart rankings

- #190 in Top Paid · Photo & Video (US App Store)


## Version history (last 5 releases)

### 1.1.2 — 2026-09-04

The level ladder. Its first cell now means the reader is showing decoded timecode, and it stays lit for as long as that is true, however quiet the line. Earlier versions could read an empty ladder under a green LOCKED chip on a quiet wire. The first cell also lights the moment the chip leaves NO SIGNAL, whichever way the phone is held; before, the ladder could stay dark for up to about 2 dB above the floor while the chip already said SIGNAL · NO TC, by an amount that depended on the orientation. One lit cell under LOCKED is a very quiet line that is still decoding, not a fault. The rest of the ladder reads exactly as it did.

Nothing about lock, frame rate detection, the generator or output safety changes in this release.

### 1.1.1 — 2026-08-30

The frozen readout. A freeze now always begins with the separators lit, and they blink from the moment you press FREEZE rather than from wherever the cycle happened to be. Through the dark half of each pulse they are drawn in a faint gray instead of disappearing, so a frozen readout still reads as timecode between pulses.

Landscape layout. The transport column is wider, so FREEZE, RESUME and a captured COPY value all sit at full size on a phone held sideways. The width comes out of the digits, which had it to spare.

The OUT sheet now says what a chaser does while a FREEZE stands, and Settings explains why iOS reports microphone access while only OUT is sending: the app opens the audio input and output together, so timecode can arrive and leave at the same time. No audio is saved, and none of it leaves the device.

In the log export, the generator's line reports its output level in dB with the device volume beside it, and a reader that cannot start records one line per stall instead of one per retry.

### 1.1 — 2026-08-27

One-tap transport. START, STOP and FREEZE sit on the IN and OUT strips themselves, so running either mode no longer means opening a sheet. The sheets hold configuration only, reachable from a settings circle on every strip in every state. A stopped OUT keeps its place on screen with the reason it stopped, until you clear it.

FREEZE. OUT parks the outgoing timecode and keeps sending it, so a chaser keeps its lock and picks up in place on RESUME. While the value stands, the separators on the readout blink, so a frozen output cannot be mistaken for a stopped one. Verified against a disguise server, which stayed locked through holds of several minutes at 30 and 29.97 DF and resumed in place. One thing to know: while the value stands, some chasers step their playhead ahead and back; disguise steps about half a second. FREEZE is not offered in Time of day, where output always matches wall time.

Standing sources. The reader now locks on timecode that is already standing and shows the parked frame rather than the one after it. Built for a parked deck or a recorder's stationary timecode; verified so far against a frozen generator. A reader that loses its signal keeps the last timecode it read, dimmed, instead of going blank.

COPY on the IN strip puts the timecode it is reading on the clipboard.

Channels. When iOS offers only one input channel on an interface that has two, the status bar says so and the IN sheet explains the remedy, instead of reading NO SIGNAL on a good cable.

Frame rate detection, re-verified on this release's lock code against timecode from two other manufacturers' encoders at every rate the app supports, including 23.98 against 24 in both directions.

Also in this release: the log export names the build, the OS and the device and says whether any audio was dropped; and when another app has taken the audio and let it go, 4:20 notices within five seconds while it is in front.

### 1.0.1 — 2026-08-18

Interruption handling. Phone calls, Siri and alarms take the audio hardware away, and this release makes 4:20 give it back correctly. The generator holds its position through an interruption and resumes where the clock says it should be, or stops and tells you why it stopped. The reader re-arms on its own once the input comes back.
 
Frame rate detection. The reader now decides 29.97 against 30, and 23.98 against 24, from accumulated evidence rather than a single measurement, and it shows nothing at all rather than guessing when the evidence does not decide. Verified against timecode generated by other manufacturers' encoders.

Also in this release: recovery after another app releases the audio session is faster, and the Do Not Disturb tip now describes what actually happens to output during a call.

### 1.0 — 2026-08-17

No release notes.

## More apps by Upload Studio Ltd.

- [CyberDeck for Companion](https://appshunter.io/ios/app/cyberdeck-for-companion/id6469463927)

All apps by Upload Studio Ltd.: https://appshunter.io/developer/318563953

---

*Data collected daily from the US App Store and indexed by [AppsHunter](https://appshunter.io/). User reviews are verbatim App Store reviews. Ratings, prices and chart positions refresh continuously; this snapshot is from 2026-09-14.*
