var searchIndex = {}; searchIndex["mpd"] = {"doc":"MPD client for Rust","items":[[0,"error","mpd","This module defines different errors occurring during communication with MPD.",null,null],[3,"ServerError","mpd::error","Server error",null,null],[12,"code","","server error code",0,null],[12,"pos","","command position in command list",0,null],[12,"command","","command name, which caused the error",0,null],[12,"detail","","detailed error description",0,null],[4,"ErrorCode","","Server error codes, as defined in [libmpdclient](http://www.musicpd.org/doc/libmpdclient/protocol_8h_source.html)",null,null],[13,"NotList","","not a list",1,null],[13,"Argument","","bad command arguments",1,null],[13,"Password","","invalid password",1,null],[13,"Permission","","insufficient permissions",1,null],[13,"UnknownCmd","","unknown command",1,null],[13,"NoExist","","object doesn't exist",1,null],[13,"PlaylistMax","","maximum playlist size exceeded",1,null],[13,"System","","general system error",1,null],[13,"PlaylistLoad","","error loading playlist",1,null],[13,"UpdateAlready","","update database is already in progress",1,null],[13,"PlayerSync","","player synchronization error",1,null],[13,"Exist","","object already exists",1,null],[4,"Error","","Main error type, describing all possible error classes for the crate",null,null],[13,"Io","","IO errors (low-level network communication failures)",2,null],[13,"Parse","","parsing errors (unknown data came from server)",2,null],[13,"Proto","","protocol errors (e.g. missing required fields in server response, no handshake message etc.)",2,null],[13,"Server","","server errors (a.k.a. `ACK` responses from server)",2,null],[4,"ParseError","","Parsing error kinds",null,null],[13,"BadInteger","","invalid integer",3,null],[13,"BadFloat","","invalid float",3,null],[13,"BadValue","","some other invalid value",3,null],[13,"BadTime","","date/time parsing error",3,null],[13,"BadVersion","","invalid version format (should be x.y.z)",3,null],[13,"NotAck","","the response is not an `ACK` (not an error)\n(this is not actually an error, just a marker\nto try to parse the response as some other type,\nlike a pair)",3,null],[13,"BadPair","","invalid pair",3,null],[13,"BadCode","","invalid error code in `ACK` response",3,null],[13,"BadPos","","invalid command position in `ACK` response",3,null],[13,"NoCodePos","","missing command position and/or error code in `ACK` response",3,null],[13,"NoMessage","","missing error message in `ACK` response",3,null],[13,"NoRate","","missing bitrate in audio format field",3,null],[13,"NoBits","","missing bits in audio format field",3,null],[13,"NoChans","","missing channels in audio format field",3,null],[13,"BadRate","","invalid bitrate in audio format field",3,null],[13,"BadBits","","invalid bits in audio format field",3,null],[13,"BadChans","","invalid channels in audio format field",3,null],[13,"BadState","","unknown state in state status field",3,null],[13,"BadErrorCode","","unknown error code in `ACK` response",3,null],[4,"ProtoError","","Protocol errors",null,null],[13,"NotOk","","`OK` was expected, but it was missing",4,null],[13,"NotPair","","a data pair was expected",4,null],[13,"BadBanner","","invalid handshake banner received",4,null],[13,"NoField","","expected some field, but it was missing",4,null],[6,"Result","","Shortcut type for MPD results",null,null],[11,"partial_cmp","","",1,null],[11,"eq","","",1,null],[11,"clone","","",1,null],[11,"fmt","","",1,null],[11,"from_str","","",1,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"description","","",1,null],[11,"fmt","","",1,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"fmt","","",0,null],[11,"description","","",0,null],[11,"from_str","","",0,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",2,null],[11,"cause","","",2,null],[11,"description","","",2,null],[11,"fmt","","",2,null],[11,"from","","",2,{"inputs":[{"name":"ioerror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"parseerror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"protoerror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"parseinterror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"parsefloaterror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"timeparseerror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"servererror"}],"output":{"name":"error"}}],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"clone","","",3,null],[11,"fmt","","",3,null],[11,"fmt","","",3,null],[11,"description","","",3,null],[11,"from","","",3,{"inputs":[{"name":"timeparseerror"}],"output":{"name":"parseerror"}}],[11,"from","","",3,{"inputs":[{"name":"parseinterror"}],"output":{"name":"parseerror"}}],[11,"from","","",3,{"inputs":[{"name":"parsefloaterror"}],"output":{"name":"parseerror"}}],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"clone","","",4,null],[11,"fmt","","",4,null],[11,"fmt","","",4,null],[11,"description","","",4,null],[0,"version","mpd","This module defines MPD version type and parsing code",null,null],[3,"Version","mpd::version","MPD version",null,null],[12,"0","","",5,null],[12,"1","","",5,null],[12,"2","","",5,null],[11,"encode","","",5,null],[11,"partial_cmp","","",5,null],[11,"lt","","",5,null],[11,"le","","",5,null],[11,"gt","","",5,null],[11,"ge","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"from_str","","",5,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[0,"reply","mpd","The module describes all possible replies from MPD server.",null,null],[4,"Reply","mpd::reply","All possible MPD server replies",null,null],[13,"Ok","","`OK` and `list_OK` replies",6,null],[13,"Ack","","`ACK` reply (server error)",6,null],[13,"Pair","","a data pair reply (in `field: value` format)",6,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"clone","","",6,null],[11,"fmt","","",6,null],[11,"from_str","","",6,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[0,"status","mpd","The module defines MPD status data structures",null,null],[3,"Status","mpd::status","MPD status",null,null],[12,"volume","","volume (0-100, or -1 if volume is unavailable (e.g. for HTTPD output type)",7,null],[12,"repeat","","repeat mode",7,null],[12,"random","","random mode",7,null],[12,"single","","single mode",7,null],[12,"consume","","consume mode",7,null],[12,"queue_version","","queue version number",7,null],[12,"queue_len","","queue length",7,null],[12,"state","","playback state",7,null],[12,"song","","currently playing song place in the queue",7,null],[12,"nextsong","","next song to play place in the queue",7,null],[12,"time","","time current song played, and total song duration (in seconds resolution)",7,null],[12,"elapsed","","elapsed play time current song played (in milliseconds resolution)",7,null],[12,"duration","","current song duration",7,null],[12,"bitrate","","current song bitrate, kbps",7,null],[12,"crossfade","","crossfade timeout, seconds",7,null],[12,"mixrampdb","","mixramp threshold, dB",7,null],[12,"mixrampdelay","","mixramp duration, seconds",7,null],[12,"audio","","current audio playback format",7,null],[12,"updating_db","","current DB updating job number (if DB updating is in progress)",7,null],[12,"error","","last player error (if happened, can be reset with `clearerror()` method)",7,null],[12,"replaygain","","replay gain mode",7,null],[3,"AudioFormat","","Audio playback format",null,null],[12,"rate","","sample rate, kbps",8,null],[12,"bits","","sample resolution in bits, can be 0 for floating point resolution",8,null],[12,"chans","","number of channels",8,null],[4,"State","","Playback state",null,null],[13,"Stop","","player stopped",9,null],[13,"Play","","player is playing",9,null],[13,"Pause","","player paused",9,null],[4,"ReplayGain","","Replay gain mode",null,null],[13,"Off","","off",10,null],[13,"Track","","track",10,null],[13,"Album","","album",10,null],[13,"Auto","","auto",10,null],[11,"default","","",7,{"inputs":[],"output":{"name":"status"}}],[11,"clone","","",7,null],[11,"eq","","",7,null],[11,"ne","","",7,null],[11,"fmt","","",7,null],[11,"encode","","",7,null],[11,"encode","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"clone","","",8,null],[11,"fmt","","",8,null],[11,"from_str","","",8,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"decode","","",9,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",9,null],[11,"eq","","",9,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[11,"default","","",9,{"inputs":[],"output":{"name":"state"}}],[11,"from_str","","",9,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"decode","","",10,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",10,null],[11,"eq","","",10,null],[11,"clone","","",10,null],[11,"fmt","","",10,null],[11,"from_str","","",10,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",10,null],[0,"song","mpd","The module defines song structs and methods.",null,null],[3,"Id","mpd::song","Song ID",null,null],[12,"0","","",11,null],[3,"QueuePlace","","Song place in the queue",null,null],[12,"id","","song ID",12,null],[12,"pos","","absolute zero-based song position",12,null],[12,"prio","","song priority, if present, defaults to 0",12,null],[3,"Range","","Song range",null,null],[12,"0","","",13,null],[12,"1","","",13,null],[3,"Song","","Song data",null,null],[12,"file","","filename",14,null],[12,"name","","name (for streams)",14,null],[12,"title","","title",14,null],[12,"last_mod","","last modification time",14,null],[12,"duration","","duration (in seconds resolution)",14,null],[12,"place","","place in the queue (if queued for playback)",14,null],[12,"range","","range to play (if queued for playback and range was set)",14,null],[12,"tags","","arbitrary tags, like album, artist etc",14,null],[11,"default","","",11,{"inputs":[],"output":{"name":"id"}}],[11,"cmp","","",11,null],[11,"partial_cmp","","",11,null],[11,"lt","","",11,null],[11,"le","","",11,null],[11,"gt","","",11,null],[11,"ge","","",11,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"clone","","",11,null],[11,"fmt","","",11,null],[11,"encode","","",11,null],[11,"decode","","",11,{"inputs":[{"name":"s"}],"output":{"name":"result"}}],[11,"fmt","","",11,null],[11,"encode","","",12,null],[11,"default","","",12,{"inputs":[],"output":{"name":"queueplace"}}],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"clone","","",12,null],[11,"fmt","","",12,null],[11,"eq","","",13,null],[11,"ne","","",13,null],[11,"clone","","",13,null],[11,"fmt","","",13,null],[11,"encode","","",13,null],[11,"default","","",13,{"inputs":[],"output":{"name":"range"}}],[11,"fmt","","",13,null],[11,"from_str","","",13,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"default","","",14,{"inputs":[],"output":{"name":"song"}}],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"clone","","",14,null],[11,"fmt","","",14,null],[11,"encode","","",14,null],[0,"output","mpd","The module describes output",null,null],[3,"Output","mpd::output","Sound output",null,null],[12,"id","","id",15,null],[12,"name","","name",15,null],[12,"enabled","","enabled state",15,null],[11,"encode","","",15,null],[11,"eq","","",15,null],[11,"ne","","",15,null],[11,"fmt","","",15,null],[11,"clone","","",15,null],[0,"playlist","mpd","The module defines playlist data structures",null,null],[3,"Playlist","mpd::playlist","Playlist",null,null],[12,"name","","name",16,null],[12,"last_mod","","last modified",16,null],[11,"eq","","",16,null],[11,"ne","","",16,null],[11,"fmt","","",16,null],[11,"clone","","",16,null],[0,"plugin","mpd","The module defines decoder plugin data structures",null,null],[3,"Plugin","mpd::plugin","Decoder plugin",null,null],[12,"name","","name",17,null],[12,"suffixes","","supported file suffixes (extensions)",17,null],[12,"mime_types","","supported MIME-types",17,null],[11,"encode","","",17,null],[11,"eq","","",17,null],[11,"ne","","",17,null],[11,"fmt","","",17,null],[11,"clone","","",17,null],[0,"stats","mpd","The module describes DB and playback statistics",null,null],[3,"Stats","mpd::stats","DB and playback statistics",null,null],[12,"artists","","number of artists in DB",18,null],[12,"albums","","number of albums in DB",18,null],[12,"songs","","number of songs in DB",18,null],[12,"uptime","","total MPD uptime, seconds resolution",18,null],[12,"playtime","","total playback time, seconds resolution",18,null],[12,"db_playtime","","total playback time for all songs in DB, seconds resolution",18,null],[12,"db_update","","last DB update timestamp, seconds resolution",18,null],[11,"eq","","",18,null],[11,"ne","","",18,null],[11,"clone","","",18,null],[11,"fmt","","",18,null],[11,"encode","","",18,null],[11,"default","","",18,{"inputs":[],"output":{"name":"stats"}}],[0,"search","mpd","",null,null],[3,"Filter","mpd::search","",null,null],[3,"Query","","",null,null],[4,"Term","","",null,null],[13,"Any","","",19,null],[13,"File","","",19,null],[13,"Base","","",19,null],[13,"LastMod","","",19,null],[13,"Tag","","",19,null],[11,"new","","",20,{"inputs":[{"name":"client"}],"output":{"name":"query"}}],[11,"and","","",20,null],[11,"limit","","",20,null],[11,"group","","",20,null],[11,"find","","",20,null],[11,"find_add","","",20,null],[11,"fmt","","",19,null],[11,"fmt","","",21,null],[11,"fmt","","",20,null],[0,"message","mpd","The module defines structures for MPD client-to-client messaging/subscription protocol",null,null],[3,"Message","mpd::message","Message",null,null],[12,"channel","","channel",22,null],[12,"message","","message payload",22,null],[3,"Channel","","Channel",null,null],[11,"encode","","",22,null],[11,"clone","","",22,null],[11,"eq","","",22,null],[11,"ne","","",22,null],[11,"fmt","","",22,null],[11,"encode","","",23,null],[11,"clone","","",23,null],[11,"partial_cmp","","",23,null],[11,"lt","","",23,null],[11,"le","","",23,null],[11,"gt","","",23,null],[11,"ge","","",23,null],[11,"eq","","",23,null],[11,"ne","","",23,null],[11,"fmt","","",23,null],[11,"fmt","","",23,null],[11,"new","","Create channel with given name",23,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"new_unchecked","","Create channel with arbitrary name, bypassing name validity checks",23,{"inputs":[{"name":"string"}],"output":{"name":"channel"}}],[11,"is_valid_name","","Check if given name is a valid channel name",23,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[0,"idle","mpd","The module defines structures and protocols for asynchronous MPD communication",null,null],[3,"IdleGuard","mpd::idle",""Idle" mode guard enforcing MPD asynchronous events protocol",null,null],[4,"Subsystem","","Subsystems for `idle` command",null,null],[13,"Database","","database: the song database has been modified after update.",24,null],[13,"Update","","update: a database update has started or finished. If the database was modified during the update, the database event is also emitted.",24,null],[13,"Playlist","","stored_playlist: a stored playlist has been modified, renamed, created or deleted",24,null],[13,"Queue","","playlist: the current playlist has been modified",24,null],[13,"Player","","player: the player has been started, stopped or seeked",24,null],[13,"Mixer","","mixer: the volume has been changed",24,null],[13,"Output","","output: an audio output has been enabled or disabled",24,null],[13,"Options","","options: options like repeat, random, crossfade, replay gain",24,null],[13,"Sticker","","sticker: the sticker database has been modified.",24,null],[13,"Subscription","","subscription: a client has subscribed or unsubscribed to a channel",24,null],[13,"Message","","message: a message was received on a channel this client is subscribed to; this event is only emitted when the queue is empty",24,null],[8,"Idle","","This trait implements `idle` command of MPD protocol",null,null],[16,"Stream","","Stream type of a client",25,null],[10,"idle","","Start listening for events from a set of subsystems",25,null],[11,"wait","","Wait for events from a set of subsystems and return list of affected subsystems",25,null],[11,"encode","","",24,null],[11,"eq","","",24,null],[11,"fmt","","",24,null],[11,"clone","","",24,null],[11,"from_str","","",24,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",24,null],[11,"get","","Get list of subsystems with new events, interrupting idle mode in process",26,null],[11,"drop","","",26,null],[0,"mount","mpd","The module describes data structures for MPD (virtual) mounts system",null,null],[3,"Mount","mpd::mount","Mount point",null,null],[12,"name","","mount point name",27,null],[12,"storage","","mount storage URI",27,null],[3,"Neighbor","","Neighbor",null,null],[12,"name","","neighbor name",28,null],[12,"storage","","neighbor storage URI",28,null],[11,"encode","","",27,null],[11,"eq","","",27,null],[11,"ne","","",27,null],[11,"fmt","","",27,null],[11,"clone","","",27,null],[11,"encode","","",28,null],[11,"eq","","",28,null],[11,"ne","","",28,null],[11,"fmt","","",28,null],[11,"clone","","",28,null],[0,"client","mpd","This module defines client data structure — the main entry point to MPD communication",null,null],[3,"Client","mpd::client","Client connection",null,null],[12,"version","","MPD version",29,null],[11,"fmt","","",29,null],[11,"default","","",29,{"inputs":[],"output":{"name":"client"}}],[11,"connect","","Connect client to some IP address",29,{"inputs":[{"name":"a"}],"output":{"name":"result"}}],[11,"new","","Create client from some arbitrary pre-connected socket",29,{"inputs":[{"name":"s"}],"output":{"name":"result"}}],[11,"status","","Get MPD status",29,null],[11,"stats","","Get MPD playing statistics",29,null],[11,"clearerror","","Clear error state",29,null],[11,"volume","","Set volume",29,null],[11,"repeat","","Set repeat state",29,null],[11,"random","","Set random state",29,null],[11,"single","","Set single state",29,null],[11,"consume","","Set consume state",29,null],[11,"crossfade","","Set crossfade time in seconds",29,null],[11,"mixrampdb","","Set mixramp level in dB",29,null],[11,"mixrampdelay","","Set mixramp delay in seconds",29,null],[11,"replaygain","","Set replay gain mode",29,null],[11,"play","","Start playback",29,null],[11,"switch","","Start playback from given song in a queue",29,null],[11,"next","","Switch to a next song in queue",29,null],[11,"prev","","Switch to a previous song in queue",29,null],[11,"stop","","Stop playback",29,null],[11,"pause","","Set pause state",29,null],[11,"seek","","Seek to a given place (in seconds) in a given song",29,null],[11,"rewind","","Seek to a given place (in seconds) in the current song",29,null],[11,"songs","","List given song or range of songs in a play queue",29,null],[11,"queue","","List all songs in a play queue",29,null],[11,"currentsong","","Get current playing song",29,null],[11,"clear","","Clear current queue",29,null],[11,"changes","","List all changes in a queue since given version",29,null],[11,"push","","Append a song into a queue",29,null],[11,"insert","","Insert a song into a given position in a queue",29,null],[11,"delete","","Delete a song (at some position) or several songs (in a range) from a queue",29,null],[11,"shift","","Move a song (at a some position) or several songs (in a range) to other position in queue",29,null],[11,"swap","","Swap to songs in a queue",29,null],[11,"shuffle","","Shuffle queue in a given range (use `..` to shuffle full queue)",29,null],[11,"priority","","Set song priority in a queue",29,null],[11,"range","","Set song range (in seconds) to play",29,null],[11,"tag","","Add tag to a song",29,null],[11,"untag","","Delete tag from a song",29,null],[11,"ping","","Just pings MPD server, does nothing",29,null],[11,"close","","Close MPD connection",29,null],[11,"kill","","Kill MPD server",29,null],[11,"login","","Login to MPD server with given password",29,null],[11,"playlists","","List all playlists",29,null],[11,"playlist","","List all songs in a playlist",29,null],[11,"load","","Load playlist into queue",29,null],[11,"save","","Save current queue into playlist",29,null],[11,"pl_rename","","Rename playlist",29,null],[11,"pl_clear","","Clear playlist",29,null],[11,"pl_remove","","Delete playlist",29,null],[11,"pl_push","","Add new songs to a playlist",29,null],[11,"pl_delete","","Delete a song at a given position in a playlist",29,null],[11,"pl_shift","","Move song in a playlist from one position into another",29,null],[11,"rescan","","Run database rescan, i.e. remove non-existing files from DB\nas well as add new files to DB",29,null],[11,"update","","Run database update, i.e. remove non-existing files from DB",29,null],[11,"query","","Initiate query to songs database",29,null],[11,"outputs","","List all outputs",29,null],[11,"output","","Set given output enabled state",29,null],[11,"out_disable","","Disable given output",29,null],[11,"out_enable","","Enable given output",29,null],[11,"out_toggle","","Toggle given output",29,null],[11,"music_directory","","Get current music directory",29,null],[11,"commands","","List all available commands",29,null],[11,"notcommands","","List all forbidden commands",29,null],[11,"urlhandlers","","List all available URL handlers",29,null],[11,"tagtypes","","List all supported tag types",29,null],[11,"decoders","","List all available decoder plugins",29,null],[11,"channels","","List all channels available for current connection",29,null],[11,"readmessages","","Read queued messages from subscribed channels",29,null],[11,"sendmessage","","Send a message to a channel",29,null],[11,"subscribe","","Subscribe to a channel",29,null],[11,"unsubscribe","","Unsubscribe to a channel",29,null],[11,"mounts","","List all (virtual) mounts",29,null],[11,"neighbors","","List all network neighbors, which can be potentially mounted",29,null],[11,"mount","","Mount given neighbor to a mount point",29,null],[11,"unmount","","Unmount given active (virtual) mount",29,null],[11,"sticker","","Show sticker value for a given object, identified by type and uri",29,null],[11,"set_sticker","","Set sticker value for a given object, identified by type and uri",29,null],[11,"delete_sticker","","Delete sticker from a given object, identified by type and uri",29,null],[11,"clear_stickers","","Remove all stickers from a given object, identified by type and uri",29,null],[11,"stickers","","List all stickers from a given object, identified by type and uri",29,null],[11,"find_sticker","","List all (file, sticker) pairs for sticker name and objects of given type\nfrom given directory (identified by uri)",29,null],[11,"find_sticker_eq","","List all files of a given type under given directory (identified by uri)\nwith a tag set to given value",29,null],[11,"idle","","",29,null]],"paths":[[3,"ServerError"],[4,"ErrorCode"],[4,"Error"],[4,"ParseError"],[4,"ProtoError"],[3,"Version"],[4,"Reply"],[3,"Status"],[3,"AudioFormat"],[4,"State"],[4,"ReplayGain"],[3,"Id"],[3,"QueuePlace"],[3,"Range"],[3,"Song"],[3,"Output"],[3,"Playlist"],[3,"Plugin"],[3,"Stats"],[4,"Term"],[3,"Query"],[3,"Filter"],[3,"Message"],[3,"Channel"],[4,"Subsystem"],[8,"Idle"],[3,"IdleGuard"],[3,"Mount"],[3,"Neighbor"],[3,"Client"]]}; initSearch(searchIndex);