A nostalgic Microsoft Dancer for your Touch Bar: a Pock widget that plays the classic dancer animations. Pick which dancer you want from a dropdown in Pock's Widgets Manager. One dancer plays at a time; running several animations at once made some of them freeze.
This repo contains no dancer artwork. You supply the original files yourself and a script converts them locally, in the same spirit as Tale of Two Wastelands.
- A Touch Bar Mac (this build targets Intel / x86_64) with Pock 0.9.0 installed in /Applications
- Xcode command line tools (
xcode-select --install), andffmpeg(brew install ffmpeg)
- Scooby Doo (the free trial): https://archive.org/details/scooby_dancerle. You need
ScoobyDoo_L.Dnc. - The other dancers (Amanda and the rest, from the
MSPLUS!DMEdisc image): https://archive.org/details/msplus-dme Each dancer is a.cabin the disc's folders; the_lones are the large versions.
This widget is built and tested against Pock 0.9.0, the last release from the original author. The community forks PockV2 and PockV3 aren't supported: PockV3 bundles an older PockKit whose widget API differs from 0.9.0's, and it crashes on launch if any 0.9.0-style widget (this one included) is in ~/Library/Application Support/Pock/Widgets. Don't run PockV3 against the same Widgets folder as 0.9.0.
./convert.sh /path/to/ScoobyDoo_L.Dnc /path/to/Amanda_l.cab # any mix of .Dnc files, .cab files or folders
./build.sh --installPointing convert.sh at a folder converts every dancer in it, preferring the large version of each. Then restart Pock, open the menu bar icon > Customize Pock... and drag Dancer onto the Touch Bar. Choose which dancer plays in Widgets Manager > Dancer.
Dancers live in ~/Library/Application Support/Pock/Dancers, so converting more later needs no rebuild: they appear in the dropdown straight away.
- A Pock widget is a
.pockbundle, not a SwiftPM library.build.shassemblesDancer.pockwithswiftcandibtool, linking against the PockKit embedded in Pock.app, so no Xcode project is needed. convert.shreads each dancer's video, finds the area they dance in from the.Datalpha mask (detect_crop.py), and writes frames 60px high: the Touch Bar is 30pt, 60px at 2x. Wider dancers get wider widgets.- The widget reads frames from disk as they play, so even a seven-minute dancer uses almost no memory.
- The dropdown is Pock's per-widget preferences pane (
PKWidgetPreferenceClassinInfo.plist), a small compiled nib plus code.
For Apple silicon, the PockKit module and the -target in build.sh would need an arm64 pass.