PM123's Playlist Item Slicing

Each playlist item contains optional start- and stop location. When an item with a start location is loaded the playback begins at this offset. If the currently playing item has a stop location from the enclosing playlist, the playback stops as soon as the stop location is reached and continues with the next item in the playlist (if any).

Slicing songs

A start or stop location within a song is always a time index. You may enter it in the form [[hh:]mm:]ss[.fff] with hh = hours, mm = minutes, ss = seconds and fff = fractional seconds. See PM123 location strings for more details.

This offers the opportunity to link only a slice of a song into a playlist. You may e.g. use this to create a cue sheet to a very long file. PM123 uses this behavior to play cue sheets of CD images directly.

Slicing playlists

In conjunction with playlists slicing is a bit more complicated. You now have to navigate to a song or in general an item. But furthermore this may contain a location within that song. And in case of nested playlists the location will be an entire call stack.

The locations in a playlist may be specified by song (or item) name and/or by ordinal number. See PM123 location strings for detailed syntax and examples.

Conflicting slices

If a location in a nested playlist navigates to a sub item that has also a start and/or stop location conflicts may occur. In fact the start position may point to a location that is before the start position of the item within the nested playlist. This is not allowed since this part of the song has never been part of the nested playlist.

PM123 currently always uses the intersection of conflicting slices. Effectively only parts of songs or playlists are played that are in the range [start, stop) of all playlists in the current call stack.