[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src audiofileio/decode/AbstractAudioRe...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src audiofileio/decode/AbstractAudioRe... |
Date: |
Thu, 16 Aug 2007 14:26:51 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/08/16 14:26:51
Modified files:
src/audiofileio/decode: AbstractAudioReader.cpp
AbstractAudioReader.h
FlacAudioReader.cpp FlacAudioReader.h
MadAudioReader.h ResampleAudioReader.cpp
ResampleAudioReader.h SFAudioReader.cpp
SFAudioReader.h VorbisAudioReader.cpp
VorbisAudioReader.h WPAudioReader.cpp
WPAudioReader.h
src/audiofileio/encode: SFAudioWriter.cpp
src/core : AudioClip.cpp AudioSource.cpp AudioSource.h
DiskIO.cpp DiskIO.h ReadSource.cpp
src/engine : AlsaDriver.cpp JackDriver.cpp
Log message:
* store ReadSources filereader decoder type
* added pure virtual function decoder_type() in AbstractAudioReader
* init the m_length and m_channels in AbstractAudioReader constructor,
so the newly added AbstractAudioReader ;;is_valid() function works as expected.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/AbstractAudioReader.cpp?cvsroot=traverso&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/AbstractAudioReader.h?cvsroot=traverso&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/FlacAudioReader.cpp?cvsroot=traverso&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/FlacAudioReader.h?cvsroot=traverso&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/MadAudioReader.h?cvsroot=traverso&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/ResampleAudioReader.cpp?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/ResampleAudioReader.h?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/SFAudioReader.cpp?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/SFAudioReader.h?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/VorbisAudioReader.cpp?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/VorbisAudioReader.h?cvsroot=traverso&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/WPAudioReader.cpp?cvsroot=traverso&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/WPAudioReader.h?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/encode/SFAudioWriter.cpp?cvsroot=traverso&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.cpp?cvsroot=traverso&r1=1.124&r2=1.125
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioSource.cpp?cvsroot=traverso&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioSource.h?cvsroot=traverso&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/DiskIO.cpp?cvsroot=traverso&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/DiskIO.h?cvsroot=traverso&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ReadSource.cpp?cvsroot=traverso&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/AlsaDriver.cpp?cvsroot=traverso&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/JackDriver.cpp?cvsroot=traverso&r1=1.19&r2=1.20
Patches:
Index: audiofileio/decode/AbstractAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/AbstractAudioReader.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- audiofileio/decode/AbstractAudioReader.cpp 14 Aug 2007 10:49:52 -0000
1.2
+++ audiofileio/decode/AbstractAudioReader.cpp 16 Aug 2007 14:26:49 -0000
1.3
@@ -37,7 +37,7 @@
AbstractAudioReader::AbstractAudioReader(const QString& filename)
{
m_fileName = filename;
- m_readPos = 0;
+ m_readPos = m_channels = m_length = 0;
}
@@ -119,9 +119,25 @@
// Static method used by other classes to get an AudioReader for the correct
file type
-AbstractAudioReader* AbstractAudioReader::create_audio_reader(const QString&
filename)
+AbstractAudioReader* AbstractAudioReader::create_audio_reader(const QString&
filename, const QString& decoder)
{
- AbstractAudioReader* newReader;
+ AbstractAudioReader* newReader = 0;
+
+ if ( ! (decoder.isEmpty() || decoder.isNull()) ) {
+ if (decoder == "sndfile") {
+ newReader = new SFAudioReader(filename);
+ } else if (decoder == "wavpack") {
+ newReader = new WPAudioReader(filename);
+ } else if (decoder == "flac") {
+ newReader = new FlacAudioReader(filename);
+ } else if (decoder == "vorbis") {
+ newReader = new VorbisAudioReader(filename);
+ } else if (decoder == "mad") {
+ newReader = new MadAudioReader(filename);
+ }
+ }
+
+ if ( (!newReader) || (!newReader->is_valid()) ) {
if (FlacAudioReader::can_decode(filename)) {
newReader = new FlacAudioReader(filename);
@@ -141,9 +157,10 @@
else {
return 0;
}
+ }
- if (newReader->get_num_channels() <= 0) {
- PERROR("new reader has 0 channels!");
+ if (!newReader->is_valid()) {
+ PERROR("new reader is invalid! (channels: %d, frames: %d",
newReader->get_num_channels(), newReader->get_length());
return 0;
}
Index: audiofileio/decode/AbstractAudioReader.h
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/AbstractAudioReader.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- audiofileio/decode/AbstractAudioReader.h 16 Aug 2007 06:43:50 -0000
1.4
+++ audiofileio/decode/AbstractAudioReader.h 16 Aug 2007 14:26:49 -0000
1.5
@@ -116,7 +116,10 @@
bool seek(nframes_t start);
nframes_t read(DecodeBuffer* buffer, nframes_t frameCount);
- static AbstractAudioReader* create_audio_reader(const QString&
filename);
+ bool is_valid() {return (m_channels > 0 && m_length > 0);}
+ virtual QString decoder_type() const = 0;
+
+ static AbstractAudioReader* create_audio_reader(const QString&
filename, const QString& decoder = 0);
protected:
virtual bool seek_private(nframes_t start) = 0;
Index: audiofileio/decode/FlacAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/FlacAudioReader.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- audiofileio/decode/FlacAudioReader.cpp 14 Aug 2007 10:49:53 -0000
1.4
+++ audiofileio/decode/FlacAudioReader.cpp 16 Aug 2007 14:26:49 -0000
1.5
@@ -382,7 +382,7 @@
{
m_flac = new FlacPrivate(filename);
- if (m_flac) {
+ if (m_flac->is_valid()) {
m_channels = m_flac->m_channels;
m_length = m_flac->m_samples;
m_rate = m_flac->m_rate;
Index: audiofileio/decode/FlacAudioReader.h
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/FlacAudioReader.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- audiofileio/decode/FlacAudioReader.h 14 Aug 2007 10:49:53 -0000
1.2
+++ audiofileio/decode/FlacAudioReader.h 16 Aug 2007 14:26:49 -0000
1.3
@@ -33,6 +33,8 @@
FlacAudioReader(QString filename);
~FlacAudioReader();
+ QString decoder_type() const {return "flac";}
+
static bool can_decode(QString filename);
protected:
Index: audiofileio/decode/MadAudioReader.h
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/MadAudioReader.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- audiofileio/decode/MadAudioReader.h 14 Aug 2007 10:49:53 -0000 1.2
+++ audiofileio/decode/MadAudioReader.h 16 Aug 2007 14:26:49 -0000 1.3
@@ -35,6 +35,8 @@
MadAudioReader(QString filename);
~MadAudioReader();
+ QString decoder_type() const {return "mad";}
+
static bool can_decode(QString filename);
protected:
Index: audiofileio/decode/ResampleAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/ResampleAudioReader.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- audiofileio/decode/ResampleAudioReader.cpp 16 Aug 2007 06:43:50 -0000
1.5
+++ audiofileio/decode/ResampleAudioReader.cpp 16 Aug 2007 14:26:49 -0000
1.6
@@ -30,10 +30,10 @@
// On init, creates a child AudioReader for any filetype, and a samplerate
converter
-ResampleAudioReader::ResampleAudioReader(QString filename, int converter_type)
+ResampleAudioReader::ResampleAudioReader(QString filename, int converter_type,
const QString& decoder)
: AbstractAudioReader(filename)
{
- m_reader = AbstractAudioReader::create_audio_reader(filename);
+ m_reader = AbstractAudioReader::create_audio_reader(filename, decoder);
if (!m_reader) {
PERROR("ResampleAudioReader: couldn't create AudioReader");
return;
@@ -44,10 +44,7 @@
m_length = m_reader->get_length();
m_outputRate = m_rate;
- m_overflowBuffers = new audio_sample_t*[m_channels];
- for (int chan = 0; chan < m_channels; chan++) {
- m_overflowBuffers[chan] = new audio_sample_t[OVERFLOW_SIZE];
- }
+ m_overflowBuffers = 0;
m_overflowUsed = 0;
init(converter_type);
@@ -65,10 +62,12 @@
delete m_reader;
}
+ if (m_overflowBuffers) {
for (int chan = 0; chan < m_channels; chan++) {
delete [] m_overflowBuffers[chan];
}
delete [] m_overflowBuffers;
+ }
}
@@ -156,6 +155,8 @@
// pass through if not changing sampleRate.
if (m_outputRate == m_rate) {
return m_reader->read(buffer, frameCount);
+ } else if (!m_overflowBuffers) {
+ create_overflow_buffers();
}
nframes_t bufferUsed;
@@ -264,3 +265,11 @@
return (nframes_t)(frame * ((double) m_outputRate / m_rate));
}
+void ResampleAudioReader::create_overflow_buffers()
+{
+ m_overflowBuffers = new audio_sample_t*[m_channels];
+ for (int chan = 0; chan < m_channels; chan++) {
+ m_overflowBuffers[chan] = new audio_sample_t[OVERFLOW_SIZE];
+ }
+}
+
Index: audiofileio/decode/ResampleAudioReader.h
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/ResampleAudioReader.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- audiofileio/decode/ResampleAudioReader.h 16 Aug 2007 06:43:50 -0000
1.3
+++ audiofileio/decode/ResampleAudioReader.h 16 Aug 2007 14:26:49 -0000
1.4
@@ -31,9 +31,11 @@
{
public:
- ResampleAudioReader(QString filename, int converter_type);
+ ResampleAudioReader(QString filename, int converter_type, const
QString& decoder);
~ResampleAudioReader();
+ QString decoder_type() const {return m_reader->decoder_type();}
+
int get_output_rate();
void set_output_rate(int rate);
@@ -55,6 +57,9 @@
long m_overflowUsed;
int m_outputRate;
nframes_t m_readExtraFrames;
+
+private:
+ void create_overflow_buffers();
};
#endif
Index: audiofileio/decode/SFAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/SFAudioReader.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- audiofileio/decode/SFAudioReader.cpp 14 Aug 2007 10:49:53 -0000
1.3
+++ audiofileio/decode/SFAudioReader.cpp 16 Aug 2007 14:26:50 -0000
1.4
@@ -39,11 +39,13 @@
if ((m_sf = sf_open (m_fileName.toUtf8().data(), SFM_READ, &m_sfinfo))
== 0) {
PERROR("Couldn't open soundfile (%s)",
m_fileName.toUtf8().data());
+ return;
}
m_channels = m_sfinfo.channels;
m_length = m_sfinfo.frames;
m_rate = m_sfinfo.samplerate;
+
}
Index: audiofileio/decode/SFAudioReader.h
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/SFAudioReader.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- audiofileio/decode/SFAudioReader.h 14 Aug 2007 10:49:54 -0000 1.3
+++ audiofileio/decode/SFAudioReader.h 16 Aug 2007 14:26:50 -0000 1.4
@@ -32,6 +32,8 @@
SFAudioReader(QString filename);
~SFAudioReader();
+ QString decoder_type() const {return "sndfile";}
+
static bool can_decode(QString filename);
protected:
Index: audiofileio/decode/VorbisAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/VorbisAudioReader.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- audiofileio/decode/VorbisAudioReader.cpp 14 Aug 2007 10:49:54 -0000
1.3
+++ audiofileio/decode/VorbisAudioReader.cpp 16 Aug 2007 14:26:50 -0000
1.4
@@ -75,7 +75,7 @@
FILE* file = fopen(filename.toUtf8().data(), "rb");
if (!file) {
- PERROR("Could not open file: %s.", filename.toUtf8().data());
+ PERROR("Could not open file: %s", filename.toUtf8().data());
return false;
}
Index: audiofileio/decode/VorbisAudioReader.h
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/VorbisAudioReader.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- audiofileio/decode/VorbisAudioReader.h 14 Aug 2007 10:49:54 -0000
1.2
+++ audiofileio/decode/VorbisAudioReader.h 16 Aug 2007 14:26:50 -0000
1.3
@@ -34,6 +34,8 @@
VorbisAudioReader(QString filename);
~VorbisAudioReader();
+ QString decoder_type() const {return "vorbis";}
+
static bool can_decode(QString filename);
protected:
Index: audiofileio/decode/WPAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/WPAudioReader.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- audiofileio/decode/WPAudioReader.cpp 14 Aug 2007 10:49:54 -0000
1.4
+++ audiofileio/decode/WPAudioReader.cpp 16 Aug 2007 14:26:50 -0000
1.5
@@ -38,6 +38,7 @@
if (m_wp == 0) {
PERROR("Couldn't open soundfile (%s) %s",
filename.toUtf8().data(), error);
+ return;
}
m_isFloat = ((WavpackGetMode(m_wp) & MODE_FLOAT) != 0);
Index: audiofileio/decode/WPAudioReader.h
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/WPAudioReader.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- audiofileio/decode/WPAudioReader.h 14 Aug 2007 10:49:54 -0000 1.3
+++ audiofileio/decode/WPAudioReader.h 16 Aug 2007 14:26:50 -0000 1.4
@@ -32,6 +32,8 @@
WPAudioReader(QString filename);
~WPAudioReader();
+ QString decoder_type() const {return "wavpack";}
+
static bool can_decode(QString filename);
protected:
Index: audiofileio/encode/SFAudioWriter.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/encode/SFAudioWriter.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- audiofileio/encode/SFAudioWriter.cpp 13 Aug 2007 00:01:52 -0000
1.4
+++ audiofileio/encode/SFAudioWriter.cpp 16 Aug 2007 14:26:50 -0000
1.5
@@ -48,6 +48,9 @@
if (m_fileType == SF_FORMAT_WAV) {
return ".wav";
}
+ else if (m_fileType == SF_FORMAT_W64) {
+ return ".w64";
+ }
else if (m_fileType == SF_FORMAT_AIFF) {
return ".aiff";
}
@@ -65,6 +68,10 @@
m_fileType = SF_FORMAT_WAV;
return true;
}
+ else if (value == "w64") {
+ m_fileType = SF_FORMAT_W64;
+ return true;
+ }
else if (value == "aiff") {
m_fileType = SF_FORMAT_AIFF;
return true;
Index: core/AudioClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.cpp,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -b -r1.124 -r1.125
Index: core/AudioSource.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioSource.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- core/AudioSource.cpp 18 Jul 2007 13:13:05 -0000 1.26
+++ core/AudioSource.cpp 16 Aug 2007 14:26:50 -0000 1.27
@@ -75,6 +75,7 @@
node.setAttribute("wasrecording", m_wasRecording);
node.setAttribute("length", m_length);
node.setAttribute("rate", m_rate);
+ node.setAttribute("decoder", m_decodertype);
return node;
}
@@ -93,6 +94,7 @@
m_rate = e.attribute("rate", "0").toUInt();
m_origBitDepth = e.attribute("origbitdepth", "0").toInt();
m_wasRecording = e.attribute("wasrecording", "0").toInt();
+ m_decodertype = e.attribute("decoder", "");
// For older project files, this should properly detect if the
// audio source was a recording or not., in fact this should suffice
Index: core/AudioSource.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioSource.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- core/AudioSource.h 15 Aug 2007 20:07:41 -0000 1.23
+++ core/AudioSource.h 16 Aug 2007 14:26:50 -0000 1.24
@@ -76,6 +76,7 @@
nframes_t m_length;
uint m_rate;
int m_wasRecording;
+ QString m_decodertype;
};
Index: core/DiskIO.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/DiskIO.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- core/DiskIO.cpp 16 Aug 2007 06:43:50 -0000 1.44
+++ core/DiskIO.cpp 16 Aug 2007 14:26:50 -0000 1.45
@@ -267,7 +267,7 @@
m_processableWriteSources.clear();
QList<ReadSource* > syncSources;
- for (int i=6; i >= 0; --i) {
+ for (int i=(bufferdividefactor-2); i >= 0; --i) {
for (int j=0; j<m_writeSources.size(); ++j) {
WriteSource* source = m_writeSources.at(j);
Index: core/DiskIO.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/DiskIO.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- core/DiskIO.h 14 Aug 2007 10:49:55 -0000 1.20
+++ core/DiskIO.h 16 Aug 2007 14:26:50 -0000 1.21
@@ -52,7 +52,7 @@
~DiskIO();
static const int writebuffertime = 5;
- static const int bufferdividefactor = 8;
+ static const int bufferdividefactor = 5;
void prepare_for_seek();
void output_rate_changed();
Index: core/ReadSource.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/ReadSource.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- core/ReadSource.cpp 16 Aug 2007 06:43:50 -0000 1.48
+++ core/ReadSource.cpp 16 Aug 2007 14:26:50 -0000 1.49
@@ -176,8 +176,8 @@
converter_type = config().get_property("Conversion",
"RTResamplingConverterType", 2).toInt();
// There should be another config option for ConverterType to
use for export (higher quality)
//converter_type = config().get_property("Conversion",
"ExportResamplingConverterType", 0).toInt();
- m_audioReader = new ResampleAudioReader(m_fileName,
converter_type);
- if (m_audioReader->get_num_channels()) {
+ m_audioReader = new ResampleAudioReader(m_fileName,
converter_type, m_decodertype);
+ if (m_audioReader->is_valid()) {
output_rate_changed();
}
else {
@@ -186,13 +186,16 @@
}
}
else {
- m_audioReader =
AbstractAudioReader::create_audio_reader(m_fileName);
+ m_audioReader =
AbstractAudioReader::create_audio_reader(m_fileName, m_decodertype);
}
if (m_audioReader == 0) {
return COULD_NOT_OPEN_FILE;
}
+ // (re)set the decoder type
+ m_decodertype = m_audioReader->decoder_type();
+
if (m_channelCount > m_audioReader->get_num_channels()) {
PERROR("ReadAudioSource: file only contains %d channels; %d is
invalid as a channel number", m_audioReader->get_num_channels(),
m_channelCount);
delete m_audioReader;
Index: engine/AlsaDriver.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/engine/AlsaDriver.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- engine/AlsaDriver.cpp 14 May 2007 18:05:28 -0000 1.16
+++ engine/AlsaDriver.cpp 16 Aug 2007 14:26:51 -0000 1.17
@@ -20,12 +20,11 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-$Id: AlsaDriver.cpp,v 1.16 2007/05/14 18:05:28 r_sijrier Exp $
+$Id: AlsaDriver.cpp,v 1.17 2007/08/16 14:26:51 r_sijrier Exp $
*/
#include "AlsaDriver.h"
-#include "AudioDevice.h"
#include "AudioChannel.h"
#include <Utils.h>
#include <Config.h>
@@ -46,6 +45,8 @@
#include <sys/time.h>
#include <time.h>
+#include "AudioDevice.h"
+
// Always put me below _all_ includes, this is needed
// in case we run with memory leak detection enabled!
#include "Debugger.h"
Index: engine/JackDriver.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/engine/JackDriver.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- engine/JackDriver.cpp 19 Jul 2007 12:28:42 -0000 1.19
+++ engine/JackDriver.cpp 16 Aug 2007 14:26:51 -0000 1.20
@@ -17,14 +17,11 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- $Id: JackDriver.cpp,v 1.19 2007/07/19 12:28:42 r_sijrier Exp $
+ $Id: JackDriver.cpp,v 1.20 2007/08/16 14:26:51 r_sijrier Exp $
*/
#include "JackDriver.h"
-#include "AudioDevice.h"
-#include "AudioChannel.h"
-
#include <Information.h>
#include "Config.h"
@@ -34,6 +31,9 @@
#include "AlsaDriver.h"
#endif
+#include "AudioDevice.h"
+#include "AudioChannel.h"
+
// Always put me below _all_ includes, this is needed
// in case we run with memory leak detection enabled!
#include "Debugger.h"