[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/core AbstractAudioReader.h WPAudio...
From: |
Ben Levitt |
Subject: |
[Traverso-commit] traverso/src/core AbstractAudioReader.h WPAudio... |
Date: |
Thu, 19 Jul 2007 06:58:40 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Ben Levitt <benjie> 07/07/19 06:58:40
Modified files:
src/core : AbstractAudioReader.h WPAudioReader.cpp
WPAudioReader.h
Log message:
finish support for non-float wavpack files
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AbstractAudioReader.h?cvsroot=traverso&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/WPAudioReader.cpp?cvsroot=traverso&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/WPAudioReader.h?cvsroot=traverso&r1=1.1&r2=1.2
Patches:
Index: AbstractAudioReader.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/AbstractAudioReader.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
Index: WPAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/WPAudioReader.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- WPAudioReader.cpp 19 Jul 2007 05:28:56 -0000 1.2
+++ WPAudioReader.cpp 19 Jul 2007 06:58:39 -0000 1.3
@@ -40,6 +40,8 @@
}
m_isFloat = ((WavpackGetMode(m_wp) & MODE_FLOAT) != 0);
+ m_bitsPerSample = WavpackGetBitsPerSample(m_wp);
+ m_channels = WavpackGetReducedChannels(m_wp);
m_tmpBuffer = 0;
m_tmpBufferSize = 0;
@@ -77,7 +79,7 @@
int WPAudioReader::get_num_channels()
{
if (m_wp) {
- return WavpackGetReducedChannels(m_wp);
+ return m_channels;
}
return 0;
}
@@ -158,19 +160,19 @@
switch (get_num_channels()) {
case 1:
for (int f = 0; f < framesRead; f++) {
- buffer[0][f] = m_tmpBuffer[f];
+ buffer[0][f] =
(float)((float)m_tmpBuffer[f]/ (float)((uint)1<<(m_bitsPerSample-1)));
}
break;
case 2:
for (int f = 0; f < framesRead; f++) {
- buffer[0][f] = m_tmpBuffer[f * 2];
- buffer[1][f] = m_tmpBuffer[f * 2 + 1];
+ buffer[0][f] =
(float)((float)m_tmpBuffer[f * 2]/ (float)((uint)1<<(m_bitsPerSample-1)));
+ buffer[1][f] =
(float)((float)m_tmpBuffer[f * 2 + 1]/ (float)((uint)1<<(m_bitsPerSample-1)));
}
break;
default:
for (int f = 0; f < framesRead; f++) {
for (int c = 0; c < get_num_channels();
c++) {
- buffer[c][f] = m_tmpBuffer[f *
get_num_channels() + c];
+ buffer[c][f] =
(float)((float)m_tmpBuffer[f + get_num_channels() + c]/
(float)((uint)1<<(m_bitsPerSample-1)));
}
}
}
Index: WPAudioReader.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/WPAudioReader.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- WPAudioReader.h 19 Jul 2007 05:25:59 -0000 1.1
+++ WPAudioReader.h 19 Jul 2007 06:58:39 -0000 1.2
@@ -43,6 +43,8 @@
protected:
WavpackContext* m_wp;
bool m_isFloat;
+ int m_bitsPerSample;
+ int m_channels;
int32_t *m_tmpBuffer;
int m_tmpBufferSize;
};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/core AbstractAudioReader.h WPAudio...,
Ben Levitt <=