require 'dmapparser/tag_definition' module DMAPParser # Sources: # https://github.com/chendo/dmap-ng/blob/master/lib/dmap/tag_definitions.rb # https://code.google.com/p/ytrack/wiki/DMAP # https://code.google.com/p/tunesremote-se/wiki/ContentCodes # https://raw.github.com/mattstevens/dmap-parser/master/dmap_parser.c # /content-codes # rubocop:disable ClassLength class TagDefinition tag 'mcon', :container, 'dmap.container' tag 'msrv', :container, 'dmap.serverinforesponse' tag 'msml', :container, 'dmap.msml' tag 'mccr', :container, 'dmap.contentcodesresponse' tag 'mdcl', :container, 'dmap.dictionary' tag 'mlog', :container, 'dmap.loginresponse' tag 'mupd', :container, 'dmap.updateresponse' tag 'avdb', :container, 'daap.serverdatabases' tag 'mlcl', :container, 'dmap.listing' tag 'mlit', :container, 'dmap.listingitem' tag 'mbcl', :container, 'dmap.bag' tag 'adbs', :container, 'daap.returndatabasesongs' tag 'aply', :container, 'daap.databaseplaylists' tag 'apso', :container, 'daap.playlistsongs' tag 'mudl', :container, 'dmap.deletedidlisting' tag 'abro', :container, 'daap.databasebrowse' tag 'abal', :container, 'daap.browsealbumlisting' tag 'abar', :container, 'daap.browseartistlisting' tag 'abcp', :container, 'daap.browsecomposerlisting' tag 'abgn', :container, 'daap.browsegenrelisting' tag 'prsv', :container, 'daap.resolve' tag 'arif', :container, 'daap.resolveinfo' tag 'casp', :container, 'dacp.speakers' tag 'caci', :container, 'dacp.controlint' tag 'cmpa', :container, 'dacp.pairinganswer' tag 'cacr', :container, 'dacp.cacr' tag 'cmcp', :container, 'dmcp.controlprompt' tag 'cmgt', :container, 'dmcp.getpropertyresponse' tag 'cmst', :container, 'dmcp.status' tag 'agal', :container, 'daap.albumgrouping' tag 'minm', :string, 'dmap.itemname' tag 'msts', :string, 'dmap.statusstring' tag 'mcna', :string, 'dmap.contentcodesname' tag 'asal', :string, 'daap.songalbum' tag 'asaa', :string, 'daap.songalbumartist' tag 'asar', :string, 'daap.songartist' tag 'ascm', :string, 'daap.songcomment' tag 'asfm', :string, 'daap.songformat' tag 'aseq', :string, 'daap.songeqpreset' tag 'asgn', :string, 'daap.songgenre' tag 'asdt', :string, 'daap.songdescription' tag 'asul', :string, 'daap.songdataurl' tag 'ceWM', :string, 'com.apple.itunes.welcome-message' tag 'ascp', :string, 'daap.songcomposer' tag 'assu', :string, 'daap.sortartist' tag 'assa', :string, 'daap.sortalbum' tag 'agrp', :string, 'daap.songgrouping' tag 'cann', :string, 'daap.nowplayingtrack' tag 'cana', :string, 'daap.nowplayingartist' tag 'canl', :string, 'daap.nowplayingalbum' tag 'cang', :string, 'daap.nowplayinggenre' tag 'cmnm', :string, 'dacp.devicename' tag 'cmty', :string, 'dacp.devicetype' tag 'cmpg', :hex, 'dacp.pairingguid' # hex string tag 'mper', :uint64, 'dmap.persistentid' tag 'canp', :uint64, 'dacp.nowplaying' tag 'cmpy', :uint64, 'dacp.passguid' tag 'mdbk', :uint32, 'dmap.databasekind' tag 'aeCs', :uint32, 'com.apple.itunes.artworkchecksum' tag 'mctc', :uint32, 'dmap.containercount' tag 'aeMk', :uint32, 'com.apple.itunes.mediakind' tag 'aeMK', :uint32, 'com.apple.itunes.extended-mediakind' tag 'mstt', :uint32, 'dmap.status' # http status?? tag 'mcnm', :string, 'dmap.contentcodesnumber' tag 'meds', :uint32, 'dmap.editcommandssupported' tag 'miid', :uint32, 'dmap.itemid' tag 'mcti', :uint32, 'dmap.containeritemid' tag 'mpco', :uint32, 'dmap.parentcontainerid' tag 'mimc', :uint32, 'dmap.itemcount' tag 'mrco', :uint32, 'dmap.returnedcount' tag 'mtco', :uint32, 'dmap.containercount' tag 'mstm', :uint32, 'dmap.timeoutinterval' tag 'msdc', :uint32, 'dmap.databasescount' tag 'msma', :uint32, 'dmap.speakermachineaddress' tag 'mlid', :uint32, 'dmap.sessionid' tag 'assr', :uint32, 'daap.songsamplerate' tag 'assz', :uint32, 'daap.songsize' tag 'asst', :uint32, 'daap.songstarttime' tag 'assp', :uint32, 'daap.songstoptime' tag 'astm', :uint32, 'daap.songtime' tag 'msto', :uint32, 'dmap.utcoffset' tag 'cmsr', :uint32, 'dmcp.mediarevision' tag 'caas', :uint32, 'dacp.albumshuffle' tag 'caar', :uint32, 'dacp.albumrepeat' tag 'cant', :uint32, 'dacp.remainingtime' tag 'cmmk', :uint32, 'dmcp.mediakind' tag 'cast', :uint32, 'dacp.tracklength' tag 'asai', :uint32, 'daap.songalbumid' tag 'aeNV', :uint32, 'com.apple.itunes.norm-volume' tag 'cmvo', :uint32, 'dmcp.volume' tag 'mcty', :uint16, 'dmap.contentcodestype' tag 'asbt', :uint16, 'daap.songsbeatsperminute' tag 'asbr', :uint16, 'daap.songbitrate' tag 'asdc', :uint16, 'daap.songdisccount' tag 'asdn', :uint16, 'daap.songdiscnumber' tag 'astc', :uint16, 'daap.songtrackcount' tag 'astn', :uint16, 'daap.songtracknumber' tag 'asyr', :uint16, 'daap.songyear' tag 'ated', :uint16, 'daap.supportsextradata' tag 'asgr', :uint16, 'daap.supportsgroups' tag 'mikd', :byte, 'dmap.itemkind' tag 'casu', :byte, 'dacp.su' tag 'msau', :byte, 'dmap.authenticationmethod' tag 'mstu', :byte, 'dmap.updatetype' tag 'asrv', :byte, 'daap.songrelativevolume' tag 'asur', :byte, 'daap.songuserrating' tag 'asdk', :byte, 'daap.songdatakind' tag 'caps', :byte, 'dacp.playstatus' tag 'cash', :byte, 'dacp.shufflestate' tag 'carp', :byte, 'dacp.repeatstate' tag 'cavc', :byte, 'dacp.volumecontrollable' tag 'cafe', :byte, 'dacp.fullscreenenabled' tag 'cave', :byte, 'dacp.visualizerenabled' tag 'muty', :byte, 'dmap.updatetype' tag "f\215ch", :byte, 'dmap.haschildcontainers' tag 'msas', :byte, 'dmap.authenticationschemes' tag 'cavs', :bool, 'dacp.visualizer' tag 'cafs', :bool, 'dacp.fullscreen' tag 'ceGS', :bool, 'com.apple.itunes.genius-selectable' tag 'mslr', :bool, 'dmap.loginrequired' tag 'msal', :bool, 'dmap.supportsautologout' tag 'msup', :bool, 'dmap.supportsupdate' tag 'mspi', :bool, 'dmap.supportspersistenids' tag 'msex', :bool, 'dmap.supportsextensions' tag 'msbr', :bool, 'dmap.supportsbrowse' tag 'msqy', :bool, 'dmap.supportsquery' tag 'msix', :bool, 'dmap.supportsindex' tag 'msrs', :bool, 'dmap.supportsresolve' tag 'asco', :bool, 'daap.songcompliation' tag 'asdb', :bool, 'daap.songdisabled' tag 'abpl', :bool, 'daap.baseplaylist' tag 'aeSP', :bool, 'com.apple.itunes.smart-playlist' tag 'aePP', :bool, 'com.apple.itunes.is-podcast-playlist' tag 'aePS', :bool, 'com.apple.itunes.special-playlist' tag 'aeSG', :bool, 'com.apple.itunes.saved-genius' tag 'aeFP', :bool, 'com.apple.itunes.req-fplay' tag 'aeHV', :bool, 'com.apple.itunes.has-video' tag 'caia', :bool, 'dacp.isavailiable' tag 'caip', :bool, 'dacp.isplaying' tag 'ceVO', :bool, 'com.apple.itunes.voting-enabled' tag 'aeSV', :version, 'com.apple.itunes.music-sharing-version' tag 'mpro', :version, 'dmap.protocolversion' tag 'apro', :version, 'daap.protocolversion' tag 'musr', :version, 'dmap.serverrevision' tag 'mstc', :date, 'dmap.utc-time' tag 'asda', :date, 'daap.songdateadded' tag 'asdm', :date, 'daap.songdatemodified' tag 'ceJC', :bool, 'com.apple.itunes.jukebox-client-vote' tag 'ceJI', :bool, 'com.apple.itunes.jukebox-current' tag 'ceJS', :uint16, 'com.apple.itunes.jukebox-score' tag 'ceJV', :bool, 'com.apple.itunes.jukebox-vote' tag 'ceQR', :container, 'com.apple.itunes.playqueue-contents-response' tag 'ceQS', :container, 'com.apple.itunes.playqueue-contents-???' tag 'ceQs', :uint64, 'com.apple.itunes.playqueue-id' tag 'ceQa', :string, 'com.apple.itunes.playqueue-album' tag 'ceQg', :string, 'com.apple.itunes.playqueue-genre' tag 'ceQn', :string, 'com.apple.itunes.playqueue-name' tag 'ceQr', :string, 'com.apple.itunes.playqueue-artist' tag 'ceQk', :string, 'com.apple.itunes.playqueue-key' tag 'ceQl', :string, 'com.apple.itunes.playqueue-label' tag 'msml', :container, 'msml' tag 'aeGs', :bool, 'com.apple.itunes.can-be-genius-seed' tag 'aprm', :short, 'daap.playlistrepeatmode' tag 'apsm', :short, 'daap.playlistshufflemode' tag 'cmpr', :version, 'dmcp.protocolversion' tag 'capr', :version, 'dacp.protocolversion' tag 'ppro', :version, 'unknown.version' tag 'aeXD', :string, 'com.apple.itunes.xid' end # rubocop:enable ClassLength end