Logseq/Entity/Podcast/Episode/GitP/A/mise/Task/ableton/locators/sync
Properties
- logseq-entity
- Logseq/Entity/Mise/Task
- task-config-root
- .
- task-entrypoint
- mise-tasks/logseq/entity/podcast/episode/gitp/a/ableton/locators/sync
- task-files
- {"mise-tasks/logseq/entity/podcast/episode/gitp/a/ableton/locators/sync":"mise-tasks/logseq/entity/podcast/episode/gitp/a/ableton/locators/sync"}
Mark Episode Chapters in an Ableton Live Set
- Writes the timed chapter headings of a Logseq/Entity/Podcast/Episode/GitP/A page into the episode's Ableton/Live Set as arrangement locators, so the Set can be navigated by the same chapters as the episode.
Invocation
- Runs from the garden checkout or from a destination graph that imported the task with an episode.
--pageis the episode's logical name and--setis the Live Set file: - The command prints the plan. Adding
--applywrites the Set. --graphreads the page from another graph; the default is the graph holding the task. In Gitpa,--graph /path/to/logseq-encode-gardenpicks up headings edited since the last proxy sync.--start-beatgives the arrangement position, in beats, of the recording's 00:00. The default, 0, is bar 1.--prunealso removes locators that match no chapter.
- Runs from the garden checkout or from a destination graph that imported the task with an episode.
Inputs and outputs
- Reads every H3–H6 heading that starts with a timestamp or an
audio-timestampmacro, following the Chapters section of Logseq/Entity/Podcast/Episode/GitP/A. Timestamp-led bullets and headings inside code fences stay out. - Each chapter becomes a locator at its time converted to beats at the Set's tempo. Headings that share a time share one locator, their names joined with
/. A link contributes its label, or the last segment of its page name:### 00:00 Enter [[Microfreak/Preset/259 Infini Pad]]becomesEnter 259 Infini Pad. - Each written locator's annotation holds the episode page name. A re-run renames, moves and removes those locators as the headings change, and leaves the Set untouched when it already matches. A locator already at a chapter's time takes the chapter's name; other locators stay.
- Reads every H3–H6 heading that starts with a timestamp or an
Side effects and access
--applycopies the previous Set toBackup/<name> [YYYY-MM-DD HHMMSS].alsbeside it, the folder Live uses for its own backups, then replaces the Set. Only the arrangement locator list changes; the rest of the XML stays byte for byte.- Live keeps an open Set in memory. Close the Set before applying, or reopen it afterwards without saving; saving the open copy writes over the new locators. The task warns when Live is running.
- Mise supplies Python through uv. The task uses only the standard library.
Failure and recovery
Source and help
- Locator sync task and its tests:
- sh
mise run logseq:entity:podcast:episode:gitp:a:ableton:locators:sync --help