[GEM-cvs] SF.net SVN: pd-gem:[4385] trunk/Gem/plugins/videoPYLON/videoPYLON.cpp
Brought to you by:
zmoelnig
From: <zmo...@us...> - 2011-07-26 15:58:52
|
Revision: 4385 http://pd-gem.svn.sourceforge.net/pd-gem/?rev=4385&view=rev Author: zmoelnig Date: 2011-07-26 15:58:46 +0000 (Tue, 26 Jul 2011) Log Message: ----------- numeric device selection Modified Paths: -------------- trunk/Gem/plugins/videoPYLON/videoPYLON.cpp Modified: trunk/Gem/plugins/videoPYLON/videoPYLON.cpp =================================================================== --- trunk/Gem/plugins/videoPYLON/videoPYLON.cpp 2011-07-26 15:37:29 UTC (rev 4384) +++ trunk/Gem/plugins/videoPYLON/videoPYLON.cpp 2011-07-26 15:58:46 UTC (rev 4385) @@ -407,12 +407,25 @@ if(NULL==m_factory)return false; Pylon::IPylonDevice *device = NULL; + try { - std::map<std::string, Pylon::CDeviceInfo>::iterator it=m_id2device.find(m_devicename); - if(it!=m_id2device.end()) - device = m_factory->CreateDevice(it->second); - else - device = m_factory->CreateDevice(Pylon::String_t(m_devicename.c_str())); + if(m_devicename.empty()) { + if(m_id2device.empty()) + enumerate(); + std::map<std::string, Pylon::CDeviceInfo>::iterator it=m_id2device.begin(); + if(m_devicenum>=0) { + std::advance( it, m_devicenum ); + } + if(it != m_id2device.end()) { + device = m_factory->CreateDevice(it->second); + } + } else { + std::map<std::string, Pylon::CDeviceInfo>::iterator it=m_id2device.find(m_devicename); + if(it!=m_id2device.end()) + device = m_factory->CreateDevice(it->second); + else + device = m_factory->CreateDevice(Pylon::String_t(m_devicename.c_str())); + } } catch (GenICam::GenericException &e) { std::cerr << e.GetDescription() << std::endl; return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |