Mercurial > hg > svcore
comparison plugin/LADSPAPluginFactory.cpp @ 35:0164c8d3023b
* Rejig project file a bit to do pkg-config detection &c
and change some HAVE_* symbol names accordingly
* Add selection move/resize/delete
* First stubs for add layer / pane commands
author | Chris Cannam |
---|---|
date | Wed, 01 Mar 2006 18:13:01 +0000 |
parents | 2fb933f88604 |
children | 39ae3dee27b9 |
comparison
equal
deleted
inserted
replaced
34:aaf73f7309f2 | 35:0164c8d3023b |
---|---|
25 #include "LADSPAPluginInstance.h" | 25 #include "LADSPAPluginInstance.h" |
26 #include "PluginIdentifier.h" | 26 #include "PluginIdentifier.h" |
27 | 27 |
28 #include "base/System.h" | 28 #include "base/System.h" |
29 | 29 |
30 #ifdef HAVE_LIBLRDF | 30 #ifdef HAVE_LRDF |
31 #include "lrdf.h" | 31 #include "lrdf.h" |
32 #endif // HAVE_LIBLRDF | 32 #endif // HAVE_LRDF |
33 | 33 |
34 | 34 |
35 LADSPAPluginFactory::LADSPAPluginFactory() | 35 LADSPAPluginFactory::LADSPAPluginFactory() |
36 { | 36 { |
37 } | 37 } |
451 | 451 |
452 return pathList; | 452 return pathList; |
453 } | 453 } |
454 | 454 |
455 | 455 |
456 #ifdef HAVE_LIBLRDF | 456 #ifdef HAVE_LRDF |
457 std::vector<QString> | 457 std::vector<QString> |
458 LADSPAPluginFactory::getLRDFPath(QString &baseUri) | 458 LADSPAPluginFactory::getLRDFPath(QString &baseUri) |
459 { | 459 { |
460 std::vector<QString> pathList = getPluginPath(); | 460 std::vector<QString> pathList = getPluginPath(); |
461 std::vector<QString> lrdfPaths; | 461 std::vector<QString> lrdfPaths; |
484 i != pathList.end(); ++i) { | 484 i != pathList.end(); ++i) { |
485 std::cerr << "[" << i->toStdString() << "] "; | 485 std::cerr << "[" << i->toStdString() << "] "; |
486 } | 486 } |
487 std::cerr << std::endl; | 487 std::cerr << std::endl; |
488 | 488 |
489 #ifdef HAVE_LIBLRDF | 489 #ifdef HAVE_LRDF |
490 // Initialise liblrdf and read the description files | 490 // Initialise liblrdf and read the description files |
491 // | 491 // |
492 lrdf_init(); | 492 lrdf_init(); |
493 | 493 |
494 QString baseUri; | 494 QString baseUri; |
507 } | 507 } |
508 | 508 |
509 if (haveSomething) { | 509 if (haveSomething) { |
510 generateTaxonomy(baseUri + "Plugin", ""); | 510 generateTaxonomy(baseUri + "Plugin", ""); |
511 } | 511 } |
512 #endif // HAVE_LIBLRDF | 512 #endif // HAVE_LRDF |
513 | 513 |
514 generateFallbackCategories(); | 514 generateFallbackCategories(); |
515 | 515 |
516 for (std::vector<QString>::iterator i = pathList.begin(); | 516 for (std::vector<QString>::iterator i = pathList.begin(); |
517 i != pathList.end(); ++i) { | 517 i != pathList.end(); ++i) { |
521 for (unsigned int j = 0; j < pluginDir.count(); ++j) { | 521 for (unsigned int j = 0; j < pluginDir.count(); ++j) { |
522 discoverPlugins(QString("%1/%2").arg(*i).arg(pluginDir[j])); | 522 discoverPlugins(QString("%1/%2").arg(*i).arg(pluginDir[j])); |
523 } | 523 } |
524 } | 524 } |
525 | 525 |
526 #ifdef HAVE_LIBLRDF | 526 #ifdef HAVE_LRDF |
527 // Cleanup after the RDF library | 527 // Cleanup after the RDF library |
528 // | 528 // |
529 lrdf_cleanup(); | 529 lrdf_cleanup(); |
530 #endif // HAVE_LIBLRDF | 530 #endif // HAVE_LRDF |
531 } | 531 } |
532 | 532 |
533 void | 533 void |
534 LADSPAPluginFactory::discoverPlugins(QString soname) | 534 LADSPAPluginFactory::discoverPlugins(QString soname) |
535 { | 535 { |
552 const LADSPA_Descriptor *descriptor = 0; | 552 const LADSPA_Descriptor *descriptor = 0; |
553 | 553 |
554 int index = 0; | 554 int index = 0; |
555 while ((descriptor = fn(index))) { | 555 while ((descriptor = fn(index))) { |
556 | 556 |
557 #ifdef HAVE_LIBLRDF | 557 #ifdef HAVE_LRDF |
558 char *def_uri = 0; | 558 char *def_uri = 0; |
559 lrdf_defaults *defs = 0; | 559 lrdf_defaults *defs = 0; |
560 | 560 |
561 QString category = m_taxonomy[descriptor->UniqueID]; | 561 QString category = m_taxonomy[descriptor->UniqueID]; |
562 | 562 |
598 } | 598 } |
599 | 599 |
600 ++controlPortNumber; | 600 ++controlPortNumber; |
601 } | 601 } |
602 } | 602 } |
603 #endif // HAVE_LIBLRDF | 603 #endif // HAVE_LRDF |
604 | 604 |
605 QString identifier = PluginIdentifier::createIdentifier | 605 QString identifier = PluginIdentifier::createIdentifier |
606 ("ladspa", soname, descriptor->Label); | 606 ("ladspa", soname, descriptor->Label); |
607 m_identifiers.push_back(identifier); | 607 m_identifiers.push_back(identifier); |
608 | 608 |
662 } | 662 } |
663 | 663 |
664 void | 664 void |
665 LADSPAPluginFactory::generateTaxonomy(QString uri, QString base) | 665 LADSPAPluginFactory::generateTaxonomy(QString uri, QString base) |
666 { | 666 { |
667 #ifdef HAVE_LIBLRDF | 667 #ifdef HAVE_LRDF |
668 lrdf_uris *uris = lrdf_get_instances(uri.toStdString().c_str()); | 668 lrdf_uris *uris = lrdf_get_instances(uri.toStdString().c_str()); |
669 | 669 |
670 if (uris != NULL) { | 670 if (uris != NULL) { |
671 for (int i = 0; i < uris->count; ++i) { | 671 for (int i = 0; i < uris->count; ++i) { |
672 m_taxonomy[lrdf_get_uid(uris->items[i])] = base; | 672 m_taxonomy[lrdf_get_uid(uris->items[i])] = base; |