Suppose you have some site playlist loaded in foobar2000. This playlist is periodically updated on the site and you want your playlist in the program to be updated accordingly. This can be somehow achieved using menu
File Youtube Source Load channel or playlist... action, but it does not take into account previously loaded videos, making such update process cumbersome.
Component provides alternative way called
To configure auto-updated playlists, go to menu
View Youtube Source Auto-updated playlists.
Configuration window consists of list control containing all supported site playlists discovered in currently opened foobar2000 playlists. It contains info related to playlist updates, has abilities to perform update and setup auto-update.
Note, this list is responsible only for the update of playlists. You cannot add or remove site playlists using this list. It works only with site playlists that were already added to foobar2000. If you add new site playlist (e.g. using
File Add location...), it will immediately appear in this list. If you remove corresponding playlist track, it will be removed from this list, including all update-related info and schedule.
Every playlist in the list has check box. To enable auto update for playlist, just check its check box. Multiple auto-updated site playlists per single foobar2000 playlist are also supported.
To force update of playlist, no matter if auto update is enabled, use context menu item
Settings for auto-updated playlists are placed in component preferences group
Playlist Auto-updated playlists.
To set time interval for auto update, use context menu item
Set update interval.
Examples of update interval strings:
1m30s (update every 90 seconds),
7d (update every week). Time span letters:
d - days,
h - hours,
m - minutes,
s - seconds.
Component restores auto-update schedule on program restart. For playlists, whose update intervals expired, next update is scheduled within randomization interval after initial delay.
Initial delay is time interval after program start and before update process initiation. This way update process does not affect program startup time. This delay is also applied when enabling auto-update (so it can be disabled if this was done accidentally).
Randomization interval is time interval within which expired playlists will be scheduled at program start. Suppose you have dozens of playlists to update. Without randomization interval they will be scheduled to update at the exactly same moment, resulting in dozens requests at this moment, with possible performance degradation and higher chance of failures.
Component collects info about successful updates. This info can be accessed using context menu item
Info gets collected only when update process discovers new videos. If there is a gap in results, line gets appended with
(discontinuous) string. Example:
12.12.2017 19:02:16, fetched 15 items 12.12.2017 21:42:24, fetched 3 items 14.12.2017 22:51:07, fetched 15 items (discontinuous) 16:54:02, fetched 9 items
Maximum number of lines to store can be adjusted using component preferences
Playlist Auto-updated playlists Maximum number of lines in statistics.
In case of Youtube, if custom Youtube API key is not set, it is possible to load only last 15 videos of playlist (more info) and videos duration is unknown.
Duplicates in site playlist may produce not reliable results (gaps). This is so due to design of update process. Component remembers first video URL of every playlist. When determining what videos were recently added to playlist, it fetches playlist items until this first URL is retrieved or limit is reached. So if retrieved URL is actually a duplicate of remembered first URL, then we have a gap.
By the way, the aforementioned limit is configurable if custom Youtube API key is set. It can be adjusted using preferences
Auto-updated playlists Maximum number of tracks to fetch.
Component will fetch new videos only if they are added to the top of playlist. More precisely, if they are added before remembered first URL. So if some track was added in the middle of playlist (after previously discovered first URL), it will not be caught by the component.
Next one is also due to design. foobar2000 playlist is required to have track representing site playlist to enable auto-update for it. Once playlist track is removed, auto-update for it is also gets wiped.
This one is connected with the previous one. Tracks, retrieved by this feature, are not synchronized with tracks retrieved when expanding playlist track. In other words, let's suppose you have added playlist, updated it and got 15 videos. Then you double clicked on playlist track in foobar2000 playlist and component fetched first portion of site playlist. This portion will contain these 15 videos, obtained by update process, i.e. you will have 15 duplicates in foobar2000 playlist.
Is it possible to load all the videos from a channel yet still be able to auto update when channels post new videos? I have a channel that I have retrieved all the videos for and would like to update, but I can't since the feed track is not present.
To make auto-update work, playlist track should be there. It can be added usual way, for example using
File Add location.... Once it is added, it will appear in
Auto-updated playlists window. One problem there - auto-update does not know that you already have all videos. So at the first update it will add duplicates that have to be cleaned up manually.
If, say, you are not online at the time it is set to check for updates, will it update the next time you are online?
At program start, if it finds out that update time is expired, it does perform an update and then schedules next time of update basing on the current time.
Help Auto-updated playlists