2024-10-02 12:34:23 -04:00
|
|
|
## Playlist Generation Template
|
2023-09-05 08:46:32 -04:00
|
|
|
|
|
|
|
It is possible to generate playlists based on templates. A template could look like:
|
|
|
|
|
|
|
|
```JSON
|
|
|
|
{
|
|
|
|
"sources": [
|
|
|
|
{
|
|
|
|
"start": "00:00:00",
|
|
|
|
"duration": "02:00:00",
|
|
|
|
"shuffle": true,
|
|
|
|
"paths": [
|
|
|
|
"/path/to/folder/1"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"start": "02:00:00",
|
|
|
|
"duration": "04:00:00",
|
|
|
|
"shuffle": false,
|
|
|
|
"paths": [
|
|
|
|
"/path/to/folder/2",
|
|
|
|
"/path/to/folder/3",
|
|
|
|
"/path/to/folder/4"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"start": "06:00:00",
|
|
|
|
"duration": "10:00:00",
|
|
|
|
"shuffle": true,
|
|
|
|
"paths": [
|
|
|
|
"/path/to/folder/5"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"start": "16:00:00",
|
|
|
|
"duration": "06:00:00",
|
|
|
|
"shuffle": false,
|
|
|
|
"paths": [
|
|
|
|
"/path/to/folder/6",
|
|
|
|
"/path/to/folder/7"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"start": "22:00:00",
|
|
|
|
"duration": "02:00:00",
|
|
|
|
"shuffle": true,
|
|
|
|
"paths": [
|
|
|
|
"/path/to/folder/8"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
This can be used as file and run through CLI:
|
|
|
|
|
|
|
|
```BASH
|
|
|
|
ffplayout -g 2023-09-04 - 2023-09-10 --template 'path/to/playlist_template.json'
|
|
|
|
```
|
|
|
|
|
|
|
|
Or through API:
|
|
|
|
|
|
|
|
```BASH
|
|
|
|
curl -X POST http://127.0.0.1:8787/api/playlist/1/generate/2023-00-05
|
|
|
|
-H 'Content-Type: application/json' -H 'Authorization: Bearer <TOKEN>'
|
2023-09-12 14:29:29 -04:00
|
|
|
--data '{"template": {"sources": [\
|
2023-09-05 08:46:32 -04:00
|
|
|
{"start": "00:00:00", "duration": "10:00:00", "shuffle": true, "paths": ["path/1", "path/2"]}, \
|
|
|
|
{"start": "10:00:00", "duration": "14:00:00", "shuffle": false, "paths": ["path/3", "path/4"]}]}}'
|
|
|
|
```
|