/* This file is part of jellything (https://codeberg.org/metamuffin/jellything) which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2025 metamuffin */ use jellyobject::{Object, Tag, enums, fields}; fields! { // Tag counter: 111 NO_KIND: Tag = 1 "kind"; NO_TITLE: &str = 2 "title"; NO_PARENT: u64 = 3 "parent"; // multi NO_SUBTITLE: &str = 38 "subtitle"; NO_TAGLINE: &str = 4 "tagline"; NO_DESCRIPTION: &str = 5 "description"; NO_RELEASEDATE: i64 = 6 "releasedate"; NO_DURATION: f64 = 39 "duration"; NO_INDEX: u64 = 7 "index"; NO_SEASON_INDEX: u64 = 8 "season_index"; NO_TRACK: Object = 9 "track"; // multi NO_CHAPTER: Object = 32 "chapter"; // multi NO_TAG: &str = 10 "tag"; // multi NO_RATINGS: Object = 11 "ratings"; NO_PICTURES: Object = 12 "pictures"; NO_IDENTIFIERS: Object = 13 "identifiers"; NO_VISIBILITY: Tag = 14 "visibility"; NO_STORAGE_SIZE: u64 = 15 "storage_size"; NO_CREDIT: Object = 33 "credit"; // multi NO_SLUG: &str = 37 "slug"; CR_NODE: u64 = 34 "node"; CR_KIND: Tag = 35 "kind"; CR_ROLE: &str = 36 "role"; // multi TR_KIND: Tag = 16 "kind"; TR_SOURCE: Object = 17 "source"; TR_NAME: &str = 18 "name"; TR_CODEC: &str = 19 "codec"; TR_LANGUAGE: &str = 20 "language"; // BCP 47 TR_RATE: f64 = 23 "rate"; TR_BIT_DEPTH: u32 = 25 "bit_depth"; TR_CHANNELS: u32 = 28 "channels"; TR_PIXEL_WIDTH: u32 = 26 "pixel_width"; TR_PIXEL_HEIGHT: u32 = 27 "pixel_height"; TRSOURCE_LOCAL_PATH: &str = 21 "local_path"; TRSOURCE_LOCAL_TRACKNUM: u64 = 22 "local_tracknum"; CH_START: f64 = 29 "start"; CH_END: f64 = 30 "end"; CH_NAME: &str = 31 "name"; PICT_COVER: &str = 45 "cover"; PICT_BACKDROP: &str = 46 "backdrop"; RTYP_IMDB: f64 = 47 "imdb"; RTYP_TMDB: f64 = 48 "tmdb"; RTYP_ROTTEN_TOMATOES: f64 = 49 "rotten_tomatoes"; RTYP_METACRITIC: f64 = 50 "metacritic"; RTYP_YOUTUBE_VIEWS: f64 = 51 "youtube_views"; RTYP_YOUTUBE_LIKES: f64 = 52 "youtube_likes"; RTYP_YOUTUBE_FOLLOWERS: f64 = 53 "youtube_followers"; RTYP_TRAKT: f64 = 54 "trakt"; IDENT_MUSICBRAINZ_RECORDING: &str = 55 "musicbrainz_recording"; IDENT_MUSICBRAINZ_ARTIST: &str = 56 "musicbrainz_artist"; IDENT_MUSICBRAINZ_RELEASE: &str = 57 "musicbrainz_release"; IDENT_MUSICBRAINZ_RELEASE_GROUP: &str = 58 "musicbrainz_release_group"; IDENT_ACOUST_ID_TRACK: &str = 59 "acoust_id_track"; IDENT_YOUTUBE_VIDEO: &str = 60 "youtube_video"; IDENT_YOUTUBE_CHANNEL: &str = 61 "youtube_channel"; IDENT_YOUTUBE_CHANNEL_HANDLE: &str = 62 "youtube_channel_handle"; IDENT_BANDCAMP: &str = 63 "bandcamp"; IDENT_ISRC: &str = 64 "isrc"; IDENT_BARCODE: &str = 65 "barcode"; IDENT_TRAKT_MOVIE: &str = 66 "trakt_movie"; IDENT_TRAKT_SHOW: &str = 67 "trakt_show"; IDENT_TRAKT_SEASON: &str = 68 "trakt_season"; IDENT_TRAKT_EPISODE: &str = 69 "trakt_episode"; IDENT_IMDB: &str = 70 "imdb"; IDENT_TMDB_SERIES: &str = 71 "tmdb_series"; IDENT_TMDB_MOVIE: &str = 72 "tmdb_movie"; IDENT_TVDB: &str = 73 "tvdb"; IDENT_OMDB: &str = 74 "omdb"; IDENT_VGMDB_ARTIST: &str = 75 "vgmdb_artist"; } pub type Kind = Tag; enums! { VISI_HIDDEN = 76 "hidden"; VISI_REDUCED = 77 "reduced"; VISI_VISIBLE = 78 "visible"; TRKIND_VIDEO = 79 "video"; TRKIND_AUDIO = 80 "audio"; TRKIND_TEXT = 81 "text"; TRKIND_UNKNOWN = 82 "unknown"; KIND_MOVIE = 83 "movie"; KIND_VIDEO = 84 "video"; KIND_MUSIC = 85 "music"; KIND_SHORTFORMVIDEO = 86 "shortformvideo"; KIND_COLLECTION = 87 "collection"; KIND_CHANNEL = 88 "channel"; KIND_SHOW = 89 "show"; KIND_SERIES = 90 "series"; KIND_SEASON = 91 "season"; KIND_EPISODE = 92 "episode"; CRCAT_CAST = 93 "cast"; CRCAT_WRITING = 94 "writing"; CRCAT_DIRECTING = 95 "directing"; CRCAT_ART = 96 "art"; CRCAT_SOUND = 97 "sound"; CRCAT_CAMERA = 98 "camera"; CRCAT_LIGHTING = 99 "lighting"; CRCAT_CREW = 100 "crew"; CRCAT_EDITING = 101 "editing"; CRCAT_PRODUCTION = 102 "production"; CRCAT_VFX = 0x200b "vfx"; CRCAT_COSTUME_MAKEUP = 103 "costume_makeup"; CRCAT_CREATED_BY = 104 "created_by"; CRCAT_PERFORMANCE = 105 "performance"; CRCAT_INSTRUMENT = 106 "instrument"; CRCAT_VOCAL = 107 "vocal"; CRCAT_ARRANGER = 108 "arranger"; CRCAT_PRODUCER = 109 "producer"; CRCAT_ENGINEER = 110 "engineer"; }