DM Read Aloud — Support

Support for DM Read Aloud, the Mac app that reads Claude Code’s replies aloud and highlights each word as it’s spoken. If you don’t find your answer here, email josh@dependentmedia.com and a human will reply.

What you need

  • A Mac running macOS 14.4 or later.
  • For reading Claude Code replies, Claude Code installed and a ~/.claude folder. Everything else — reading the clipboard or a text file — works without it.

Quick start — hear your Claude Code sessions

  1. Open the app, then Settings → Claude Code and press Set Up Claude Code…
  2. Choose your ~/.claude folder. You do this once. The app is sandboxed, so it cannot reach the folder until you point it there.
  3. The app installs its hook script and adds three hooks to your Claude Code settings, keeping any hooks you already have. A copy of your previous settings file is saved beside it.
  4. Claude Code picks the change up without a restart. The next reply a session finishes is read to you: the session’s name first, then the reply.

Prefer to edit your settings yourself? Copy Settings Block, in the same place, puts the hooks on the clipboard to paste in.

Reading anything else

File → Read Clipboard (⌘⇧V) reads whatever is on the clipboard. File → Open Text File… (⌘O) reads a text or Markdown file, and so does dropping one on the app’s icon.

Controls

The controls at the bottom of the window always act on the reply being read, even when a different reply is on screen. Show, next to its name, brings it on screen.

ActionHow
Stop (also clears the queue)Esc or ⌘. — or the Stop button at the bottom, the toolbar’s stop button, the menu bar player, or right-click the Dock icon
MuteThe Auto-Read toolbar button, the menu bar player, the Dock menu, or ⌘⇧A. Muting also stops what’s playing; new replies are still listed.
Play / pauseSpace, or the play button at the bottom
Back / forward one sentence← / →
Next reply⌘→
Read the selected reply from the start⌘R
Slower / faster / normal speed⌘[ / ⌘] / ⌘0 (0.75× to 3.5×)
Read from any wordClick it, or right-click → Read from Here

A stopped reply remembers where it was: select it and press Play to carry on. Right-click a reply to mute that session, mark it read, copy the text or delete it.

Settings

  • Reading: the voice (Premium and Enhanced voices are listed first), speed, whether to read the whole reply or only its first paragraph, whether to say the session name first, and whether to read code blocks.
  • Claude Code: whether to receive replies at all, read them automatically, stop a session’s reply once you’ve answered it, read scripted claude -p runs (off by default), open the app when a reply arrives, open at login — and the hook’s current status.

Frequently asked

Nothing is being read

Check Settings → Claude Code. It shows whether the hook is installed and running; if not, press Set Up Claude Code… and choose your ~/.claude folder. Make sure receive replies and read them automatically are both on, and that the session isn’t muted. Replies that were more than ten minutes old when they arrived — for example ones that piled up while the app was closed — are listed but not read; select one and press Play to hear it.

How do I stop it right now?

Press Esc or ⌘. — from any window, the menu bar player, or the Dock icon. That stops the reply being read and clears anything queued behind it.

It reads the whole reply and I only want the gist

Settings → Reading can read only the first paragraph of each reply, and can skip code blocks.

Can I use a better voice?

Any voice installed on your Mac is available, with Premium and Enhanced voices listed first. More can be downloaded in macOS’s System Settings → Accessibility → Spoken Content → System Voice.

Does it send my replies anywhere?

No. There is no account and no network. Everything is read by macOS’s built-in speech, on your Mac, and replies are kept only in the app’s own history, which you can clear. See the privacy policy.

Contact

Email josh@dependentmedia.com. Claude Code is a product of Anthropic; DM Read Aloud is not affiliated with Anthropic.

DM Warp — Support

DM Warp is a drawing app for iPad and Mac. It paints with pressure-sensitive brushes, works in layers, and can move part of a finished drawing without leaving a hole or softening it.

Moving something you have already drawn

Pick Move, draw a loop around the thing you want to shift, then drag inside the loop. What you selected keeps its shape exactly, and the pixels around it stretch to follow. Nothing is cut out, so there is no hole behind it and no hard edge around it.

The Feather band slider sets how far, in pixels, that stretching reaches. A narrow band keeps the change local; a wide one spreads it out. Protect lets you paint over anything that must not move at all.

Using your Photoshop brushes

DM Warp reads Photoshop .abr brush sets. Put them in the DM Warp folder in the Files app and they load the next time you open the app, or use the import button at the top of the brush panel.

An .abr file stores a brush’s tip and its shape, but not its dynamics — Photoshop keeps scatter, jitter and pressure curves somewhere else. Imported brushes therefore arrive with settings chosen to suit the tip, and every one of them is a slider you can change.

Keeping your tools together

Tap the star on any brush to pin it, then switch the brush panel to Favorites to see only those. Each brush also remembers its own colour, so moving between a dark liner, a light shader and an eraser does not mean picking the colour again each time.

Gestures

Two fingers pan and zoom. Two-finger tap undoes, three-finger tap redoes. When an Apple Pencil is detected the app stops drawing with your finger so a resting palm cannot paint — you can turn that back on in the panel.

Saving

Drawings save as DM Warp documents, which keep your layers and keep every move you made still adjustable — reopen a drawing a week later and you can undo a nudge from the first session. Export PNG produces a flat image for sharing.

The app also keeps a working copy of whatever you have open, so closing it or running out of memory does not lose your drawing.

Contact

Questions, bugs or requests: josh@dependentmedia.com.

DM Scanner 3D — Support

Support for DM Scanner 3D, the iPhone and iPad app for making 3D models you can open in Blender. If you don’t find your answer here, email josh@dependentmedia.com and a human will reply.

What you need

  • Scan a scene needs a LiDAR scanner: iPhone Pro models from iPhone 12 Pro onward, or an iPad Pro with LiDAR.
  • Scan a face needs a TrueDepth camera, which is any iPhone or iPad with Face ID.
  • Capture an object needs a recent device that supports Apple’s Object Capture. The app tells you on the home screen if yours does not.

Quick start — scan a room

  1. Open the app and tap Scan a scene. Allow camera access.
  2. Frame the area, then press the big red Start button. Nothing is captured before you press it.
  3. Move slowly. The mesh appears over the camera view as you go, and the palette figure shows how much of it has colour.
  4. Tap Finish & export, choose your formats, and the scan appears at the top of the home screen.

Quick start — scan a face

  1. Tap Scan a face and press Start. This uses the front camera, so you can see yourself.
  2. Hold the phone at arm’s length in soft, even light. A cyan mesh locks onto the face.
  3. Turn your head slowly left and right until each ear has faced the camera, then look up and down. The texture figure climbs as more of the face is seen straight-on.
  4. Tap Finish & save.

Opening a scan in Blender

Open a scan and tap Share all files to AirDrop it to your Mac, or find it in the Files app under On My iPhone → DM Scanner. In Blender use File → Import and pick the OBJ, PLY or USD file (object captures are USDZ, which Blender opens as USD). Scans are already Z-up and in metres, so they arrive the right way round at real size.

  • Share the whole set, not just the .obj. It needs its .mtl file beside it, and a face scan needs its texture .png too.
  • To see a room scan’s colour in Blender, add a Color Attribute node to the material.

Frequently asked

Scanning outdoors doesn’t reach very far

The LiDAR scanner reaches about five metres indoors, and bright sunlight shortens that a lot, because it works with infrared light. Scan large places in several shorter passes, in shade or on an overcast day where you can.

My scan came out grey

Make sure Colour is switched on while scanning, and move slowly enough for the colour figure to climb. Very dark rooms capture little colour.

Where are my scans kept?

Only on your device. There is no account and nothing is uploaded. Deleting the app deletes your scans, so share the ones you want to keep first. See the privacy policy.

Contact

Email josh@dependentmedia.com or call (775) 238-3425.

DM Track — Support

Support for the DM Track apps: DM Track Timer (iPad), DM Track Remote (iPhone), and DM Track Booth (Mac). If you don’t find your answer here, email josh@dependentmedia.com and a human will reply.

Quick start on iPhone — time your first race

  1. Open the app and tap Solo Timer.
  2. Allow camera and microphone access. The camera records the finish; the microphone listens for the gun.
  3. Point the phone at the finish line.
  4. Tap Arm gun, then fire the starter (a loud clap works for testing). The clock starts on its own. Or tap Start to begin manually.
  5. Tap the lane numbers as athletes cross.
  6. Tap Stop, name the race, and save.

You need nothing else — no other devices, no network, no account.

Quick start on iPad — run a meet

  1. Open DM Track Timer and dismiss the welcome sheet.
  2. Open the sidebar with the button in the top-left corner.
  3. Tap New Meet and pick a template — for example High School (JV / Varsity). This builds the whole event list, split by division and gender.
  4. Tap Roster to add athletes. To add a lot at once, use the sidebar gear → Import Roster and paste one athlete per line as First Last (Team).
  5. Open a division to reach its heat, and put athletes in lanes. Heats can also be seeded from past marks.
  6. Tap Time This Heat, start the race, and tap lane buttons as athletes cross.

Everything above works on one iPad with no network connection and no account. Cameras, iPhones, an Apple TV scoreboard, and a Mac are all optional additions.

Which app do I want?

  • DM Track Timer (iPad) — run and score a whole meet: schedule, roster, heats, timing, results, scoreboard.
  • DM Track Remote (iPhone) — time a single race by yourself with Solo Timer, or act as a camera angle at a bigger meet.
  • DM Track Booth (Mac) — the control room: multi-camera switching, graphics, replay, and broadcast.

Fixing times after the race

Open a saved race from Races or the Recent list. The video plays back with an audio waveform underneath — the starting gun is usually the tallest spike in that waveform.

  • Adjust a time: tap the finish in the list. The video jumps to that moment and the controls open. Use Set here to snap it to the current frame, or the −0.10 / −0.01 / +0.01 / +0.10 buttons to nudge.
  • Add a finish you missed: scrub to the crossing and tap Add finish at playhead, then pick the lane. It sorts into its correct place automatically.
  • Fix the start: find the gun in the waveform, scrub to it, and tap Gun was here. Every finish time shifts together.
  • Change a lane: tap the finish, then pick the lane number in the controls.
  • Delete a mis-tap: swipe left on the finish.

Frequently asked

The gun isn’t starting the clock

Make sure you tapped Arm gun first — the meter moves whenever the app is open, but a detected sound only starts a race when armed. Watch the level meter while someone claps: if the bar barely moves, lower the sensitivity threshold; if it triggers on crowd noise, raise it. On a windy day, manual Start is more reliable than any microphone.

How accurate is it?

As accurate as your frame rate. One frame at 30 fps is about 33 milliseconds; at 240 fps it is about 4. Set the frame rate on the Solo Timer screen — the app shows what one frame is worth as you change it. Higher frame rates use more storage and may reduce the capture resolution on some devices.

Where are my recordings?

Inside the app, under Races. They are stored privately in the app, not in your Photos library. When the app’s storage allowance fills, it removes the oldest video clips first — recorded times are always kept, even after a clip is cleared.

Do I need an internet connection?

No. The Solo Timer works completely offline. Network features (running a meet across several devices, or Cloud Sync) are optional.

The camera preview is black

Check that camera access is allowed in Settings → DM Track Remote. If you were recording when the phone locked or you switched apps, reopen the Solo Timer screen to restart the camera.

Can I use several phones and a Mac together?

Yes. DM Track Remote is also one device in a larger system — several camera phones, an iPad running DM Track Timer or a Mac coordinating the meet, an Apple TV scoreboard, and video review across angles. The devices find each other over your local Wi‑Fi, so allow Local Network access when asked.

Privacy

Solo Timer recordings and race times stay on your device. There are no ads and no trackers, and Cloud Sync is off until a coach turns it on. Full details are in the DM Track Privacy Policy.

Contact

Bug reports, feature requests, and questions: josh@dependentmedia.com. Telling us your device model, iOS version, and what you were doing helps enormously.

DM Mobile Location Help Center

🚀 Quick Start Guide

WordPress Plugin

  1. Upload dm-mobile-location.zip via Plugins → Add New → Upload
  2. Activate the plugin
  3. Go to Mobile Location → Security and copy your API key
  4. Add [dm_mobile_location] to any page

iPhone App

  1. Open the app and go to Settings
  2. Enter your API Endpoint: https://yoursite.com/wp-json/dm-mobile-location/v1/location
  3. Enter the API key from your WordPress admin
  4. Tap "Test Connection" to verify

🔧 Troubleshooting

"Invalid API key" error

  • Make sure the API key matches exactly (no extra spaces)
  • Check that the plugin is activated
  • Try regenerating the API key in WordPress: Mobile Location → Security

"Connection failed" error

  • Verify your website URL is correct
  • Make sure your site uses HTTPS
  • Check that WordPress REST API is enabled

Map not showing on website

  • Verify the shortcode is correct: [dm_mobile_location]
  • Make sure you've set at least one location from the app
  • Clear any caching plugins

Location not updating

  • Check that "Location updated" message appears in the app
  • Clear your website cache
  • Check the Security Log for any blocked requests

📝 Shortcode Reference

Basic usage:

[dm_mobile_location]

Options

  • height="500px" - Map height
  • width="100%" - Map width
  • zoom="15" - Zoom level (1-18)
  • show="all" - Show all locations
  • id="loc_xxx" - Show specific location

Example with options:

[dm_mobile_location height="400px" zoom="14" show="all"]