@startuml !include theme.ipuml skinparam Linetype ortho package crepe { class Sound { +Sound(crepe::api::Resource) +pause() +play() +rewind() +set_volume(float) +set_looping(bool) -_handle : SoLoud::handle -_paused : bool } class SoundSystem { } } package SoLoud { class Soloud class WavStream class Wav } ' layout crepe -[hidden]down- SoLoud SoLoud.Wav -[hidden]right- SoLoud.WavStream SoLoud.WavStream -[hidden]right- SoLoud.Soloud crepe.Sound ..> (SoLoud.WavStream, SoLoud.Wav) : either crepe.SoundSystem ..> SoLoud.Soloud @enduml