void PlaybackManager::playSounds( int frame ) { std::vector< LayerSound* > kSoundLayers; for ( int i = 0; i < object()->getLayerCount(); ++i ) { Layer* layer = object()->getLayer( i ); if ( layer->type() == Layer::SOUND ) { kSoundLayers.push_back( static_cast< LayerSound* >( layer ) ); } } for ( LayerSound* layer : kSoundLayers ) { if ( layer->keyExists( frame ) ) { KeyFrame* key = layer->getKeyFrameAt( frame ); SoundClip* clip = static_cast< SoundClip* >( key ); clip->play(); } } }