22 inline bool operator() (
const char* lhs,
const char* rhs)
const {
23 return strcmp(lhs, rhs) < 0;
55 enum { POST_WEIGHT = 2000 };
71 const std::string&
id_on_off()
const {
return p_on_off->
id(); }
74 inline int position_weight() {
return get_effect_post_pre() ? get_position() : get_position() + POST_WEIGHT; }
76 void copy_position(
const Plugin& plugin);
79 friend void printlist(
const char *title,
const list<Plugin*>& modules,
bool header);
88 virtual bool load(
Plugin *p) = 0;
98 static float *registerVar_(
const char*
id,
const char* name,
const char* tp,
99 const char* tooltip,
float* var,
float val,
100 float low,
float up,
float step);
101 static void registerBoolVar_(
const char*
id,
const char* name,
const char* tp,
102 const char* tooltip,
bool* var,
bool val);
103 static void registerNonMidiVar_(
const char *
id,
bool*var,
bool preset,
bool nosave);
104 static void registerNonMidiFloatVar_(
const char *
id,
float *var,
bool preset,
bool nosave,
105 float val,
float low,
float up,
float step);
106 static void registerEnumVar_(
const char *
id,
const char* name,
const char* tp,
107 const char* tooltip,
const value_pair* values,
float *var,
float val,
108 float low,
float up,
float step);
109 static float *registerSharedEnumVar_(
const char *
id,
const char* name,
const char* tp,
110 const char* tooltip,
const value_pair* values,
float *var,
float val,
111 float low,
float up,
float step);
112 static void registerIEnumVar_(
const char *
id,
const char* name,
const char* tp,
113 const char* tooltip,
const value_pair* values,
int *var,
int val);
146 Plugin *find_plugin(
const std::string&
id)
const;
147 Plugin *lookup_plugin(
const std::string&
id)
const;
151 pluginmap::iterator
begin() {
return pmap.begin(); }
152 pluginmap::iterator
end() {
return pmap.end(); }
153 int insert_plugin(
Plugin *pvars);
154 void update_plugin(
Plugin *pvars);
155 void delete_module(
Plugin *pl);
160 int plugin_pos[PLUGIN_POS_COUNT];
165 void set_samplerate(
int samplerate);
181 void ordered_mono_list(list<Plugin*>& mono,
int mode);
182 void ordered_stereo_list(list<Plugin*>& stereo,
int mode);
183 void ordered_list(list<Plugin*>& l,
bool stereo,
int flagmask,
int flagvalue);
191 void printlist(
const char *title,
const list<Plugin*>& modules,
bool header=
true);
193 inline void printlist(
const char *,
const list<Plugin*>&,
bool=
true) {}
sigc::signal< void, const char *, bool > insert_remove
void printlist(const char *title, const list< Plugin * > &modules, bool header=true)
void set_pdef(PluginDef *p)
void set_effect_post_pre(int v) const
bool get_plug_visible() const
const std::string & id_box_visible() const
void set_position(int v) const
void set_on_off(bool v) const
const string & id() const
const std::string & id_position() const
const std::string & id_effect_post_pre() const
const std::string & id_plug_visible() const
int get_effect_post_pre() const
PluginDef *(* plugindef_creator)()
bool operator()(const char *lhs, const char *rhs) const
map< const std::string, Plugin * > pluginmap
void set_box_visible(bool v) const
pluginmap::iterator begin()
void set_plug_visible(bool v) const
const std::string & id_on_off() const
pair< const std::string, Plugin * > map_pair
bool get_box_visible() const
sigc::signal< void, const char *, bool > & signal_insert_remove()
pluginmap::iterator end()