namespace libardour utils

This commit is contained in:
Robin Gareus 2014-06-25 21:03:47 +02:00
parent 4da2fadb9e
commit 1bd4e448de
6 changed files with 38 additions and 31 deletions

View file

@ -507,7 +507,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
struct RecentSessionsSorter { struct RecentSessionsSorter {
bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const { bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const {
return cmp_nocase(a.first, b.first) == -1; return ARDOUR::cmp_nocase(a.first, b.first) == -1;
} }
}; };

View file

@ -1294,7 +1294,7 @@ EngineControl::set_state (const XMLNode& root)
state->midi_devices.clear(); state->midi_devices.clear();
XMLNode* midinode; XMLNode* midinode;
if ((midinode = find_named_node (*grandchild, "MIDIDevices")) != 0) { if ((midinode = ARDOUR::find_named_node (*grandchild, "MIDIDevices")) != 0) {
const XMLNodeList mnc = midinode->children(); const XMLNodeList mnc = midinode->children();
for (XMLNodeList::const_iterator n = mnc.begin(); n != mnc.end(); ++n) { for (XMLNodeList::const_iterator n = mnc.begin(); n != mnc.end(); ++n) {
if ((*n)->property (X_("name")) == 0 if ((*n)->property (X_("name")) == 0

View file

@ -104,7 +104,7 @@ class SessionDialog : public ArdourDialog {
struct RecentSessionsSorter { struct RecentSessionsSorter {
bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const { bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const {
return cmp_nocase(a.first, b.first) == -1; return ARDOUR::cmp_nocase(a.first, b.first) == -1;
} }
}; };

View file

@ -116,7 +116,7 @@ VolumeController::to_control_value (double display_value)
if (_linear) { if (_linear) {
v = _controllable->lower() + ((_controllable->upper() - _controllable->lower()) * display_value); v = _controllable->lower() + ((_controllable->upper() - _controllable->lower()) * display_value);
} else { } else {
v = slider_position_to_gain_with_max (display_value, ARDOUR::Config->get_max_gain()); v = ARDOUR::slider_position_to_gain_with_max (display_value, ARDOUR::Config->get_max_gain());
} }
return v; return v;
@ -130,7 +130,7 @@ VolumeController::to_display_value (double control_value)
if (_linear) { if (_linear) {
v = (control_value - _controllable->lower ()) / (_controllable->upper() - _controllable->lower()); v = (control_value - _controllable->lower ()) / (_controllable->upper() - _controllable->lower());
} else { } else {
v = gain_to_slider_position_with_max (control_value, _controllable->upper()); v = ARDOUR::gain_to_slider_position_with_max (control_value, _controllable->upper());
} }
return v; return v;
@ -151,13 +151,13 @@ VolumeController::adjust (double control_delta)
*/ */
#if 0 #if 0
/* convert to linear/fractional slider position domain */ /* convert to linear/fractional slider position domain */
v = gain_to_slider_position_with_max (_controllable->get_value (), _controllable->upper()); v = ARDOUR::gain_to_slider_position_with_max (_controllable->get_value (), _controllable->upper());
/* increment in this domain */ /* increment in this domain */
v += control_delta; v += control_delta;
/* clamp to appropriate range for linear/fractional slider domain */ /* clamp to appropriate range for linear/fractional slider domain */
v = std::max (0.0, std::min (1.0, v)); v = std::max (0.0, std::min (1.0, v));
/* convert back to gain coefficient domain */ /* convert back to gain coefficient domain */
v = slider_position_to_gain_with_max (v, _controllable->upper()); v = ARDOUR::slider_position_to_gain_with_max (v, _controllable->upper());
/* clamp in controller domain */ /* clamp in controller domain */
v = std::max (_controllable->lower(), std::min (_controllable->upper(), v)); v = std::max (_controllable->lower(), std::min (_controllable->upper(), v));
/* convert to dB domain */ /* convert to dB domain */

View file

@ -39,6 +39,8 @@
class XMLNode; class XMLNode;
namespace ARDOUR {
LIBARDOUR_API std::string legalize_for_path (const std::string& str); LIBARDOUR_API std::string legalize_for_path (const std::string& str);
LIBARDOUR_API std::string legalize_for_universal_path (const std::string& str); LIBARDOUR_API std::string legalize_for_universal_path (const std::string& str);
LIBARDOUR_API std::string legalize_for_uri (const std::string& str); LIBARDOUR_API std::string legalize_for_uri (const std::string& str);
@ -174,5 +176,7 @@ LIBARDOUR_API uint32_t how_many_dsp_threads ();
LIBARDOUR_API std::string CFStringRefToStdString(CFStringRef stringRef); LIBARDOUR_API std::string CFStringRefToStdString(CFStringRef stringRef);
#endif // __APPLE__ #endif // __APPLE__
} //namespave
#endif /* __ardour_utils_h__ */ #endif /* __ardour_utils_h__ */

View file

@ -93,7 +93,7 @@ replace_chars (const string& str, const string& illegal_chars)
* the goal there is to be legal across filesystems. * the goal there is to be legal across filesystems.
*/ */
string string
legalize_for_path (const string& str) ARDOUR::legalize_for_path (const string& str)
{ {
return replace_chars (str, "/\\"); return replace_chars (str, "/\\");
} }
@ -108,7 +108,7 @@ legalize_for_path (const string& str)
* ANY filesystem. * ANY filesystem.
*/ */
string string
legalize_for_universal_path (const string& str) ARDOUR::legalize_for_universal_path (const string& str)
{ {
return replace_chars (str, "<>:\"/\\|?*"); return replace_chars (str, "<>:\"/\\|?*");
} }
@ -119,7 +119,7 @@ legalize_for_universal_path (const string& str)
* correct. * correct.
*/ */
string string
legalize_for_uri (const string& str) ARDOUR::legalize_for_uri (const string& str)
{ {
return replace_chars (str, "<>:\"/\\|?* #"); return replace_chars (str, "<>:\"/\\|?* #");
} }
@ -133,7 +133,7 @@ legalize_for_uri (const string& str)
*/ */
string string
legalize_for_path_2X (const string& str) ARDOUR::legalize_for_path_2X (const string& str)
{ {
string::size_type pos; string::size_type pos;
string legal_chars = "abcdefghijklmnopqrtsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_+=: "; string legal_chars = "abcdefghijklmnopqrtsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_+=: ";
@ -155,7 +155,7 @@ legalize_for_path_2X (const string& str)
} }
string string
bump_name_once (const std::string& name, char delimiter) ARDOUR::bump_name_once (const std::string& name, char delimiter)
{ {
string::size_type delim; string::size_type delim;
string newname; string newname;
@ -197,7 +197,7 @@ bump_name_once (const std::string& name, char delimiter)
} }
XMLNode * XMLNode *
find_named_node (const XMLNode& node, string name) ARDOUR::find_named_node (const XMLNode& node, string name)
{ {
XMLNodeList nlist; XMLNodeList nlist;
XMLNodeConstIterator niter; XMLNodeConstIterator niter;
@ -218,7 +218,7 @@ find_named_node (const XMLNode& node, string name)
} }
int int
cmp_nocase (const string& s, const string& s2) ARDOUR::cmp_nocase (const string& s, const string& s2)
{ {
string::const_iterator p = s.begin(); string::const_iterator p = s.begin();
string::const_iterator p2 = s2.begin(); string::const_iterator p2 = s2.begin();
@ -234,7 +234,8 @@ cmp_nocase (const string& s, const string& s2)
return (s2.size() == s.size()) ? 0 : (s.size() < s2.size()) ? -1 : 1; return (s2.size() == s.size()) ? 0 : (s.size() < s2.size()) ? -1 : 1;
} }
int cmp_nocase_utf8 (const string& s1, const string& s2) int
ARDOUR::cmp_nocase_utf8 (const string& s1, const string& s2)
{ {
const char *cstr1 = s1.c_str(); const char *cstr1 = s1.c_str();
const char *cstr2 = s2.c_str(); const char *cstr2 = s2.c_str();
@ -270,7 +271,7 @@ int cmp_nocase_utf8 (const string& s1, const string& s2)
} }
int int
touch_file (string path) ARDOUR::touch_file (string path)
{ {
int fd = open (path.c_str(), O_RDWR|O_CREAT, 0660); int fd = open (path.c_str(), O_RDWR|O_CREAT, 0660);
if (fd >= 0) { if (fd >= 0) {
@ -281,7 +282,7 @@ touch_file (string path)
} }
string string
region_name_from_path (string path, bool strip_channels, bool add_channel_suffix, uint32_t total, uint32_t this_one) ARDOUR::region_name_from_path (string path, bool strip_channels, bool add_channel_suffix, uint32_t total, uint32_t this_one)
{ {
path = PBD::basename_nosuffix (path); path = PBD::basename_nosuffix (path);
@ -313,7 +314,7 @@ region_name_from_path (string path, bool strip_channels, bool add_channel_suffix
} }
bool bool
path_is_paired (string path, string& pair_base) ARDOUR::path_is_paired (string path, string& pair_base)
{ {
string::size_type pos; string::size_type pos;
@ -346,7 +347,7 @@ path_is_paired (string path, string& pair_base)
#if __APPLE__ #if __APPLE__
string string
CFStringRefToStdString(CFStringRef stringRef) ARDOUR::CFStringRefToStdString(CFStringRef stringRef)
{ {
CFIndex size = CFIndex size =
CFStringGetMaximumSizeForEncoding(CFStringGetLength(stringRef) , CFStringGetMaximumSizeForEncoding(CFStringGetLength(stringRef) ,
@ -364,7 +365,7 @@ CFStringRefToStdString(CFStringRef stringRef)
#endif // __APPLE__ #endif // __APPLE__
void void
compute_equal_power_fades (framecnt_t nframes, float* in, float* out) ARDOUR::compute_equal_power_fades (framecnt_t nframes, float* in, float* out)
{ {
double step; double step;
@ -390,7 +391,7 @@ compute_equal_power_fades (framecnt_t nframes, float* in, float* out)
} }
EditMode EditMode
string_to_edit_mode (string str) ARDOUR::string_to_edit_mode (string str)
{ {
if (str == _("Splice")) { if (str == _("Splice")) {
return Splice; return Splice;
@ -405,7 +406,7 @@ string_to_edit_mode (string str)
} }
const char* const char*
edit_mode_to_string (EditMode mode) ARDOUR::edit_mode_to_string (EditMode mode)
{ {
switch (mode) { switch (mode) {
case Slide: case Slide:
@ -421,7 +422,7 @@ edit_mode_to_string (EditMode mode)
} }
SyncSource SyncSource
string_to_sync_source (string str) ARDOUR::string_to_sync_source (string str)
{ {
if (str == _("MIDI Timecode") || str == _("MTC")) { if (str == _("MIDI Timecode") || str == _("MTC")) {
return MTC; return MTC;
@ -442,7 +443,7 @@ string_to_sync_source (string str)
/** @param sh Return a short version of the string */ /** @param sh Return a short version of the string */
const char* const char*
sync_source_to_string (SyncSource src, bool sh) ARDOUR::sync_source_to_string (SyncSource src, bool sh)
{ {
switch (src) { switch (src) {
case Engine: case Engine:
@ -473,7 +474,7 @@ sync_source_to_string (SyncSource src, bool sh)
} }
float float
meter_falloff_to_float (MeterFalloff falloff) ARDOUR::meter_falloff_to_float (MeterFalloff falloff)
{ {
switch (falloff) { switch (falloff) {
case MeterFalloffOff: case MeterFalloffOff:
@ -500,7 +501,7 @@ meter_falloff_to_float (MeterFalloff falloff)
} }
MeterFalloff MeterFalloff
meter_falloff_from_float (float val) ARDOUR::meter_falloff_from_float (float val)
{ {
if (val == METER_FALLOFF_OFF) { if (val == METER_FALLOFF_OFF) {
return MeterFalloffOff; return MeterFalloffOff;
@ -613,7 +614,7 @@ bool_as_string (bool yn)
} }
const char* const char*
native_header_format_extension (HeaderFormat hf, const DataType& type) ARDOUR::native_header_format_extension (HeaderFormat hf, const DataType& type)
{ {
if (type == DataType::MIDI) { if (type == DataType::MIDI) {
return ".mid"; return ".mid";
@ -642,7 +643,7 @@ native_header_format_extension (HeaderFormat hf, const DataType& type)
} }
bool bool
matching_unsuffixed_filename_exists_in (const string& dir, const string& path) ARDOUR::matching_unsuffixed_filename_exists_in (const string& dir, const string& path)
{ {
string bws = basename_nosuffix (path); string bws = basename_nosuffix (path);
struct dirent* dentry; struct dirent* dentry;
@ -687,7 +688,7 @@ matching_unsuffixed_filename_exists_in (const string& dir, const string& path)
} }
uint32_t uint32_t
how_many_dsp_threads () ARDOUR::how_many_dsp_threads ()
{ {
/* CALLER MUST HOLD PROCESS LOCK */ /* CALLER MUST HOLD PROCESS LOCK */
@ -720,12 +721,14 @@ how_many_dsp_threads ()
return num_threads; return num_threads;
} }
double gain_to_slider_position_with_max (double g, double max_gain) double
ARDOUR::gain_to_slider_position_with_max (double g, double max_gain)
{ {
return gain_to_slider_position (g * 2.0/max_gain); return gain_to_slider_position (g * 2.0/max_gain);
} }
double slider_position_to_gain_with_max (double g, double max_gain) double
ARDOUR::slider_position_to_gain_with_max (double g, double max_gain)
{ {
return slider_position_to_gain (g * max_gain/2.0); return slider_position_to_gain (g * max_gain/2.0);
} }