{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"name":{"description":"Vanity name for this Source/Client","examples":["Foxx's Cool Client"],"type":"string"},"id":{"type":"string","description":"A UNIQUE identifier for this Source/Client","examples":["fooGlobalA"]},"data":{"type":"object","properties":{"interval":{"description":"How long to wait before polling the source API for new tracks (in seconds)","default":10,"examples":[10],"type":"number"},"maxInterval":{"description":"When there has been no new activity from the Source API multi-scrobbler will gradually increase the wait time between polling up to this value (in seconds)","default":30,"examples":[30],"type":"number"},"staleAfter":{"description":"Number of seconds after which A Player is considered Stale","type":"number"},"orphanedAfter":{"description":"Number of seconds after which A Player is considered Orphaned","type":"number"},"token":{"type":"string"},"url":{"type":"string","zockerId":"normalUrl","description":"http(s)://HOST:PORT of the Plex server to connect to"},"usersAllow":{"description":"Only scrobble for specific users from this list","anyOf":[{"type":"string"},{"type":"boolean","enum":[true]},{"type":"array","items":{"type":"string"}}]},"usersBlock":{"description":"Do not scrobble for users from this list","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"devicesAllow":{"description":"Only scrobble if device or application name contains strings from this list","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"devicesBlock":{"description":"Do not scrobble if device or application name contains strings from this list","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"librariesAllow":{"description":"Only scrobble if library name contains string from this list","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"librariesBlock":{"description":"Do not scrobble if library name contains strings from this list","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["url"]},"enable":{"description":"Should MS parse this config and create a client/source from it?","default":true,"examples":[true],"type":"boolean"},"clients":{"description":"Restrict scrobbling tracks played from this Source to Clients with IDs from this list.","examples":[["MyMalojaConfigId","MyLastFMConfigId"]],"type":"array","items":{"type":"string"}},"options":{"type":"object","properties":{"autoMonitor":{"default":true,"description":"Set the default behavior for wether this component should automatically monitor any activity, or scrobble, it encounters","type":"boolean"},"maxRequestRetries":{"description":"default # of http **request** retries a source/client can make before error is thrown\na test","default":1,"examples":[1],"type":"number"},"retryMultiplier":{"description":"default retry delay multiplier (retry attempt * multiplier = # of seconds to wait before retrying)","default":1.5,"examples":[1.5],"type":"number"},"maxPollRetries":{"description":"default # of automatic polling restarts on error","default":5,"examples":[5],"type":"number"},"deadLetterRetries":{"description":"Number of times MS should automatically retry Plays in dead letter queue","default":3,"examples":[3],"type":"number"},"logPayload":{"description":"If this source has INGRESS to MS (sends a payload, rather than MS GETTING requesting a payload) then setting this option to true will make MS log the payload JSON to DEBUG output","default":false,"examples":[false],"type":"boolean"},"logFilterFailure":{"description":"If this source has INGRESS to MS and has filters this determines how MS logs when a payload (event) fails a defined filter (IE users/servers/library filters)","default":"warn","examples":["warn"],"anyOf":[{"type":"boolean","enum":[false]},{"type":"string","enum":["debug"]},{"type":"string","enum":["warn"]}]},"logPlayerState":{"description":"For Sources that track Player State (currently playing) this logs a simple player state/summary to DEBUG output","default":false,"examples":[false],"type":"boolean"},"logToFile":{"description":"**Exprimental:** Log to a separate file for this Source.","anyOf":[{"type":"boolean","enum":[true]},{"type":"string","enum":["silent","fatal","error","warn","info","log","verbose","debug","trace"]},{"type":"object","properties":{"size":{"anyOf":[{"type":"number"},{"type":"string"}]},"frequency":{"anyOf":[{"type":"string","enum":["daily"]},{"type":"string","enum":["hourly"]},{"type":"number"}]},"timestamp":{"anyOf":[{"type":"string","enum":["unix"]},{"type":"string","enum":["iso"]},{"type":"string","enum":["auto"]}]},"path":{"anyOf":[{"type":"string"},{}]},"level":{"anyOf":[{"type":"string","enum":["silent","fatal","error","warn","info","log","verbose","debug","trace"]},{"type":"boolean","enum":[false]}]}}}]},"scrobbleBacklog":{"description":"If this source","default":true,"examples":[true,false],"type":"boolean"},"scrobbleThresholds":{"description":"Set thresholds for when multi-scrobbler should consider a tracked play to be \"scrobbable\".","type":"object","properties":{"duration":{"description":"The number of seconds a track has been listened to before it should be considered scrobbled.","default":240,"examples":[240],"anyOf":[{"type":"number"},{"type":"null"}]},"percent":{"description":"The percentage (as an integer) of a track that should have been seen played before it should be scrobbled.","default":50,"examples":[50],"anyOf":[{"type":"number"},{"type":"null"}]}}},"scrobbleBacklogCount":{"description":"The number of listens to fetch when scrobbling from backlog","type":"number"},"playTransform":{"type":"object","properties":{"preCompare":{"description":"Stages to be applied when a Play is first seen by this component","anyOf":[{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}},{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}]},"compare":{"description":"Stages to be applied when comparing a candidate Play to any existing Plays such as when checking for duplicates or discovered Plays\n\n**Note:** Transforms applies are not persistent. They are used only during comparison operations.","type":"object","properties":{"candidate":{"description":"Stages to apply to the Play being considered for discovery or scrobbling","anyOf":[{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}},{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}]},"existing":{"description":"Stages to apply to the existing Plays (already discovered, existing scrobbles)","anyOf":[{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}},{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}]}}},"postCompare":{"description":"Stages applied before Play is sent downstream (to MS Client or just before being scrobbling)","anyOf":[{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}},{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["musicbrainz","rocksky","coverartarchive","spotify"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"score":{"type":"number"}},"required":["type"],"title":"Transform External Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["native"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"artists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"albumArtists":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"album":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"duration":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"meta":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]},"art":{"title":"Ext Metadata Term","anyOf":[{"type":"boolean"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}}}}]}},"required":["type"],"title":"Transform Native Stage"},{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"onSuccess":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onFailure":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"onSkip":{"type":"string","enum":["continue","stop"],"title":"Flow Control Term"},"failureReturnPartial":{"type":"boolean"},"name":{"type":"string"},"stageHash":{"type":"string"},"title":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"artists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"albumArtists":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"album":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"duration":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"meta":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}},"art":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"when":{"description":"Only use this Stage (or Rules) if the properties in this object match the corresponding property in a Play. The value of each property is a string or regex pattern to match.","type":"array","items":{"type":"object","properties":{"title":{"description":"A string or regex pattern matching the title of a Play","type":"string"},"artists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"albumArtists":{"description":"A string or regex pattern matching any artist of a Play","type":"string"},"album":{"description":"A string or regex pattern matching the album of a Play","type":"string"},"art":{"description":"A string or regex pattern matching any of the art links for a Play","type":"string"}}}},"search":{"type":"string","description":"The plain string or regex pattern to match"},"replace":{"type":"string","description":"The replacement string. Can be empty string or use js replacement string pattern"}},"required":["search","replace"],"title":"Conditional Search and Replace Term"}],"title":"Search and Replace Term"}}},"required":["type"],"title":"Tranform User Stage"}],"title":"Stage"}]},"log":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["all"]}]}},"title":"Transform Options","description":"Enhance/correct Play data by applying a transform pipeline"},"retention":{"type":"object","properties":{"deleteAfter":{"description":"Delete Plays using these retention policies","anyOf":[{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"},{"type":"object","properties":{"failed":{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"},"completed":{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"},"duped":{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"}},"description":"Individual duration policies based on the state of the Play","title":"Duration Value per Play Type"}]},"compactAfter":{"description":"Compact Plays using these retention policies","anyOf":[{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"},{"type":"object","properties":{"failed":{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"},"completed":{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"},"duped":{"oneOf":[{"type":"number","description":"number of seconds","examples":[60,3600],"title":"Seconds"},{"type":"string","description":"a string containing a number and a unit of time compatible with dayjs","examples":["1 hour","4 days"],"title":"Duration Value"}],"title":"Duration Value"}},"description":"Individual duration policies based on the state of the Play","title":"Duration Value per Play Type"}]},"compact":{"description":"The type of data to compact on the Play","type":"array","items":{"type":"string","enum":["transform","input"],"description":"The type of data to compact on the Play"}}},"description":"Retention policy for Plays stored in the database"},"ignoreInvalidCert":{"description":"Ignore invalid cert errors when connecting to Plex","default":false,"type":"boolean"}}}},"required":["id","data"]}}