mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-08-16 08:34:12 +02:00
2019-05-03 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression that broke audio importation in rdimport(1).
This commit is contained in:
parent
bf0a19bf43
commit
aa59fbb0f5
@ -18637,3 +18637,5 @@
|
|||||||
Python 3.6.
|
Python 3.6.
|
||||||
2019-05-02 Fred Gleason <fredg@paravelsystems.com>
|
2019-05-02 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Updated the package version to 3.0.0rc01.
|
* Updated the package version to 3.0.0rc01.
|
||||||
|
2019-05-03 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Fixed a regression that broke audio importation in rdimport(1).
|
||||||
|
@ -70,6 +70,7 @@ RDWaveFile::RDWaveFile(QString file_name)
|
|||||||
//
|
//
|
||||||
// Initialize Class Structures
|
// Initialize Class Structures
|
||||||
//
|
//
|
||||||
|
wave_file_name=file_name;
|
||||||
wave_file.setName(file_name);
|
wave_file.setName(file_name);
|
||||||
wave_data=NULL;
|
wave_data=NULL;
|
||||||
recordable=false;
|
recordable=false;
|
||||||
@ -213,6 +214,7 @@ void RDWaveFile::nameWave(QString file_name)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
wave_file.setName(file_name);
|
wave_file.setName(file_name);
|
||||||
|
wave_file_name=file_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -226,13 +228,12 @@ bool RDWaveFile::openWave(RDWaveData *data)
|
|||||||
int fd=-1;
|
int fd=-1;
|
||||||
|
|
||||||
wave_data=data;
|
wave_data=data;
|
||||||
if((fd=open(wave_file.name().toUtf8(),O_RDONLY))<0) {
|
if((fd=open(wave_file_name.toUtf8(),O_RDONLY))<0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(!wave_file.open(fd,QIODevice::ReadOnly)) {
|
if(!wave_file.open(fd,QIODevice::ReadOnly)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(GetType(wave_file.handle())) {
|
switch(GetType(wave_file.handle())) {
|
||||||
case RDWaveFile::Wave:
|
case RDWaveFile::Wave:
|
||||||
if(GetFmt(wave_file.handle())) {
|
if(GetFmt(wave_file.handle())) {
|
||||||
@ -431,7 +432,7 @@ bool RDWaveFile::openWave(RDWaveData *data)
|
|||||||
data_chunk=true;
|
data_chunk=true;
|
||||||
format_chunk=true;
|
format_chunk=true;
|
||||||
wave_type=RDWaveFile::Ogg;
|
wave_type=RDWaveFile::Ogg;
|
||||||
ReadNormalizeLevel(wave_file.name());
|
ReadNormalizeLevel(wave_file_name);
|
||||||
ValidateMetadata();
|
ValidateMetadata();
|
||||||
return true;
|
return true;
|
||||||
#else
|
#else
|
||||||
@ -553,7 +554,7 @@ bool RDWaveFile::createWave(RDWaveData *data,unsigned ptr_offset)
|
|||||||
}
|
}
|
||||||
prev_mask = umask(0113); // Set umask so files are user and group writable.
|
prev_mask = umask(0113); // Set umask so files are user and group writable.
|
||||||
rc=wave_file.open(QIODevice::ReadWrite|QIODevice::Truncate);
|
rc=wave_file.open(QIODevice::ReadWrite|QIODevice::Truncate);
|
||||||
unlink((wave_file.name()+".energy").ascii());
|
unlink((wave_file_name+".energy").ascii());
|
||||||
umask(prev_mask);
|
umask(prev_mask);
|
||||||
if(rc==false) {
|
if(rc==false) {
|
||||||
return false;
|
return false;
|
||||||
@ -914,7 +915,7 @@ void RDWaveFile::resetWave()
|
|||||||
|
|
||||||
QString RDWaveFile::getName() const
|
QString RDWaveFile::getName() const
|
||||||
{
|
{
|
||||||
return wave_file.name();
|
return wave_file_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2443,7 +2444,7 @@ bool RDWaveFile::IsFlac(int fd)
|
|||||||
#ifdef HAVE_FLAC
|
#ifdef HAVE_FLAC
|
||||||
char buffer[5];
|
char buffer[5];
|
||||||
|
|
||||||
ID3_Tag id3_tag(Q3CString().sprintf("%s",(const char *)wave_file.name().utf8()));
|
ID3_Tag id3_tag(Q3CString().sprintf("%s",(const char *)wave_file_name.utf8()));
|
||||||
lseek(fd,id3_tag.GetPrependedBytes(),SEEK_SET);
|
lseek(fd,id3_tag.GetPrependedBytes(),SEEK_SET);
|
||||||
if(read(fd,buffer,4)!=4) {
|
if(read(fd,buffer,4)!=4) {
|
||||||
return false;
|
return false;
|
||||||
@ -3489,10 +3490,10 @@ void RDWaveFile::ReadId3Metadata()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bool using_rdxl=false;
|
bool using_rdxl=false;
|
||||||
TagLib::FileRef tagref(wave_file.name().toUtf8());
|
TagLib::FileRef tagref(wave_file_name.toUtf8());
|
||||||
if(tagref.file()==NULL) { // Take another look with ID3Lib
|
if(tagref.file()==NULL) { // Take another look with ID3Lib
|
||||||
ID3_Frame *frame=NULL;
|
ID3_Frame *frame=NULL;
|
||||||
ID3_Tag id3_tag(wave_file.name().toUtf8());
|
ID3_Tag id3_tag(wave_file_name.toUtf8());
|
||||||
if((frame=id3_tag.Find(ID3FID_USERTEXT,ID3FN_DESCRIPTION,"rdxl"))!=NULL) {
|
if((frame=id3_tag.Find(ID3FID_USERTEXT,ID3FN_DESCRIPTION,"rdxl"))!=NULL) {
|
||||||
rdxl_contents=ID3_GetString(frame,ID3FN_TEXT);
|
rdxl_contents=ID3_GetString(frame,ID3FN_TEXT);
|
||||||
if(wave_data!=NULL) {
|
if(wave_data!=NULL) {
|
||||||
@ -3516,7 +3517,7 @@ void RDWaveFile::ReadId3Metadata()
|
|||||||
if(name==QString::fromUtf8("牤硬")) { // Mangled RD v2.x RDXL Frame
|
if(name==QString::fromUtf8("牤硬")) { // Mangled RD v2.x RDXL Frame
|
||||||
using_rdxl=true;
|
using_rdxl=true;
|
||||||
ID3_Frame *frame=NULL;
|
ID3_Frame *frame=NULL;
|
||||||
ID3_Tag id3_tag(wave_file.name().toUtf8());
|
ID3_Tag id3_tag(wave_file_name.toUtf8());
|
||||||
if((frame=id3_tag.Find(ID3FID_USERTEXT,ID3FN_DESCRIPTION,"rdxl"))!=NULL) {
|
if((frame=id3_tag.Find(ID3FID_USERTEXT,ID3FN_DESCRIPTION,"rdxl"))!=NULL) {
|
||||||
rdxl_contents=ID3_GetString(frame,ID3FN_TEXT);
|
rdxl_contents=ID3_GetString(frame,ID3FN_TEXT);
|
||||||
if(wave_data!=NULL) {
|
if(wave_data!=NULL) {
|
||||||
@ -4178,7 +4179,7 @@ bool RDWaveFile::GetFlacStreamInfo()
|
|||||||
{
|
{
|
||||||
#if HAVE_FLAC
|
#if HAVE_FLAC
|
||||||
FLAC__StreamMetadata sinfo;
|
FLAC__StreamMetadata sinfo;
|
||||||
if(!FLAC__metadata_get_streaminfo(Q3CString().sprintf("%s",(const char *)wave_file.name().utf8()),&sinfo)) {
|
if(!FLAC__metadata_get_streaminfo(Q3CString().sprintf("%s",(const char *)wave_file_name.utf8()),&sinfo)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
samples_per_sec=sinfo.data.stream_info.sample_rate;
|
samples_per_sec=sinfo.data.stream_info.sample_rate;
|
||||||
@ -4201,7 +4202,7 @@ void RDWaveFile::ReadFlacMetadata()
|
|||||||
QString composer;
|
QString composer;
|
||||||
FLAC__StreamMetadata* tags;
|
FLAC__StreamMetadata* tags;
|
||||||
if(!FLAC__metadata_get_tags(Q3CString().
|
if(!FLAC__metadata_get_tags(Q3CString().
|
||||||
sprintf("%s",(const char *)wave_file.name().utf8()),&tags)) {
|
sprintf("%s",(const char *)wave_file_name.utf8()),&tags)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for(unsigned iCommentIndex=0;
|
for(unsigned iCommentIndex=0;
|
||||||
@ -4654,7 +4655,7 @@ void RDWaveFile::GetEnergy()
|
|||||||
{
|
{
|
||||||
int file_ptr;
|
int file_ptr;
|
||||||
|
|
||||||
ReadEnergyFile(wave_file.name());
|
ReadEnergyFile(wave_file_name);
|
||||||
|
|
||||||
if(!levl_chunk) {
|
if(!levl_chunk) {
|
||||||
GetLevl(wave_file.handle());
|
GetLevl(wave_file.handle());
|
||||||
|
@ -1076,6 +1076,7 @@ class RDWaveFile
|
|||||||
#endif // HAVE_VORBIS
|
#endif // HAVE_VORBIS
|
||||||
int WriteOggBuffer(char *buf,int size);
|
int WriteOggBuffer(char *buf,int size);
|
||||||
unsigned FrameOffset(int msecs) const;
|
unsigned FrameOffset(int msecs) const;
|
||||||
|
QString wave_file_name;
|
||||||
QFile wave_file;
|
QFile wave_file;
|
||||||
RDWaveData *wave_data;
|
RDWaveData *wave_data;
|
||||||
bool recordable; // Allow DATA chunk writes?
|
bool recordable; // Allow DATA chunk writes?
|
||||||
|
Loading…
x
Reference in New Issue
Block a user