|
libpsynth 0.2.1
|
00001 /*************************************************************************** 00002 * * 00003 * PSYCHOSYNTH * 00004 * =========== * 00005 * * 00006 * Copyright (C) Juan Pedro Bolivar Puente 2008 * 00007 * * 00008 * This program is free software: you can redistribute it and/or modify * 00009 * it under the terms of the GNU General Public License as published by * 00010 * the Free Software Foundation, either version 3 of the License, or * 00011 * (at your option) any later version. * 00012 * * 00013 * This program is distributed in the hope that it will be useful, * 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00016 * GNU General Public License for more details. * 00017 * * 00018 * You should have received a copy of the GNU General Public License * 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. * 00020 * * 00021 ***************************************************************************/ 00022 00023 #ifndef PSYNTH_NODE_FACTORY_MANAGER_H 00024 #define PSYNTH_NODE_FACTORY_MANAGER_H 00025 00026 #include <map> 00027 #include <psynth/graph/node_factory.hpp> 00028 00029 namespace psynth 00030 { 00031 namespace graph 00032 { 00033 00034 class node_factory_manager 00035 { 00036 typedef std::map<std::string, node_factory*> node_factory_map; 00037 node_factory_map m_node_fact; 00038 00039 public: 00040 void register_factory (node_factory& of); 00041 node* create (const std::string& name, const audio_info& info); 00042 }; 00043 00044 } /* namespace graph */ 00045 } /* namespace psynth */ 00046 00047 #endif /* PSYNTH_OBJECTFACTORYMANAGER_H */
1.7.4