/*
- Copyright (C) 2000-2007 Paul Davis
+ Copyright (C) 2000-2007 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
#include <map>
#include <vector>
-#include <pbd/convert.h>
+#include "pbd/convert.h"
#include <sndfile.h>
-#include <ardour/sndfile_helpers.h>
+#include "ardour/sndfile_helpers.h"
#include "i18n.h"
N_("AIFF"),
N_("CAF"),
N_("W64 (64 bit WAV)"),
+ N_("FLAC"),
+ N_("Ogg/Vorbis"),
N_("raw (no header)"),
0
};
N_(".aiff"),
N_(".caf"),
N_(".w64"),
+ N_(".flac"),
+ N_(".ogg"),
N_(".raw"),
0
};
SF_FORMAT_AIFF,
SF_FORMAT_CAF,
SF_FORMAT_W64,
+ SF_FORMAT_FLAC,
+ SF_FORMAT_OGG,
SF_FORMAT_RAW
};
string
sndfile_file_ending_from_string (string str)
-{
+{
static vector<string> file_endings;
if (file_endings.empty()) {
}
}
-string
+string
sndfile_major_format(int format)
{
static map<int, string> m;
sf_command(0, SFC_GET_FORMAT_MAJOR_COUNT, &count, sizeof (int));
for (int i = 0; i < count; ++i){
format_info.format = i;
- sf_command (0, SFC_GET_FORMAT_MAJOR,
+ sf_command (0, SFC_GET_FORMAT_MAJOR,
&format_info, sizeof (format_info));
m[format_info.format & SF_FORMAT_TYPEMASK] = format_info.name;
}
}
-
+
map<int, string>::iterator p = m.find(format & SF_FORMAT_TYPEMASK);
if(p != m.end()){
return m[format & SF_FORMAT_TYPEMASK];
sf_command(0, SFC_GET_FORMAT_SUBTYPE_COUNT, &count, sizeof (int));
for (int i = 0; i < count; ++i){
format_info.format = i;
- sf_command (0, SFC_GET_FORMAT_SUBTYPE,
+ sf_command (0, SFC_GET_FORMAT_SUBTYPE,
&format_info, sizeof (format_info));
m[format_info.format & SF_FORMAT_SUBMASK] = format_info.name;
}
}
-
+
map<int, string>::iterator p = m.find(format & SF_FORMAT_SUBMASK);
if(p != m.end()){
return m[format & SF_FORMAT_SUBMASK];