digraph "Partition"
{
 // INTERACTIVE_SVG=YES
  bgcolor="transparent";
  edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
  node [fontname="Helvetica",fontsize="10",shape=record];
  rankdir="LR";
  Node1 [label="Partition",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"];
  Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node2 [label="QueueListener",height=0.2,width=0.4,color="black",URL="$classQueueListener.html"];
  Node3 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node3 [label="PlayerListener",height=0.2,width=0.4,color="black",URL="$classPlayerListener.html"];
  Node4 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node4 [label="MixerListener",height=0.2,width=0.4,color="black",URL="$classMixerListener.html",tooltip="An interface that listens on events from mixer plugins. "];
  Node5 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" global_events" ,fontname="Helvetica"];
  Node5 [label="MaskMonitor",height=0.2,width=0.4,color="black",URL="$classMaskMonitor.html",tooltip="Manage a bit mask of events that have occurred. "];
  Node6 -> Node5 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node6 [label="DeferredMonitor",height=0.2,width=0.4,color="black",URL="$classDeferredMonitor.html",tooltip="Defer execution of an event into an EventLoop. "];
  Node7 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" playlist" ,fontname="Helvetica"];
  Node7 [label="playlist",height=0.2,width=0.4,color="black",URL="$structplaylist.html"];
  Node2 -> Node7 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" listener" ,fontname="Helvetica"];
  Node8 -> Node7 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" queue" ,fontname="Helvetica"];
  Node8 [label="Queue",height=0.2,width=0.4,color="black",URL="$structQueue.html",tooltip="A queue of songs. "];
  Node9 -> Node8 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" id_table" ,fontname="Helvetica"];
  Node9 [label="IdTable",height=0.2,width=0.4,color="black",URL="$classIdTable.html",tooltip="A table that maps id numbers to position numbers. "];
  Node10 -> Node8 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" rand" ,fontname="Helvetica"];
  Node10 [label="LazyRandomEngine",height=0.2,width=0.4,color="black",URL="$classLazyRandomEngine.html",tooltip="A random engine that will be created and seeded on demand. "];
  Node11 -> Node8 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" items" ,fontname="Helvetica"];
  Node11 [label="Queue::Item",height=0.2,width=0.4,color="black",URL="$structQueue_1_1Item.html",tooltip="One element of the queue: basically a song plus some queue specific information attached. "];
  Node12 -> Node11 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" song" ,fontname="Helvetica"];
  Node12 [label="DetachedSong",height=0.2,width=0.4,color="black",URL="$classDetachedSong.html"];
  Node13 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" outputs" ,fontname="Helvetica"];
  Node13 [label="MultipleOutputs",height=0.2,width=0.4,color="black",URL="$classMultipleOutputs.html"];
  Node14 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" pc" ,fontname="Helvetica"];
  Node14 [label="PlayerControl",height=0.2,width=0.4,color="black",URL="$structPlayerControl.html"];
  Node15 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node15 [label="AudioOutputClient",height=0.2,width=0.4,color="black",URL="$classAudioOutputClient.html",tooltip="An interface between the AudioOutput and the #Player. "];
  Node16 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" cross_fade" ,fontname="Helvetica"];
  Node16 [label="CrossFadeSettings",height=0.2,width=0.4,color="black",URL="$structCrossFadeSettings.html"];
  Node17 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" cond\nclient_cond" ,fontname="Helvetica"];
  Node17 [label="Cond",height=0.2,width=0.4,color="black",URL="$classCond.html"];
  Node18 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node18 [label="PosixCond",height=0.2,width=0.4,color="black",URL="$classPosixCond.html",tooltip="Low-level wrapper for a pthread_cond_t. "];
  Node19 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" replay_gain_config" ,fontname="Helvetica"];
  Node19 [label="ReplayGainConfig",height=0.2,width=0.4,color="black",URL="$structReplayGainConfig.html"];
  Node13 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" outputs" ,fontname="Helvetica"];
  Node3 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" listener" ,fontname="Helvetica"];
  Node12 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" tagged_song\nnext_song" ,fontname="Helvetica"];
  Node20 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" audio_format\nconfigured_audio\l_format" ,fontname="Helvetica"];
  Node20 [label="AudioFormat",height=0.2,width=0.4,color="black",URL="$structAudioFormat.html",tooltip="This structure describes the format of a raw PCM stream. "];
  Node21 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" mutex" ,fontname="Helvetica"];
  Node21 [label="Mutex",height=0.2,width=0.4,color="black",URL="$classMutex.html"];
  Node22 -> Node21 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node22 [label="PosixMutex",height=0.2,width=0.4,color="black",URL="$classPosixMutex.html",tooltip="Low-level wrapper for a pthread_mutex_t. "];
  Node23 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" thread" ,fontname="Helvetica"];
  Node23 [label="Thread",height=0.2,width=0.4,color="black",URL="$classThread.html"];
  Node24 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" seek_time\nelapsed_time" ,fontname="Helvetica"];
  Node24 [label="SongTime",height=0.2,width=0.4,color="black",URL="$classSongTime.html",tooltip="A time stamp within a song. "];
  Node25 -> Node24 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node25 [label="std::chrono::duration\l\< std::uint32_t, std\l::milli \>",height=0.2,width=0.4,color="grey75"];
  Node26 -> Node14 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" total_time" ,fontname="Helvetica"];
  Node26 [label="SignedSongTime",height=0.2,width=0.4,color="black",URL="$classSignedSongTime.html",tooltip="A variant of SongTime that is based on a signed integer. "];
  Node27 -> Node26 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node27 [label="std::chrono::duration\l\< std::int32_t, std::\lmilli \>",height=0.2,width=0.4,color="grey75"];
  Node28 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" instance" ,fontname="Helvetica"];
  Node28 [label="Instance",height=0.2,width=0.4,color="black",URL="$structInstance.html"];
  Node29 -> Node28 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node29 [label="EventLoopHolder",height=0.2,width=0.4,color="black",URL="$structEventLoopHolder.html",tooltip="A utility class which, when used as the first base class, ensures that the EventLoop gets initialized..."];
  Node30 -> Node29 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" event_loop" ,fontname="Helvetica"];
  Node30 [label="EventLoop",height=0.2,width=0.4,color="black",URL="$classEventLoop.html",tooltip="An event loop that polls for events on file/socket descriptors. "];
  Node31 -> Node30 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node31 [label="SocketMonitor",height=0.2,width=0.4,color="black",URL="$classSocketMonitor.html",tooltip="Monitor events on a socket. "];
  Node5 -> Node28 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" idle_monitor" ,fontname="Helvetica"];
  Node32 -> Node28 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" state_file" ,fontname="Helvetica"];
  Node32 [label="StateFile",height=0.2,width=0.4,color="black",URL="$classStateFile.html"];
  Node33 -> Node32 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
  Node33 [label="TimeoutMonitor",height=0.2,width=0.4,color="black",URL="$classTimeoutMonitor.html",tooltip="This class monitors a timeout. "];
  Node1 -> Node28 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" partition" ,fontname="Helvetica"];
  Node34 -> Node28 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" client_list" ,fontname="Helvetica"];
  Node34 [label="ClientList",height=0.2,width=0.4,color="black",URL="$classClientList.html"];
}
