mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-09 14:33:28 +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.
|
||||
2019-05-02 Fred Gleason <fredg@paravelsystems.com>
|
||||
* 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
|
||||
//
|
||||
wave_file_name=file_name;
|
||||
wave_file.setName(file_name);
|
||||
wave_data=NULL;
|
||||
recordable=false;
|
||||
@ -213,6 +214,7 @@ void RDWaveFile::nameWave(QString file_name)
|
||||
return;
|
||||
}
|
||||
wave_file.setName(file_name);
|
||||
wave_file_name=file_name;
|
||||
}
|
||||
|
||||
|
||||
@ -226,13 +228,12 @@ bool RDWaveFile::openWave(RDWaveData *data)
|
||||
int fd=-1;
|
||||
|
||||
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;
|
||||
}
|
||||
if(!wave_file.open(fd,QIODevice::ReadOnly)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch(GetType(wave_file.handle())) {
|
||||
case RDWaveFile::Wave:
|
||||
if(GetFmt(wave_file.handle())) {
|
||||
@ -431,7 +432,7 @@ bool RDWaveFile::openWave(RDWaveData *data)
|
||||
data_chunk=true;
|
||||
format_chunk=true;
|
||||
wave_type=RDWaveFile::Ogg;
|
||||
ReadNormalizeLevel(wave_file.name());
|
||||
ReadNormalizeLevel(wave_file_name);
|
||||
ValidateMetadata();
|
||||
return true;
|
||||
#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.
|
||||
rc=wave_file.open(QIODevice::ReadWrite|QIODevice::Truncate);
|
||||
unlink((wave_file.name()+".energy").ascii());
|
||||
unlink((wave_file_name+".energy").ascii());
|
||||
umask(prev_mask);
|
||||
if(rc==false) {
|
||||
return false;
|
||||
@ -914,7 +915,7 @@ void RDWaveFile::resetWave()
|
||||
|
||||
QString RDWaveFile::getName() const
|
||||
{
|
||||
return wave_file.name();
|
||||
return wave_file_name;
|
||||
}
|
||||
|
||||
|
||||
@ -2443,7 +2444,7 @@ bool RDWaveFile::IsFlac(int fd)
|
||||
#ifdef HAVE_FLAC
|
||||
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);
|
||||
if(read(fd,buffer,4)!=4) {
|
||||
return false;
|
||||
@ -3489,10 +3490,10 @@ void RDWaveFile::ReadId3Metadata()
|
||||
return;
|
||||
}
|
||||
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
|
||||
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) {
|
||||
rdxl_contents=ID3_GetString(frame,ID3FN_TEXT);
|
||||
if(wave_data!=NULL) {
|
||||
@ -3516,7 +3517,7 @@ void RDWaveFile::ReadId3Metadata()
|
||||
if(name==QString::fromUtf8("牤硬")) { // Mangled RD v2.x RDXL Frame
|
||||
using_rdxl=true;
|
||||
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) {
|
||||
rdxl_contents=ID3_GetString(frame,ID3FN_TEXT);
|
||||
if(wave_data!=NULL) {
|
||||
@ -4178,7 +4179,7 @@ bool RDWaveFile::GetFlacStreamInfo()
|
||||
{
|
||||
#if HAVE_FLAC
|
||||
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;
|
||||
}
|
||||
samples_per_sec=sinfo.data.stream_info.sample_rate;
|
||||
@ -4201,7 +4202,7 @@ void RDWaveFile::ReadFlacMetadata()
|
||||
QString composer;
|
||||
FLAC__StreamMetadata* tags;
|
||||
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;
|
||||
}
|
||||
for(unsigned iCommentIndex=0;
|
||||
@ -4654,7 +4655,7 @@ void RDWaveFile::GetEnergy()
|
||||
{
|
||||
int file_ptr;
|
||||
|
||||
ReadEnergyFile(wave_file.name());
|
||||
ReadEnergyFile(wave_file_name);
|
||||
|
||||
if(!levl_chunk) {
|
||||
GetLevl(wave_file.handle());
|
||||
|
@ -1076,6 +1076,7 @@ class RDWaveFile
|
||||
#endif // HAVE_VORBIS
|
||||
int WriteOggBuffer(char *buf,int size);
|
||||
unsigned FrameOffset(int msecs) const;
|
||||
QString wave_file_name;
|
||||
QFile wave_file;
|
||||
RDWaveData *wave_data;
|
||||
bool recordable; // Allow DATA chunk writes?
|
||||
|
Loading…
x
Reference in New Issue
Block a user