Cryptograss:Rabbithole/Timeline YAML format

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search

This article is a stub. You can help PickiPedia by expanding it.

[unverified]

A doc is a claim. This one was checked against: arthel @ 6a66541 (main), src/data/songs_and_tunes/august.yaml, and src/sites/justinholmes.com/js/rabbithole_player.js lines 951–1011 (section resolution), ~1030 (instrumentChanges), 1804 (getMusicianStatus).[unverified]

Where it lives

Under rabbithole: in a song's src/data/songs_and_tunes/<song>.yaml in the arthel repo, or in a Release:<CID>/Metadata page when charted in the timeline editor.[unverified]

Structure

  • rabbithole.timeline is a map of marker keys → marker bodies.[unverified]
  • Marker keys are either absolute seconds from track start (0, 7.2, 40) or sectionN labels (section1…section10).[unverified]
  • sectionN entries are laid out sequentially using the song-level standardSectionLength (e.g. 13.65) unless that section defines its own length.[unverified]
  • Inside a section, numeric keys are relative offsets from that section's start; the player converts them to absolute times (rabbithole_player.js:1003).[unverified]

Marker fields

  • musicians — map of musician name → in/out. Special key band means everyone. State carries forward until changed; default is out until first declared (getMusicianStatus, rabbithole_player.js:1804).[unverified]
  • solo — musician name (that person solos), or false to end a solo.[unverified]
  • pickup — musician name; a brief entrance just before a section starts.[unverified]
  • part — label like intro, A, B, C, D.[unverified]
  • instrumentChanges — map of musician → instrument string. Plain overwrite of that musician's instrument card (rabbithole_player.js ~1030). Use canonical ensemble spellings (e.g. six-whistle, not tin whistle) so instrument lookups match — see the ensemble arrays in arthel for the canonical list.[unverified]
  • flourish — musician name; optional flourishDuration, flourishPulseSpeed, flourishIntensity, flourishColor.[unverified]

Example (excerpt from August)

<syntaxhighlight lang="yaml"> rabbithole:

 audioFile: "/audio/August.flac"
 duration: 180
 standardSectionLength: 13.65
 timeline:
   0:
     musicians:
       "Justin Holmes": "in"
       "Kyle Tuttle": "out"
     solo: "Justin Holmes"
     part: "intro"
   7.2:
     musicians:
       "Maddie Denton": "in"
     pickup: "Maddie Denton"
   8.3:
     musicians:
       "band": "in"        # shortcut for everyone in
     solo: "Maddie Denton"
     part: "A"
   section1:
     solo: "Justin Holmes"
     part: "A"
     instrumentChanges:
       "Justin Holmes": "six-whistle"
   section8:
     solo: "Justin Holmes"
     part: "B"
     123:
       flourish: "Gaven Largent"
       flourishDuration: 2.8

</syntaxhighlight>[unverified]

Gotchas

  • The editor's Save button has no PickiPedia login cookies across the proxy — use Copy YAML, then paste into the Release:<CID>/Metadata page.[unverified]
  • Write only what changes: musician state carries forward, so a section only needs deltas, not a re-declaration of everyone.[unverified]
  • Numeric keys inside a section are relative; numeric keys at the top level of timeline are absolute seconds. Mixing them up is the most common charting error.[unverified]