Entities
- RadiccioResponseMetadata
- RadiccioMusicFolderMetadata
- RadiccioMusicFolderIcon
- RadiccioAlbumMetadata
- RadiccioArtistMetadata
- RadiccioPlaylistMetadata
- RadiccioSongMetadata
- RadiccioJournalEntryResultSet
- RadiccioJournalEntry
- RadiccioEnjoyment
- RadiccioMood
- RadiccioPinnedResultSet
- RadiccioRecentlyPlayedArtistsResultSet
RadiccioResponseMetadata
| Name | Type | Req. | Extension | Notes |
|---|---|---|---|---|
serverName | string | No | none | A human-readable name that describes this server instance (not the server software or product name). For example: David’s Mac mini. This might be the name of the computer the server is running on, or it might be custom text the user entered so that they could recognize their server later. This may contain spaces and any valid UTF-8 character. |
keyID | string | No | none | Radiccio internal use only. |
RadiccioMusicFolderMetadata
| Name | Type | Req. | Extension | Notes |
|---|---|---|---|---|
icon | RadiccioMusicFolderIcon | No | none | The icon that the user has picked to represent the music folder, if any. |
activityEnabled | boolean | Yes | none | When false, scrobbling is disabled (related endpoints return an error) and play counts, last played, etc. are absent from responses. |
RadiccioMusicFolderIcon
| Name | Type | Req. | Extension | Notes |
|---|---|---|---|---|
sfSymbolName | string | No | none | If the user selected an icon which is part of Apple’s SF Symbols icon set, this will be a name suitable for passing to SwiftUI’s Image(systemName:) |
data | string | No | none | If the user selected a custom icon, this will contain raw image data, suitable for passing to NSImage(data:) after base64 decoding.This attribute is not used when the user selects an SF Symbol. |
useDefault | boolean | Yes | none | If true, the user has not selected an icon, and the default music folder icon should be used. |
RadiccioAlbumMetadata
| Name | Type | Req. | Extension | Notes |
|---|---|---|---|---|
pinned | boolean | Yes | pins | |
autoSkip | boolean | Yes | autoSkip | |
lastJournalEntry | RadiccioJournalEntry | No | journal |
RadiccioArtistMetadata
| Name | Type | Req. | Extension | Notes |
|---|---|---|---|---|
pinned | boolean | Yes | pins |
RadiccioPlaylistMetadata
| Name | Type | Req. | Extension | Notes |
|---|---|---|---|---|
nested | boolean | Yes | nested | Radiccio stores and retrieves playlists as M3U files in the filesystem. If a playlist is stored in the root of the music folder, or in a subfolder of the root, this value will be false. If the playlist is in a subfolder of a subfolder (or any deeper level), the value will be true. This allows Radiccio to provide a feature that helps the user hide certain kinds of bundled or automatically-generated playlist files which may not be useful to them. |
RadiccioSongMetadata
| Name | Type | Req. | Extension | Notes |
|---|---|---|---|---|
autoSkip | boolean | Yes | autoSkip | |
lastJournalEntry | RadiccioJournalEntry | No | journal | |
codec | string | No | None | A pair of “four character codes” (also known as FourCC or FourCharCode) separated by a slash (/). The first FourCC is usually soun. The second FourCC identifies the audio codec, such as: lpcm, flac, .mp3, aac , etc. Note that every four character code is exactly four characters, including any spaces or other characters used for padding.Example: soun/aac (note the trailing space, which is part of the FourCC and must not be removed)Radiccio uses FourCCs because that is used by Apple’s AVPlayer API, which Radiccio uses for audio playback. The information in the OpenSubsonic base spec is not always sufficient to reliably distinguish between codecs; MIME types and file name extensions are often shared by multiple codecs or identify the container rather than the codec (for example, ALAC and AAC both use an MP4 container; Opus and Vorbis both use an Ogg container). |
RadiccioJournalEntryResultSet
Part of the journal extension.
| Name | Type | Req. | Notes |
|---|---|---|---|
journalEntry | Array of RadiccioJournalEntry | Yes | Journal entries |
RadiccioJournalEntry
Part of the journal extension.
| Name | Type | Req. | Notes |
|---|---|---|---|
date | string | Yes | Date the journal entry was created. [ISO 8601] |
enjoyment | RadiccioEnjoyment | No | |
mood | RadiccioMood | No | |
notes | string | No |
RadiccioEnjoyment
Part of the journal extension.
This is a key/value pair. The key will be a specific enum case, and the value will either be an empty object, or a sub-object with user-entered text.
This corresponds to the following Swift enum:
enum Enjoyment: Codable, Hashable {
case best
case love
case like
case okay
case indifferent
case mixed
case mildDislike
case dislike
case hate
case custom(_ labelText: String)
}
Examples encoded to JSON:
{
"best": {}
}
{
"custom": {
"_0": "This is example text."
}
}
RadiccioMood
Part of the journal extension.
This is a key/value pair. The key will be a specific enum case, and the value will either be an empty object, or a sub-object with user-entered text and an emoji.
This corresponds to the following Swift enum:
enum Mood: Codable, Hashable {
case happy
case aggro
case mellow
case moody
case custom(_ labelText: String, _ emoji: String)
}
Examples encoded to JSON:
{
"mellow": {}
}
{
"custom": {
"_0": "This is example text."
"_1": "🙂"
}
}
RadiccioPinnedResultSet
| Field | Type | Req. | Details |
|---|---|---|---|
artist | Array of artist | No | Pinned artists |
album | Array of Child | No | Pinned albums |
RadiccioRecentlyPlayedArtistsResultSet
| Field | Type | Req. | Details |
|---|---|---|---|
artist | Array of artist | Yes | Recently played artists |