Skip to content
AirTunes metadata module for MagicMirror
JavaScript Python Shell
Branch: master
Clone or download
Latest commit a7a9fa2 Aug 13, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information. Updated License Jan 29, 2017
MMM-ShairportMetadata.js Custom alignment support and hide module if no song playing Jan 30, 2017 Update Jul 31, 2019
preview.jpg Initial Commit Jan 29, 2017 Custom alignment support and hide module if no song playing Jan 30, 2017 Initial Commit Jan 29, 2017


A module to integrate AirPlay metadata coming via shairport-sync into the MagicMirror. This plugin does not work with video streaming or screen mirroring.



Using the module

Add MMM-ShairportMetadata module to the modules array in the config/config.js file:

modules: [
    module: 'MMM-ShairportMetadata',
    position: 'bottom_left',
    config: {
      metadataPipe: "/tmp/shairport-sync-metadata", // location of pipe with shairport-sync metadata
	  alignment: "center",	// Possible values [left|right|center]. Default: center

Integration with shairport-sync

Example configuration for shairport-sync:

metadata =
		enabled = "yes"; // set to yes to get Shairport Sync to solicit metadata from the source and to pass it on via a pipe
		include_cover_art = "yes"; // set to "yes" to get Shairport Sync to solicit cover art from the source and pass it via the pipe. You must also set "enabled" to "yes".
		pipe_name = "/tmp/shairport-sync-metadata";
		pipe_timeout = 5000; // wait for this number of milliseconds for a blocked pipe to unblock before giving up
//      socket_address = ""; // if set to a host name or IP address, UDP packets containing metadata will be sent to this address. May be a multicast address. "socket-port" must be non-zero and "enabled" must be set to yes"
//      socket_port = 5555; // if socket_address is set, the port to send UDP packets to
//      socket_msglength = 65000; // the maximum packet size for any UDP metadata. This will be clipped to be between 500 or 65000. The default is 500.
You can’t perform that action at this time.