public function processSong(Song $song) { //format name $name = $song->getName(); //remove starting dot if (Strings::startsWith($name, '.')) { $name = Strings::substring($name, 1); } if (Strings::startsWith($name, ' ')) { $name = Strings::substring($name, 1); } //change underscore to space if (Strings::contains($name, '_-_')) { $name = Strings::replace($name, '~_-_~', '-'); } $name = Strings::replace($name, '~_~', ' '); //end of format name $song->setName($name); //load metadata from name if (!$song->hasMetadata()) { $this->addSongMetadata($song); } }