X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fpanner_manager.h;h=2103fc2beaba1b73c1d3505bb87f30f352aece20;hb=11a68f7dd38e72c3e497569a60cb0740a33b78cf;hp=c34d22285d2a5210d77f21459d855865b2da0cc3;hpb=bb826f4beebfcedc50570b818c305560d2233e47;p=ardour.git diff --git a/libs/ardour/ardour/panner_manager.h b/libs/ardour/ardour/panner_manager.h index c34d22285d..2103fc2bea 100644 --- a/libs/ardour/ardour/panner_manager.h +++ b/libs/ardour/ardour/panner_manager.h @@ -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 +#include #include #include "ardour/panner.h" @@ -27,7 +29,10 @@ namespace ARDOUR { -struct PannerInfo { +typedef std::map PannerUriMap; + +struct LIBARDOUR_API PannerInfo { + PanPluginDescriptor descriptor; Glib::Module* module; @@ -41,7 +46,7 @@ struct PannerInfo { } }; -class PannerManager : public ARDOUR::SessionHandlePtr +class LIBARDOUR_API PannerManager : public ARDOUR::SessionHandlePtr { public: ~PannerManager (); @@ -50,7 +55,9 @@ public: void discover_panners (); std::list 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();