Skip to content

Playlist songs

The songs in the one synchronized playlist, called VeeJay.

This page is the dictionary for the table. It holds the definition and purpose of every field, and it is where a field is changed.

Fields

Field Key Type Required Allowed values or link Definition Purpose Notes
Song PLAYLIST_SONGS.SONG Link to one row Yes Row of Songs A link to the Songs row. The playlist is a list of songs, and each platform shows the song in the best form that it supports. Keeps one list of songs for every platform.
Position PLAYLIST_SONGS.POSITION Whole number Yes The place of the song in the playlist, counted from 1. Keeps the order on the platforms that can keep one.
Added_Time PLAYLIST_SONGS.ADDED_TIME Date and time (UTC) Yes The moment the song was added to the playlist. Lets the most recent change win when two copies disagree, and breaks a tie in Position.

Constraints

What the database enforces on each field, beyond its type. A field that is not listed has no default, no uniqueness, no range and no reference. Every field marked Required is NOT NULL.

Field Default Unique Range or pattern Refers to
Song Yes core_Songs
Position 1 or more
Added_Time a real instant, YYYY-MM-DDTHH:MM:SSZ

Rules across fields:

  • A song appears once in the playlist: Song is unique.
  • Position is not unique. SQLite cannot defer a unique check, so moving a song would be refused halfway. The program keeps the order consistent, and a tie is broken by Added_Time.

The table is core_Playlist_Songs. Every link refuses a missing target and refuses the deletion of a row that another row still points to.