[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: |
Wed, 30 Jan 2008 13:56:49 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 08/01/30 13:56:49
Modified files:
src/audiofileio/decode: AbstractAudioReader.cpp
FlacAudioReader.cpp MadAudioReader.cpp
SFAudioReader.cpp SFAudioReader.h
VorbisAudioReader.cpp WPAudioReader.cpp
src/audiofileio/encode: FlacAudioWriter.cpp SFAudioWriter.cpp
SFAudioWriter.h WPAudioWriter.cpp
src/common : Utils.h
src/core : Peak.cpp
src/traverso/widgets: InfoWidgets.cpp
Log message:
* remove as much QString::toUtf8() as possible, the remaining ones are
used for file open (read or write) which are still potential problematic when
the local encoding doesn't support Utf8. Or something like that.
For the one person Utf8 works, whereas the other person needs toLatin1.
QFile seems to pick the correct one somehow, so SFAudioReader/Writer
uses a file descriptor now returned from a QFile.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/AbstractAudioReader.cpp?cvsroot=traverso&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/FlacAudioReader.cpp?cvsroot=traverso&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/MadAudioReader.cpp?cvsroot=traverso&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/SFAudioReader.cpp?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/SFAudioReader.h?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/VorbisAudioReader.cpp?cvsroot=traverso&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/WPAudioReader.cpp?cvsroot=traverso&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/encode/FlacAudioWriter.cpp?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/encode/SFAudioWriter.cpp?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/encode/SFAudioWriter.h?cvsroot=traverso&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/encode/WPAudioWriter.cpp?cvsroot=traverso&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/traverso/src/common/Utils.h?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Peak.cpp?cvsroot=traverso&r1=1.83&r2=1.84
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/InfoWidgets.cpp?cvsroot=traverso&r1=1.56&r2=1.57
Patches:
Index: audiofileio/decode/AbstractAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/AbstractAudioReader.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- audiofileio/decode/AbstractAudioReader.cpp 28 Jan 2008 21:09:56 -0000
1.23
+++ audiofileio/decode/AbstractAudioReader.cpp 30 Jan 2008 13:56:47 -0000
1.24
@@ -141,7 +141,7 @@
#endif
if (newReader && !newReader->is_valid()) {
- PERROR("new %s reader is invalid! (channels: %d,
frames: %d)", (const char *)(newReader->decoder_type().toUtf8()),
newReader->get_num_channels(), newReader->get_nframes());
+ PERROR("new %s reader is invalid! (channels: %d,
frames: %d)", QS_C(newReader->decoder_type()), newReader->get_num_channels(),
newReader->get_nframes());
delete newReader;
newReader = 0;
}
@@ -169,7 +169,7 @@
}
if (newReader && !newReader->is_valid()) {
- PERROR("new %s reader is invalid! (channels: %d, frames: %d)",
(const char *)(newReader->decoder_type().toUtf8()),
newReader->get_num_channels(), newReader->get_nframes());
+ PERROR("new %s reader is invalid! (channels: %d, frames: %d)",
QS_C(newReader->decoder_type()), newReader->get_num_channels(),
newReader->get_nframes());
delete newReader;
newReader = 0;
}
Index: audiofileio/decode/FlacAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/FlacAudioReader.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- audiofileio/decode/FlacAudioReader.cpp 30 Nov 2007 06:52:38 -0000
1.13
+++ audiofileio/decode/FlacAudioReader.cpp 30 Jan 2008 13:56:47 -0000
1.14
@@ -427,7 +427,7 @@
QFile f(filename);
if (!f.open(QIODevice::ReadOnly)) {
- PERROR("Could not open file %s", filename.toUtf8().data());
+ PERROR("Could not open file %s", QS_C(filename));
return false;
}
@@ -479,7 +479,7 @@
Q_ASSERT(m_flac);
if (start >= m_nframes) {
- PERROR("FlacAudioReader: could not seek to frame %d within %s,
it's past the end.", start, m_fileName.toUtf8().data());
+ PERROR("FlacAudioReader: could not seek to frame %d within %s,
it's past the end.", start, QS_C(m_fileName));
return false;
}
@@ -489,7 +489,7 @@
m_flac->flush();
if (!m_flac->seek(start)) {
- PERROR("FlacAudioReader: could not seek to frame %d within %s",
start, m_fileName.toUtf8().data());
+ PERROR("FlacAudioReader: could not seek to frame %d within %s",
start, QS_C(m_fileName));
return false;
}
Index: audiofileio/decode/MadAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/MadAudioReader.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- audiofileio/decode/MadAudioReader.cpp 22 Oct 2007 16:49:42 -0000
1.9
+++ audiofileio/decode/MadAudioReader.cpp 30 Jan 2008 13:56:47 -0000
1.10
@@ -165,7 +165,7 @@
m_inputFile.setFileName(filename);
if (!m_inputFile.open(QIODevice::ReadOnly)) {
- PERROR("could not open file %s",
m_inputFile.fileName().toUtf8().data());
+ PERROR("could not open file %s", QS_C(filename));
return false;
}
@@ -275,7 +275,7 @@
// skip the id3 tag
if (!m_inputFile.seek(offset)) {
- PERROR("Couldn't seek to %u in %s", offset,
m_inputFile.fileName().toUtf8().data());
+ PERROR("Couldn't seek to %u in %s", offset,
QS_C(m_inputFile.fileName()));
return false;
}
}
Index: audiofileio/decode/SFAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/SFAudioReader.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- audiofileio/decode/SFAudioReader.cpp 11 Jan 2008 13:32:25 -0000
1.7
+++ audiofileio/decode/SFAudioReader.cpp 30 Jan 2008 13:56:48 -0000
1.8
@@ -20,7 +20,6 @@
*/
#include "SFAudioReader.h"
-#include <QFile>
#include <QString>
// Always put me below _all_ includes, this is needed
@@ -37,8 +36,15 @@
*/
memset (&m_sfinfo, 0, sizeof(m_sfinfo));
- if ((m_sf = sf_open (m_fileName.toUtf8().data(), SFM_READ, &m_sfinfo))
== 0) {
- PERROR("Couldn't open soundfile (%s)",
m_fileName.toUtf8().data());
+ m_file.setFileName(m_fileName);
+
+ if (!m_file.open(QIODevice::ReadOnly)) {
+ qWarning("SFAudioReader::Could not open soundfile (%s)",
QS_C(m_fileName));
+ return;
+ }
+
+ if ((m_sf = sf_open_fd (m_file.handle(), SFM_READ, &m_sfinfo, false))
== 0) {
+ qWarning("SFAudioReader::Could not open soundfile (%s)",
QS_C(m_fileName));
return;
}
@@ -69,7 +75,14 @@
*/
memset (&infos, 0, sizeof(infos));
- SNDFILE* sndfile = sf_open(filename.toUtf8().constData(), SFM_READ,
&infos);
+ QFile file(filename);
+
+ if (!file.open(QIODevice::ReadOnly)) {
+ qWarning("SFAudioReader::can_decode: Couldn't open soundfile
(%s)", QS_C(filename));
+ return false;
+ }
+
+ SNDFILE* sndfile = sf_open_fd(file.handle(), SFM_READ, &infos, false);
//is it supported by libsndfile?
if (!sndfile) {
@@ -94,7 +107,7 @@
if (sf_seek (m_sf, (off_t) start, SEEK_SET) < 0) {
char errbuf[256];
sf_error_str (0, errbuf, sizeof (errbuf) - 1);
- PERROR("ReadAudioSource: could not seek to frame %d within %s
(%s)", start, m_fileName.toUtf8().data(), errbuf);
+ PERROR("ReadAudioSource: could not seek to frame %d within %s
(%s)", start, QS_C(m_fileName), errbuf);
return false;
}
Index: audiofileio/decode/SFAudioReader.h
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/SFAudioReader.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- audiofileio/decode/SFAudioReader.h 17 Aug 2007 00:13:27 -0000 1.5
+++ audiofileio/decode/SFAudioReader.h 30 Jan 2008 13:56:48 -0000 1.6
@@ -25,6 +25,7 @@
#include <AbstractAudioReader.h>
#include "sndfile.h"
+#include <QFile>
class SFAudioReader : public AbstractAudioReader
{
@@ -42,6 +43,9 @@
SNDFILE* m_sf;
SF_INFO m_sfinfo;
+
+private:
+ QFile m_file;
};
#endif
Index: audiofileio/decode/VorbisAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/VorbisAudioReader.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- audiofileio/decode/VorbisAudioReader.cpp 22 Oct 2007 16:49:42 -0000
1.6
+++ audiofileio/decode/VorbisAudioReader.cpp 30 Jan 2008 13:56:48 -0000
1.7
@@ -40,7 +40,7 @@
{
m_file = fopen(filename.toUtf8().data(), "rb");
if (!m_file) {
- PERROR("Couldn't open file %s.", filename.toUtf8().data());
+ PERROR("Couldn't open file %s.", QS_C(filename));
return;
}
@@ -76,7 +76,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", QS_C(filename));
return false;
}
@@ -102,7 +102,7 @@
}
if (int result = ov_pcm_seek(&m_vf, start) < 0) {
- PERROR("VorbisAudioReader: could not seek to frame %d within %s
(%d)", start, m_fileName.toUtf8().data(), result);
+ PERROR("VorbisAudioReader: could not seek to frame %d within %s
(%d)", start, QS_C(m_fileName), result);
Q_UNUSED(result);
return false;
}
Index: audiofileio/decode/WPAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/decode/WPAudioReader.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- audiofileio/decode/WPAudioReader.cpp 22 Oct 2007 16:49:42 -0000
1.11
+++ audiofileio/decode/WPAudioReader.cpp 30 Jan 2008 13:56:48 -0000
1.12
@@ -37,7 +37,7 @@
m_wp = WavpackOpenFileInput(m_fileName.toUtf8().data(), error,
OPEN_2CH_MAX | OPEN_NORMALIZE | OPEN_WVC, 0);
if (m_wp == 0) {
- PERROR("Couldn't open soundfile (%s) %s",
filename.toUtf8().data(), error);
+ qWarning("Couldn't open soundfile (%s) %s", QS_C(filename),
error);
return;
}
@@ -89,7 +89,7 @@
}
if (!WavpackSeekSample(m_wp, start)) {
- PERROR("could not seek to frame %d within %s", start,
m_fileName.toUtf8().data());
+ PERROR("could not seek to frame %d within %s", start,
QS_C(m_fileName));
return false;
}
Index: audiofileio/encode/FlacAudioWriter.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/encode/FlacAudioWriter.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- audiofileio/encode/FlacAudioWriter.cpp 29 Oct 2007 09:00:09 -0000
1.5
+++ audiofileio/encode/FlacAudioWriter.cpp 30 Jan 2008 13:56:48 -0000
1.6
@@ -120,7 +120,7 @@
ok &= FLAC__file_encoder_set_bits_per_sample(d->encoder, m_sampleWidth);
ok &= FLAC__file_encoder_set_sample_rate(d->encoder, m_rate);
ok &= FLAC__file_encoder_set_total_samples_estimate(d->encoder, 0); //
Set when done
- ok &= FLAC__file_encoder_set_filename(d->encoder,
m_fileName.toUtf8().data());
+ ok &= FLAC__file_encoder_set_filename(d->encoder, QS_C(m_fileName));
#else
ok &= FLAC__stream_encoder_set_compression_level(d->encoder,
d->quality);
ok &= FLAC__stream_encoder_set_channels(d->encoder, m_channels);
@@ -140,7 +140,7 @@
}
#else
FLAC__StreamEncoderInitStatus init_status;
- init_status = FLAC__stream_encoder_init_file(d->encoder,
m_fileName.toUtf8().data(), NULL, /*client_data=*/NULL);
+ init_status = FLAC__stream_encoder_init_file(d->encoder,
QS_C(m_fileName), NULL, /*client_data=*/NULL);
if (init_status != FLAC__STREAM_ENCODER_INIT_STATUS_OK) {
PERROR("ERROR: initializing encoder: %s",
FLAC__StreamEncoderInitStatusString[init_status]);
ok = false;
Index: audiofileio/encode/SFAudioWriter.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/encode/SFAudioWriter.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- audiofileio/encode/SFAudioWriter.cpp 26 Sep 2007 20:46:31 -0000
1.7
+++ audiofileio/encode/SFAudioWriter.cpp 30 Jan 2008 13:56:48 -0000
1.8
@@ -97,10 +97,18 @@
m_sfinfo.channels = m_channels;
//m_sfinfo.frames = m_spec->endLocation - m_spec->startLocation + 1;
- m_sf = sf_open(m_fileName.toUtf8().data(), SFM_WRITE, &m_sfinfo);
+ m_file.setFileName(m_fileName);
+
+ if (!m_file.open(QIODevice::WriteOnly)) {
+ qWarning("SFAudioReader::open_private: Could not create file
(%s)", QS_C(m_fileName));
+ return false;
+ }
+
+ m_sf = sf_open_fd(m_file.handle(), SFM_WRITE, &m_sfinfo, false);
+
if (m_sf == 0) {
sf_error_str (0, errbuf, sizeof (errbuf) - 1);
- PWARN("Export: cannot open output file \"%s\" (%s)",
m_fileName.toUtf8().data(), errbuf);
+ PWARN("Export: cannot open output file \"%s\" (%s)",
QS_C(m_fileName), errbuf);
return false;
}
Index: audiofileio/encode/SFAudioWriter.h
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/encode/SFAudioWriter.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- audiofileio/encode/SFAudioWriter.h 5 Nov 2007 15:51:36 -0000 1.6
+++ audiofileio/encode/SFAudioWriter.h 30 Jan 2008 13:56:48 -0000 1.7
@@ -27,6 +27,8 @@
#include "defines.h"
#include "sndfile.h"
+#include <QFile>
+
class QString;
class SFAudioWriter : public AbstractAudioWriter
@@ -48,6 +50,10 @@
int m_fileType;
SNDFILE* m_sf;
SF_INFO m_sfinfo;
+
+private:
+ QFile m_file;
+
};
#endif
Index: audiofileio/encode/WPAudioWriter.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/audiofileio/encode/WPAudioWriter.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- audiofileio/encode/WPAudioWriter.cpp 24 Sep 2007 00:57:51 -0000
1.13
+++ audiofileio/encode/WPAudioWriter.cpp 30 Jan 2008 13:56:48 -0000
1.14
@@ -102,7 +102,7 @@
{
m_file = fopen(m_fileName.toUtf8().data(), "wb");
if (!m_file) {
- PERROR("Couldn't open file %s.", m_fileName.toUtf8().data());
+ qWarning("Couldn't open file %s.", QS_C(m_fileName));
return false;
}
Index: common/Utils.h
===================================================================
RCS file: /sources/traverso/traverso/src/common/Utils.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- common/Utils.h 21 Jan 2008 16:22:12 -0000 1.5
+++ common/Utils.h 30 Jan 2008 13:56:48 -0000 1.6
@@ -26,7 +26,7 @@
#include <QPixmap>
#include <QDateTime>
-#define QS_C(x) x.toAscii().data()
+#define QS_C(x) x.toUtf8().data()
class QString;
Index: core/Peak.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Peak.cpp,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -b -r1.83 -r1.84
--- core/Peak.cpp 30 Jan 2008 12:24:35 -0000 1.83
+++ core/Peak.cpp 30 Jan 2008 13:56:48 -0000 1.84
@@ -134,7 +134,7 @@
}
QString errorstring =
FileHelper::fileerror_to_string(data->file.error());
- PERROR("Couldn't open peak file for reading! (%s,
Error: %s)", data->fileName.toUtf8().data(), QS_C(errorstring));
+ qWarning("Couldn't open peak file for reading! (%s,
Error: %s)", QS_C(data->fileName), QS_C(errorstring));
return -1;
}
@@ -918,7 +918,7 @@
// only seek if we didn't mmap
if (!m_d->memory) {
if (!m_d->file.seek(start)) {
- PERROR("PeakDataReader: could not seek to data
point %d within %s", start, m_d->fileName.toUtf8().data());
+ qWarning("PeakDataReader: could not seek to
data point %d within %s", start, QS_C(m_d->fileName));
return false;
}
}
Index: traverso/widgets/InfoWidgets.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/InfoWidgets.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- traverso/widgets/InfoWidgets.cpp 29 Jan 2008 10:55:20 -0000 1.56
+++ traverso/widgets/InfoWidgets.cpp 30 Jan 2008 13:56:48 -0000 1.57
@@ -305,7 +305,7 @@
#if defined (Q_WS_WIN)
__int64 freebytestocaller, totalbytes, freebytes;
- if (! GetDiskFreeSpaceEx ((const
WCHAR*)(m_project->get_root_dir().toUtf8().data()),
+ if (! GetDiskFreeSpaceEx ((const
WCHAR*)(QS_C(m_project->get_root_dir())),
(PULARGE_INTEGER)&freebytestocaller,
(PULARGE_INTEGER)&totalbytes,
(PULARGE_INTEGER)&freebytes))
@@ -324,7 +324,7 @@
#else
struct statfs fs;
- statfs(m_project->get_root_dir().toUtf8().data(), &fs);
+ statfs(QS_C(m_project->get_root_dir()), &fs);
space = floor (fs.f_bavail * (fs.f_bsize / 1048576.0));
#endif
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src audiofileio/decode/AbstractAudioRe...,
Remon Sijrier <=