Changeset 10925 for OpenSceneGraph/trunk/examples/osgmovie/osgmovie.cpp
- Timestamp:
- 01/07/10 15:35:17 (3 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/examples/osgmovie/osgmovie.cpp
r10809 r10925 384 384 385 385 SDLAudioSink(osg::AudioStream* audioStream): 386 _playing(false), 386 _started(false), 387 _paused(false), 387 388 _audioStream(audioStream) {} 388 389 389 390 ~SDLAudioSink(); 390 391 391 virtual void startPlaying(); 392 virtual bool playing() const { return _playing; } 393 394 395 bool _playing; 392 virtual void play(); 393 virtual void pause(); 394 virtual void stop(); 395 396 virtual bool playing() const { return _started && !_paused; } 397 398 399 bool _started; 400 bool _paused; 396 401 osg::observer_ptr<osg::AudioStream> _audioStream; 397 402 }; … … 671 676 SDLAudioSink::~SDLAudioSink() 672 677 { 673 if (_playing) 674 { 675 676 SDL_PauseAudio(1); 677 SDL_CloseAudio(); 678 679 osg::notify(osg::NOTICE)<<"~SDLAudioSink() destructor, but still playing"<<std::endl; 680 } 681 } 682 683 void SDLAudioSink::startPlaying() 684 { 685 _playing = true; 678 stop(); 679 } 680 681 void SDLAudioSink::play() 682 { 683 if (_started) 684 { 685 if (_paused) 686 { 687 SDL_PauseAudio(0); 688 _paused = false; 689 } 690 return; 691 } 692 693 _started = true; 694 _paused = false; 695 686 696 osg::notify(osg::NOTICE)<<"SDLAudioSink()::startPlaying()"<<std::endl; 687 697 … … 708 718 } 709 719 720 void SDLAudioSink::pause() 721 { 722 if (_started) 723 { 724 SDL_PauseAudio(1); 725 _paused = true; 726 } 727 } 728 729 void SDLAudioSink::stop() 730 { 731 if (_started) 732 { 733 if (!_paused) SDL_PauseAudio(1); 734 SDL_CloseAudio(); 735 736 osg::notify(osg::NOTICE)<<"~SDLAudioSink() destructor, but still playing"<<std::endl; 737 } 738 } 710 739 711 740 #endif
