mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-09 16:13:49 +02:00
2016-07-13 Fred Gleason <fredg@paravelsystems.com>
* Implemented storage of RDXML data structures within a 'rdxl' user defined information frame in ID3 tags 'lib/rdwavefile.cpp' and 'lib/rdaudio_convert.cpp'.
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
#include <rd.h>
|
||||
#include <rdaudioconvert.h>
|
||||
#include <rdlibrary_conf.h>
|
||||
#include <rdcart.h>
|
||||
#include <rdconf.h>
|
||||
|
||||
#define STAGE2_XFER_SIZE 2048
|
||||
@@ -1918,6 +1919,11 @@ void RDAudioConvert::ApplyId3Tag(const QString &filename,RDWaveData *wavedata)
|
||||
frame->GetField(ID3FN_TEXT)->Set(wavedata->publisher());
|
||||
tag->AddNewFrame(frame);
|
||||
}
|
||||
if(!wavedata->conductor().isEmpty()) {
|
||||
frame=new ID3_Frame(ID3FID_CONDUCTOR);
|
||||
frame->GetField(ID3FN_TEXT)->Set(wavedata->conductor());
|
||||
tag->AddNewFrame(frame);
|
||||
}
|
||||
if(!wavedata->isrc().isEmpty()) {
|
||||
frame=new ID3_Frame(ID3FID_ISRC);
|
||||
frame->GetField(ID3FN_TEXT)->Set(wavedata->isrc());
|
||||
@@ -1929,6 +1935,16 @@ void RDAudioConvert::ApplyId3Tag(const QString &filename,RDWaveData *wavedata)
|
||||
Set(QString().sprintf("%d",wavedata->releaseYear()));
|
||||
tag->AddNewFrame(frame);
|
||||
}
|
||||
RDCart *cart=new RDCart(wavedata->cartNumber());
|
||||
if(cart->exists()) {
|
||||
QString xml=cart->xml(true,conv_settings,wavedata->cutNumber());
|
||||
frame=new ID3_Frame(ID3FID_USERTEXT);
|
||||
frame->GetField(ID3FN_DESCRIPTION)->Set("rdxl");
|
||||
frame->GetField(ID3FN_TEXTENC)->Set(ID3TE_NONE);
|
||||
frame->GetField(ID3FN_TEXT)->Set(xml);
|
||||
tag->AddNewFrame(frame);
|
||||
delete cart;
|
||||
}
|
||||
tag->Update();
|
||||
delete tag;
|
||||
}
|
||||
|
Reference in New Issue
Block a user