projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Amend f3c0c1a865 (Add quarter-note position methods).
[ardour.git]
/
libs
/
ardour
/
ardour
/
panner_manager.h
diff --git
a/libs/ardour/ardour/panner_manager.h
b/libs/ardour/ardour/panner_manager.h
index e47ed36ec38225b80313e258ca84f5fd28e41d62..2103fc2beaba1b73c1d3505bb87f30f352aece20 100644
(file)
--- 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
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,23
+20,29
@@
#ifndef __ardour_panner_manager_h__
#define __ardour_panner_manager_h__
#ifndef __ardour_panner_manager_h__
#define __ardour_panner_manager_h__
-#include <dlfcn.h>
+#include <map>
+#include <string>
+#include <glibmm/module.h>
+
#include "ardour/panner.h"
#include "ardour/session_handle.h"
namespace ARDOUR {
#include "ardour/panner.h"
#include "ardour/session_handle.h"
namespace ARDOUR {
+typedef std::map<std::string,std::string> PannerUriMap;
+
struct LIBARDOUR_API PannerInfo {
struct LIBARDOUR_API PannerInfo {
+
PanPluginDescriptor descriptor;
PanPluginDescriptor descriptor;
-
void
* module;
+
Glib::Module
* module;
- PannerInfo (PanPluginDescriptor& d,
void* handle
)
+ PannerInfo (PanPluginDescriptor& d,
Glib::Module* m
)
: descriptor (d)
: descriptor (d)
- , module (
handle
)
+ , module (
m
)
{}
~PannerInfo () {
{}
~PannerInfo () {
- d
lclose (module)
;
+ d
elete module
;
}
};
}
};
@@
-49,7
+55,9
@@
public:
void discover_panners ();
std::list<PannerInfo*> panner_info;
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();
private:
PannerManager();