importing/transferring snapshots between computers

Diemo Schwarz's icon

Hi I'm making a patch for a composer using snapshots in an essential manner, but there are a few quirks, bugs, questions, and feature requests:

  1. I need to import his snapshots (the .maxsnap files he sends me) into the same patch on my computer. First I naively tried to double click on the .maxsnap file, hoping it would get imported into the foremost patch, but that does not work. Couldn't it?

  2. Then, I tried dragging .maxsnap files into the snapshot pane, which does not work either, but conveivably could, IMHO.

  3. The importsnapshot -1 message with a filedrop works, with -1 to append the imported snapshot to the list.

  4. But there is a bug: Imported snapshots disappear after a few seconds, unless I quickly click on the circle to embed them!!! This is most certainly due to the composer's patch name inadvertently having gotten changed to patch-2.maxpat from downloading it in the browser. This name is stored in the .maxsnap and is not corrected on import. This is clearly a bug. I explicity say to import the .maxsnap, so I'd expect the stored patch name to be updated. (BTW, on each import, a copy is made anyway, called snapname_20231104.maxsnap with the current date.)

  5. So, a workaround I found is this unsatisfying sequence (fed from a filedrop):

addsnapshot 0, importsnapshot 0 $1, setembedsnapshot 0 1, movesnapshot 0 20  -- should be #snapshots, but this needs js
  • This is overcomplicated, since the -1 trick for addressing the last slot does not work for addsnapshot, setembedsnapshot, and movesnapshot, DUH!

  • Feature request: add a getnumsnapshots message to thispatcher, or ideally, it should just be

importsnapshot -1 $1, setembedsnapshot -1 1.

6. Last quirk: The composer is using the patch to author snapshots with unregistered Max, i.e. he can't save the patch. This means his reordering of snapshots in the UI is lost on quit (would be saved with the patch). I guess there's nothing that can be done about that. (I did write a sort function in js so he can use number prefixes to order snapshots for the piece.)

7. Last feature request: if the blue highlight of a snapshot in the sidebar from mouseclick could be queried and set from js, that would be awesome: one could make a terrific remote controllable cue list UI, stepping through snapshots by MIDI.

Thanks for your attention, and had I known all this before, I might have reverted to pattr...

sousastep's icon

I've struggled with snapshots as well and would highly recommend switching to pattr, especially since it works with unregistered Max.

If you save the patch as a project the maxsnaps should save to the project's data folder. Sharing the whole project should be easier than sharing a patch and some maxsnap files.

Diemo Schwarz's icon

another impracticality / feature request: when the list of snapshots is long (longer than the window height), duplicating a snapshot to make a variant becomes tedious:
1. "new snapshot" or "+" adds the duplicate to the end
2. dragging the new one up to put it after the current one is tedious, since the window does not auto-scroll, you have to do it in several steps

Suggestion:
1. "+" inserts the new snapshot after the currently selected (or active?) one
2. auto-scroll while dragging snapshots should work
3. even better: cut/copy/paste on snapshots should work