summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-07-16 22:06:35 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-07-16 22:06:35 +0000
commit37c74810d22f6ef392366e40a9f03dd8da16da18 (patch)
tree5e6b6cd8cc5cac56214890f36f0ac283f6d1a9a8
parent323438965ea54d361794287a7d9842d5dac1c6bb (diff)
support for 16 bit native files, part II
git-svn-id: svn://localhost/ardour2/trunk@2134 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/ardour/ardour/automation_event.h4
-rw-r--r--libs/ardour/ardour/types.h3
-rw-r--r--libs/ardour/automation_event.cc2
-rw-r--r--libs/ardour/enums.cc1
-rw-r--r--libs/ardour/session.cc4
-rw-r--r--libs/ardour/sndfilesource.cc4
6 files changed, 14 insertions, 4 deletions
diff --git a/libs/ardour/ardour/automation_event.h b/libs/ardour/ardour/automation_event.h
index 6d04d4319a..ffce2bdb9c 100644
--- a/libs/ardour/ardour/automation_event.h
+++ b/libs/ardour/ardour/automation_event.h
@@ -50,9 +50,9 @@ struct ControlEvent {
coeff[0] = coeff[1] = coeff[2] = coeff[3] = 0.0;
}
- double when;
+ double when;
double value;
- double coeff[4]; ///< Used by Curve
+ double coeff[4]; ///< Used by Curve
};
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 4b270f1a7d..9edeffb120 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -325,7 +325,8 @@ namespace ARDOUR {
enum SampleFormat {
FormatFloat = 0,
- FormatInt24
+ FormatInt24,
+ FormatInt16
};
diff --git a/libs/ardour/automation_event.cc b/libs/ardour/automation_event.cc
index d5b122cb53..a682526457 100644
--- a/libs/ardour/automation_event.cc
+++ b/libs/ardour/automation_event.cc
@@ -379,7 +379,7 @@ AutomationList::rt_add (double when, double value)
}
}
}
-
+
if (!done) {
_rt_insertion_point = _events.insert (where, new ControlEvent (when, value));
}
diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc
index faa74860f9..91fbda89c5 100644
--- a/libs/ardour/enums.cc
+++ b/libs/ardour/enums.cc
@@ -204,6 +204,7 @@ setup_enum_writer ()
REGISTER_ENUM (FormatFloat);
REGISTER_ENUM (FormatInt24);
+ REGISTER_ENUM (FormatInt16);
REGISTER (_SampleFormat);
REGISTER_ENUM (BWF);
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index e1997df980..0d81384637 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -3599,6 +3599,10 @@ Session::available_capture_duration ()
sample_bytes_on_disk = 3.0;
break;
+ case FormatInt16:
+ sample_bytes_on_disk = 2.0;
+ break;
+
default:
/* impossible, but keep some gcc versions happy */
fatal << string_compose (_("programming error: %1"),
diff --git a/libs/ardour/sndfilesource.cc b/libs/ardour/sndfilesource.cc
index 8f795db111..6977eef6bd 100644
--- a/libs/ardour/sndfilesource.cc
+++ b/libs/ardour/sndfilesource.cc
@@ -122,6 +122,10 @@ SndFileSource::SndFileSource (Session& s, ustring path, SampleFormat sfmt, Heade
case FormatInt24:
fmt |= SF_FORMAT_PCM_24;
break;
+
+ case FormatInt16:
+ fmt |= SF_FORMAT_PCM_16;
+ break;
}
_info.channels = 1;