XZZZX
An iOS MIDI Video Player
> Download v1.5 from the App Store <
Overview:
XZZZX is a MIDI-controlled video player with timecode display.
I had a very simple need: Use my Teenage Engineering OP-1 and OP-XY to control playback of :30/:60/:90 second social media videos on my iPhone, with a timecode display, for composing and scoring music.
Existing apps are heavy, had a ton of features I didn't want or need, and were all overkill for this simple task. I just wanted to control a video via PLAY/STOP/CONTINUE sent from my synth with a timecode to understand timing.
XZZZX does this simply and easily, because that's all it does.
Features:
- FREE
- Responds by default to System Transport messages: play, stop, and continue (with SPP)
- Supports MIDI CC control of start/stop/continue and video mute/unmute via custom configuration
- Timecode display
- Auto BPM detection from MIDI clock
- Hybrid clock sync (timecode corrects to MIDI clock every beat)
- Use app with a saved video or no video
- Loads video files locally. Takes a bit longer to start up, but no privacy concerns and it works offline.
- Configurable play and paused timecode colors
- Configurable video muted and unmuted colors
- MIDI connection selection, memory, and state detection
- Connect directly via cable, Bluetooth, or use a Mac as a wireless MIDI hub
- Auto/Light/Dark appearances
- Works on Apple Silicon Macs, too!
- Works with any MIDI-compatible synth, DAW, sequencer, or software
- Works great with my MIDI Transporter Mac app
Notes:
- Need a stand for your OP and have a 3D-printer? Check out my OP stand on MakerWorld.
-
While XZZZX's timecode corrects to MIDI clock every beat, it doesn't attempt to keep the video in sync with the device that sends the start/continue command.
Once you send a command, the video free-plays. The video will eventually drift and get out of sync with your device(s), but it's negligible for very short social media videos.
I could invest time developing an algorithm to keep the video in sync, or I can use the video as the MIDI timing reference, but it's not really what I set out to do with this app.
Let me know if that's something you're interested in seeing.