Smart Playlists
Note : any actions that modify criterias set in any way (add/edit/remove criterias, change active set, etc.) will trigger a smart playlist regeneration
Types of criterias
Expected values
- Types
1
to999
take tag ID numbers - Types
0
,1000
, and1004
take strings - Type
1006
takes eitherMISSING
,DOWNLOADED
orDOWNLOADING
(but why would you want to blacklist downloaded or downloading songs?) - Type
1001
takes karaoke ID numbers - Types
1002
,1003
take numeric values.
Types description
0
: Ban on year.1
: Ban on series.2
: Ban on singer.3
: Ban on songtype.4
: Ban on creator.5
: Ban on language.6
: Ban on author7
: Ban on misc tags8
: Ban on songwriter9
: Ban on downloadable groups10
: Ban on family11
: Ban on origin12
: Ban on genre13
: Ban on platform14
: Ban on version15
: Ban on warning16
: Ban on collection1000
: Ban on series' name. Example :Gundam
will banMobile Suit G Gundam
andGundam SEED
1001
: Ban on exact karaoke ID. Used to ban specific karaoke songs. Value should contain a single karaoke ID.1002
: Ban song if longer than xx seconds.1003
: Ban song if shorter than xx seconds.1004
: Ban on song title's name. Example :Mambo
will banMahoro de Mambo
and any other song containingMambo
1005
: Ban on the tag's name. Example :Nana
will ban all songs with a tag containingNana
1006
: Ban on download status
Empty criterias
emptyCriterias
Operator user required Frontend can be closed, restricted or open
Empty criterias for a playlist
Request
{
plaid: 'abcdefgh'
}
No message is sent, promise is simply resolved.
Response
{
code: 500,
message: {
code: 'CRITERIAS_EMPTY_ERROR'
}
}
Response
{
code: 404,
message: {
code: 'CRITERIAS_EMPTY_ERROR',
data: 'Playlist unknown'
}
}
Get list of criterias
getCriterias
Operator user required Frontend needs to be open
List all criterias from a specific smart playlist
Request
{
plaid: 'abcdefghj'
}
Response
[
{
"type": 6,
"value": "500030d3-8600-4728-b367-79ff029ea7c9",
"value_i18n": "Jean-Jacques Debout",
"plaid": "abcdefghj"
}
]
Response
{
code: 500,
message: {
code: 'CRITERIAS_VIEW_ERROR'
}
}
Add criterias
addCriterias
Operator user required Frontend needs to be open
Add new criterias to a specific smart playlist
Request
[
{
"type": 6,
"value": "500030d3-8600-4728-b367-79ff029ea7c9",
"value_i18n": "Jean-Jacques Debout",
"plaid": "abcdefghj"
}
]
Simply returns
Response
{
code: 400,
message: {
code: 'CRITERIA_ADD_ERROR'
}
}
Response
{
code: 404,
message: {
code: 'CRITERIA_ADD_ERROR'
}
}
Response
{
code: 500,
message: {
code: 'CRITERIA_ADD_ERROR'
}
}
Delete criteria
removeCriterias
Operator user required Frontend needs to be open
Remove criterias
Request
[
{
"type": 6,
"value": "500030d3-8600-4728-b367-79ff029ea7c9",
"value_i18n": "Jean-Jacques Debout",
"plaid": "abcdefghj"
}
]
Request simply returns.
Response
{
code: 404,
message: {
code: 'CRITERIA_DELETE_ERROR'
}
}
Response
{
code: 500,
message: {
code: 'CRITERIA_DELETE_ERROR'
}
}
Create problematic Smart Playlist
createProblematicSmartPlaylist
Operator user required Frontend can be closed, restricted or open
This creates a smart playlist with only problematic tags inside (like R18, Spoiler, etc.)
This route is only used on the app's first run after setup is complete and all songs and tags have been downloaded.
Response
{
code: 500,
message: {
code: 'BLC_PROBLEMATIC_SET_ERROR'
}
}