Changeset 554 for trunk/libffado/src/devicemanager.cpp
- Timestamp:
- 08/22/07 10:15:34 (17 years ago)
- Files:
-
- trunk/libffado/src/devicemanager.cpp (modified) (23 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/src/devicemanager.cpp
r529 r554 26 26 27 27 #include "devicemanager.h" 28 #include " iavdevice.h"28 #include "ffadodevice.h" 29 29 30 30 #include "libieee1394/configrom.h" … … 38 38 #include "bebob/bebob_avdevice.h" 39 39 #include "maudio/maudio_avdevice.h" 40 #endif 41 42 #ifdef ENABLE_GENERICAVC 43 #include "genericavc/avc_avdevice.h" 40 44 #endif 41 45 … … 72 76 , m_1394Service( 0 ) 73 77 , m_oscServer( NULL ) 74 , m_verboseLevel( DEBUG_LEVEL_NORMAL )75 78 { 76 79 addOption(Util::OptionContainer::Option("slaveMode",false)); … … 85 88 } 86 89 87 for ( IAvDeviceVectorIterator it = m_avDevices.begin();90 for ( FFADODeviceVectorIterator it = m_avDevices.begin(); 88 91 it != m_avDevices.end(); 89 92 ++it ) … … 98 101 DeviceManager::setVerboseLevel(int l) 99 102 { 100 m_verboseLevel=l;103 debugOutput( DEBUG_LEVEL_NORMAL, "Setting verbose level to %d...\n", l ); 101 104 setDebugLevel(l); 102 105 … … 105 108 OscNode::setVerboseLevel(l); 106 109 107 for ( IAvDeviceVectorIterator it = m_avDevices.begin();110 for ( FFADODeviceVectorIterator it = m_avDevices.begin(); 108 111 it != m_avDevices.end(); 109 112 ++it ) … … 129 132 } 130 133 131 m_oscServer = new OSC::OscServer("17820");132 133 if (!m_oscServer) {134 debugFatal("failed to create osc server\n");135 delete m_1394Service;136 m_1394Service = 0;137 return false;138 }139 140 if (!m_oscServer->init()) {141 debugFatal("failed to init osc server\n");142 delete m_oscServer;143 m_oscServer = NULL;144 delete m_1394Service;145 m_1394Service = 0;146 return false;147 }148 149 if (!m_oscServer->registerAtRootNode(this)) {150 debugFatal("failed to register devicemanager at server\n");151 delete m_oscServer;152 m_oscServer = NULL;153 delete m_1394Service;154 m_1394Service = 0;155 return false;156 }157 158 if (!m_oscServer->start()) {159 debugFatal("failed to start osc server\n");160 delete m_oscServer;161 m_oscServer = NULL;162 delete m_1394Service;163 m_1394Service = 0;164 return false;165 }166 167 setVerboseLevel( m_verboseLevel);134 // m_oscServer = new OSC::OscServer("17820"); 135 // 136 // if (!m_oscServer) { 137 // debugFatal("failed to create osc server\n"); 138 // delete m_1394Service; 139 // m_1394Service = 0; 140 // return false; 141 // } 142 // 143 // if (!m_oscServer->init()) { 144 // debugFatal("failed to init osc server\n"); 145 // delete m_oscServer; 146 // m_oscServer = NULL; 147 // delete m_1394Service; 148 // m_1394Service = 0; 149 // return false; 150 // } 151 // 152 // if (!m_oscServer->registerAtRootNode(this)) { 153 // debugFatal("failed to register devicemanager at server\n"); 154 // delete m_oscServer; 155 // m_oscServer = NULL; 156 // delete m_1394Service; 157 // m_1394Service = 0; 158 // return false; 159 // } 160 // 161 // if (!m_oscServer->start()) { 162 // debugFatal("failed to start osc server\n"); 163 // delete m_oscServer; 164 // m_oscServer = NULL; 165 // delete m_1394Service; 166 // m_1394Service = 0; 167 // return false; 168 // } 169 170 setVerboseLevel(getDebugLevel()); 168 171 return true; 169 172 } … … 181 184 } 182 185 183 setVerboseLevel( m_verboseLevel);184 185 for ( IAvDeviceVectorIterator it = m_avDevices.begin();186 setVerboseLevel(getDebugLevel()); 187 188 for ( FFADODeviceVectorIterator it = m_avDevices.begin(); 186 189 it != m_avDevices.end(); 187 190 ++it ) … … 222 225 } 223 226 224 IAvDevice*avDevice = getDriverForDevice( configRom, nodeId ); 227 FFADODevice* avDevice = getDriverForDevice( configRom, 228 nodeId ); 229 225 230 if ( avDevice ) { 226 231 debugOutput( DEBUG_LEVEL_NORMAL, … … 234 239 } else if ( avDevice->discover() ) { 235 240 debugOutput( DEBUG_LEVEL_VERBOSE, "discovering successful\n" ); 236 avDevice->setVerboseLevel( m_verboseLevel);241 avDevice->setVerboseLevel( getDebugLevel() ); 237 242 } else { 238 243 debugError( "could not discover device\n" ); … … 256 261 } 257 262 258 if ( m_verboseLevel>= DEBUG_LEVEL_VERBOSE ) {263 if ( getDebugLevel() >= DEBUG_LEVEL_VERBOSE ) { 259 264 avDevice->showDevice(); 260 265 } … … 269 274 debugWarning("failed to register AvDevice at OSC server\n"); 270 275 } 276 277 debugOutput( DEBUG_LEVEL_NORMAL, "discovery of node %d done...\n", nodeId ); 271 278 272 279 } 273 280 } 281 282 debugOutput( DEBUG_LEVEL_NORMAL, "discovery finished...\n" ); 283 274 284 return true; 275 285 … … 294 304 } 295 305 296 IAvDevice* avDevice = getSlaveDriver( configRom );306 FFADODevice* avDevice = getSlaveDriver( configRom ); 297 307 if ( avDevice ) { 298 308 debugOutput( DEBUG_LEVEL_NORMAL, … … 300 310 nodeId ); 301 311 302 avDevice->setVerboseLevel( m_verboseLevel);312 avDevice->setVerboseLevel( getDebugLevel() ); 303 313 304 314 if ( !avDevice->discover() ) { … … 311 321 debugError( "setting Id failed\n" ); 312 322 } 313 if ( m_verboseLevel>= DEBUG_LEVEL_VERBOSE ) {323 if ( getDebugLevel() >= DEBUG_LEVEL_VERBOSE ) { 314 324 avDevice->showDevice(); 315 325 } 316 326 317 327 m_avDevices.push_back( avDevice ); 328 329 debugOutput( DEBUG_LEVEL_NORMAL, "discovery of node %d done...\n", nodeId ); 318 330 } 319 331 332 debugOutput( DEBUG_LEVEL_NORMAL, "discovery finished...\n" ); 333 320 334 return true; 321 335 } … … 323 337 324 338 325 IAvDevice*339 FFADODevice* 326 340 DeviceManager::getDriverForDevice( std::auto_ptr<ConfigRom>( configRom ), 327 341 int id ) … … 334 348 #endif 335 349 350 #ifdef ENABLE_GENERICAVC 351 debugOutput( DEBUG_LEVEL_VERBOSE, "Trying Generic AV/C...\n" ); 352 if ( GenericAVC::AvDevice::probe( *configRom.get() ) ) { 353 return new GenericAVC::AvDevice( configRom, *m_1394Service, id ); 354 } 355 #endif 356 336 357 #ifdef ENABLE_BEBOB 337 358 debugOutput( DEBUG_LEVEL_VERBOSE, "Trying M-Audio...\n" ); … … 379 400 } 380 401 381 IAvDevice*402 FFADODevice* 382 403 DeviceManager::getSlaveDriver( std::auto_ptr<ConfigRom>( configRom ) ) 383 404 { … … 395 416 DeviceManager::isValidNode(int node) 396 417 { 397 for ( IAvDeviceVectorIterator it = m_avDevices.begin();418 for ( FFADODeviceVectorIterator it = m_avDevices.begin(); 398 419 it != m_avDevices.end(); 399 420 ++it ) 400 421 { 401 IAvDevice* avDevice = *it;422 FFADODevice* avDevice = *it; 402 423 403 424 if (avDevice->getConfigRom().getNodeId() == node) { … … 422 443 } 423 444 424 IAvDevice* avDevice = m_avDevices.at( deviceNr );445 FFADODevice* avDevice = m_avDevices.at( deviceNr ); 425 446 426 447 if ( !avDevice ) { … … 431 452 } 432 453 433 IAvDevice*454 FFADODevice* 434 455 DeviceManager::getAvDevice( int nodeId ) 435 456 { 436 for ( IAvDeviceVectorIterator it = m_avDevices.begin();457 for ( FFADODeviceVectorIterator it = m_avDevices.begin(); 437 458 it != m_avDevices.end(); 438 459 ++it ) 439 460 { 440 IAvDevice* avDevice = *it;461 FFADODevice* avDevice = *it; 441 462 if ( avDevice->getConfigRom().getNodeId() == nodeId ) { 442 463 return avDevice; … … 447 468 } 448 469 449 IAvDevice*470 FFADODevice* 450 471 DeviceManager::getAvDeviceByIndex( int idx ) 451 472 { … … 469 490 Streaming::StreamProcessor * 470 491 DeviceManager::getSyncSource() { 471 IAvDevice* device = getAvDeviceByIndex(0);492 FFADODevice* device = getAvDeviceByIndex(0); 472 493 473 494 bool slaveMode=false;