Merge branch 'windows+cc' into cairocanvas
[ardour.git] / libs / ardour / test / plugins_test.cc
1 #include <iostream>
2
3 #include "ardour/plugin_manager.h"
4 #include "ardour/ladspa_search_path.h"
5
6 #include "plugins_test.h"
7 #include "test_common.h"
8
9 CPPUNIT_TEST_SUITE_REGISTRATION (PluginsTest);
10
11 using namespace std;
12 using namespace ARDOUR;
13 using namespace PBD;
14
15 void
16 print_plugin_info (PluginInfoPtr pp)
17 {
18         cout << "LADSPA Plugin, name " << pp->name
19                 << ", category " << pp->category
20                 << ", creator " << pp->creator
21                 << ", path " << pp->path
22                 << ", n_inputs " << pp->n_inputs.n_audio ()
23                 << ", n_outputs " << pp->n_outputs.n_audio ()
24                 << endl;
25
26 }
27
28 void
29 PluginsTest::test ()
30 {
31         PluginManager& pm = PluginManager::instance ();
32
33         pm.refresh ();
34
35         Searchpath ladspa_paths(ladspa_search_path ());
36
37         cout << "Number of Ladspa paths found: " << ladspa_paths.size () << endl;
38
39         for (vector<std::string>::iterator i = ladspa_paths.begin (); i != ladspa_paths.end(); ++i)
40         {
41                 cout << "LADSPA search path includes: " << *i << endl;
42         }
43
44         PluginInfoList& ladspa_list = pm.ladspa_plugin_info ();
45
46         cout << "Number of Ladspa plugins found: " << ladspa_list.size () << endl;
47
48         for (PluginInfoList::iterator i = ladspa_list.begin (); i != ladspa_list.end(); ++i)
49         {
50                 print_plugin_info (*i);
51         }
52
53
54 }