Prefer std::string for print_parameter
API
This commit is contained in:
parent
daf9fe2550
commit
2d4e125802
|
@ -110,7 +110,7 @@ public:
|
|||
virtual std::string describe_parameter (Evoral::Parameter) = 0;
|
||||
virtual std::string state_node_name () const = 0;
|
||||
|
||||
virtual bool print_parameter (uint32_t, char*, uint32_t len) const { return false; }
|
||||
virtual bool print_parameter (uint32_t, std::string&) const { return false; }
|
||||
|
||||
virtual bool parameter_is_audio (uint32_t) const = 0;
|
||||
virtual bool parameter_is_control (uint32_t) const = 0;
|
||||
|
|
|
@ -87,7 +87,7 @@ public:
|
|||
const char * maker () const;
|
||||
int32_t version () const;
|
||||
uint32_t parameter_count () const;
|
||||
bool print_parameter (uint32_t, char*, uint32_t len) const;
|
||||
bool print_parameter (uint32_t, std::string&) const;
|
||||
|
||||
bool has_editor () const;
|
||||
|
||||
|
|
|
@ -3037,10 +3037,9 @@ PluginInsert::PluginControl::get_user_string () const
|
|||
{
|
||||
boost::shared_ptr<Plugin> plugin = _plugin->plugin (0);
|
||||
if (plugin) {
|
||||
char buf[64];
|
||||
if (plugin->print_parameter (parameter().id(), buf, sizeof(buf))) {
|
||||
assert (strlen (buf) > 0);
|
||||
return std::string (buf);
|
||||
std::string pp;
|
||||
if (plugin->print_parameter (parameter().id(), pp) && pp.size () > 0) {
|
||||
return pp;
|
||||
}
|
||||
}
|
||||
return AutomationControl::get_user_string ();
|
||||
|
|
|
@ -810,9 +810,10 @@ VSTPlugin::has_editor () const
|
|||
}
|
||||
|
||||
bool
|
||||
VSTPlugin::print_parameter (uint32_t param, char *buf, uint32_t len) const
|
||||
VSTPlugin::print_parameter (uint32_t param, std::string& rv) const
|
||||
{
|
||||
char *first_nonws;
|
||||
char buf[64];
|
||||
size_t len = sizeof(buf);
|
||||
assert (len > VestigeMaxShortLabelLen);
|
||||
memset (buf, 0, len);
|
||||
|
||||
|
@ -824,9 +825,9 @@ VSTPlugin::print_parameter (uint32_t param, char *buf, uint32_t len) const
|
|||
|
||||
buf[len - 1] = '\0';
|
||||
|
||||
first_nonws = buf;
|
||||
char* first_nonws = buf;
|
||||
while (*first_nonws && isspace (*first_nonws)) {
|
||||
first_nonws++;
|
||||
++first_nonws;
|
||||
}
|
||||
|
||||
if (*first_nonws == '\0') {
|
||||
|
@ -845,6 +846,7 @@ VSTPlugin::print_parameter (uint32_t param, char *buf, uint32_t len) const
|
|||
strncat (buf, lbl.c_str(), strlen (buf) - 1);
|
||||
}
|
||||
|
||||
rv = std::string (buf);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user