summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-09-12 19:22:42 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-09-12 19:22:42 +0000
commit66498207f1d54a0e58ddcc3eb1723b754866ad9b (patch)
tree623ffe6a37ee1950a6a55c32ae2adf534f62ef24 /libs
parentb4f417ad43d9f5f296b7e2d3bfea3483ff773a16 (diff)
do not attempt to lookup sndfile constants/enums using a string, because this breaks when using anything but english; remove thinko-function sndfile_file_ending_by_string() because file endings like .wav .caf etc. are not subject to i18n
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@10070 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/sndfile_helpers.h7
-rw-r--r--libs/ardour/sndfile_helpers.cc41
2 files changed, 12 insertions, 36 deletions
diff --git a/libs/ardour/ardour/sndfile_helpers.h b/libs/ardour/ardour/sndfile_helpers.h
index 26a93ad124..d31e889cc6 100644
--- a/libs/ardour/ardour/sndfile_helpers.h
+++ b/libs/ardour/ardour/sndfile_helpers.h
@@ -44,10 +44,9 @@ extern const char * const sndfile_endian_formats_strings[SNDFILE_ENDIAN_FORMATS+
extern int sndfile_endian_formats[SNDFILE_ENDIAN_FORMATS];
-int sndfile_bitdepth_format_from_string(string);
-int sndfile_header_format_from_string(string);
-int sndfile_endian_format_from_string(string);
-string sndfile_file_ending_from_string(string);
+int sndfile_bitdepth_format_by_index(int);
+int sndfile_header_format_by_index(int);
+int sndfile_endian_format_by_index(int);
int sndfile_data_width (int format);
diff --git a/libs/ardour/sndfile_helpers.cc b/libs/ardour/sndfile_helpers.cc
index 08181730fd..67a2be5a2c 100644
--- a/libs/ardour/sndfile_helpers.cc
+++ b/libs/ardour/sndfile_helpers.cc
@@ -92,55 +92,32 @@ int sndfile_endian_formats[SNDFILE_ENDIAN_FORMATS] = {
};
int
-sndfile_header_format_from_string (string str)
+sndfile_header_format_by_index (int index)
{
- for (int n = 0; sndfile_header_formats_strings[n]; ++n) {
- if (str == sndfile_header_formats_strings[n]) {
- return sndfile_header_formats[n];
- }
+ if (index >= 0 && index < SNDFILE_HEADER_FORMATS) {
+ return sndfile_header_formats[index];
}
return -1;
}
int
-sndfile_bitdepth_format_from_string (string str)
+sndfile_bitdepth_format_by_index (int index)
{
- for (int n = 0; sndfile_bitdepth_formats_strings[n]; ++n) {
- if (str == sndfile_bitdepth_formats_strings[n]) {
- return sndfile_bitdepth_formats[n];
- }
+ if (index >= 0 && index < SNDFILE_BITDEPTH_FORMATS) {
+ return sndfile_bitdepth_formats[index];
}
return -1;
}
int
-sndfile_endian_format_from_string (string str)
+sndfile_endian_format_by_index (int index)
{
- for (int n = 0; sndfile_endian_formats_strings[n]; ++n) {
- if (str == sndfile_endian_formats_strings[n]) {
- return sndfile_endian_formats[n];
- }
+ if (index >= 0 && index < SNDFILE_ENDIAN_FORMATS) {
+ return sndfile_endian_formats[index];
}
return -1;
}
-string
-sndfile_file_ending_from_string (string str)
-{
- static vector<string> file_endings;
-
- if (file_endings.empty()) {
- file_endings = I18N((const char **) sndfile_file_endings_strings);
- }
-
- for (int n = 0; sndfile_header_formats_strings[n]; ++n) {
- if (str == sndfile_header_formats_strings[n]) {
- return file_endings[n];
- }
- }
- return 0;
-}
-
int
sndfile_data_width (int format)
{