cycheng
09-09-2010 07:02:04
Hi,
I use OgreOggSound 1.18,
(1)
In OgreOggSoundManager::init(), when system creates mListener in OgreOggSoundFactory::createInstanceImpl()
It seems the OgreOggSoundFactory do not assign name to OgreOggListener, does the system intend to do that ?
(2)
the movable type of OgreOggListener is "OgreOggListener", and it is different to
OgreOggSoundFactory(typename = "OgreOggISound") which create the OgreOggListener
this will encounter some problems if I do this :
because it use "OgreOggListener" movable type and ogglistener ->mName search scene manages movableObject map
but actually, ogglistener is located in "OgreOggISound" objects map with name "OgreOggSoundListener"
(by the way, ogglistener ->mName is NULL)
How about create another Factory for OgreOggListener ?
(3)
in OgreOggSoundPlugin.cpp
It would better to initialise 'mOgreOggSoundManager = NULL' in OgreOggSoundPlugin constructor, and adding check in
OgreOggSoundPlugin::shutdown() to check if mOgreOggSoundManager exist
the case will occur if I install() the plugin without initialise() and shutdown() it immediately,
if I do not check, error will occur.
Thanks for your patient!
CY
I use OgreOggSound 1.18,
(1)
In OgreOggSoundManager::init(), when system creates mListener in OgreOggSoundFactory::createInstanceImpl()
It seems the OgreOggSoundFactory do not assign name to OgreOggListener, does the system intend to do that ?
(2)
the movable type of OgreOggListener is "OgreOggListener", and it is different to
OgreOggSoundFactory(typename = "OgreOggISound") which create the OgreOggListener
this will encounter some problems if I do this :
#define SOUND_MGR OgreOggSound::OgreOggSoundManager::getSingleton()
OgreOggListener* ogglistener = SOUND_MGR.getListener();
Ogre::SceneManager* smgr_of_soundmgr = SOUND_MGR.getSceneManager();
smgr_of_soundmgr->extractMovableObject( ogglistener );
because it use "OgreOggListener" movable type and ogglistener ->mName search scene manages movableObject map
but actually, ogglistener is located in "OgreOggISound" objects map with name "OgreOggSoundListener"
(by the way, ogglistener ->mName is NULL)
How about create another Factory for OgreOggListener ?
(3)
in OgreOggSoundPlugin.cpp
It would better to initialise 'mOgreOggSoundManager = NULL' in OgreOggSoundPlugin constructor, and adding check in
OgreOggSoundPlugin::shutdown() to check if mOgreOggSoundManager exist
the case will occur if I install() the plugin without initialise() and shutdown() it immediately,
if I do not check, error will occur.
Thanks for your patient!
CY