set + store signal chain latency for all processors; DiskWriter sets its capture_offs...
[ardour.git] / libs / ardour / ardour / panner_manager.h
index 1db4a27e5211f55d8aa2cb563135a3f0fc5ef9f6..2103fc2beaba1b73c1d3505bb87f30f352aece20 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Paul Davis 
+    Copyright (C) 2012 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -20,6 +20,8 @@
 #ifndef __ardour_panner_manager_h__
 #define __ardour_panner_manager_h__
 
+#include <map>
+#include <string>
 #include <glibmm/module.h>
 
 #include "ardour/panner.h"
 
 namespace ARDOUR {
 
+typedef std::map<std::string,std::string> PannerUriMap;
+
 struct LIBARDOUR_API PannerInfo {
+
        PanPluginDescriptor descriptor;
        Glib::Module* module;
 
@@ -50,7 +55,9 @@ public:
        void discover_panners ();
        std::list<PannerInfo*> panner_info;
 
-       PannerInfo* select_panner (ChanCount in, ChanCount out);
+       PannerInfo* select_panner (ChanCount in, ChanCount out, std::string const uri = "");
+       PannerInfo* get_by_uri (std::string uri) const;
+       PannerUriMap get_available_panners(uint32_t const a_in, uint32_t const a_out) const;
 
 private:
        PannerManager();