mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-20 06:58:01 +02:00
2021-04-05 Fred Gleason <fredg@paravelsystems.com>
* Fixed bugs in 'RDCart::setMetadata()' that could throw SQL errors due to over-length text strings. * Fixed bugs in 'RDCut::setMetadata()' that could throw SQL errors due to over-length text strings. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
9fb8606295
commit
348a8c0e29
@ -21383,3 +21383,8 @@
|
||||
* Added code to print the value of the detected CartChunk CutID
|
||||
when using both the '--use-cartchunk-cutid' and '--verbose' flags
|
||||
in rdimport(1).
|
||||
2021-04-05 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Fixed bugs in 'RDCart::setMetadata()' that could throw SQL errors
|
||||
due to over-length text strings.
|
||||
* Fixed bugs in 'RDCut::setMetadata()' that could throw SQL errors
|
||||
due to over-length text strings.
|
||||
|
@ -943,40 +943,44 @@ void RDCart::setMetadata(const RDWaveData *data)
|
||||
{
|
||||
QString sql="update CART set ";
|
||||
if(!data->title().isEmpty()) {
|
||||
sql+=QString("TITLE=\"")+RDEscapeString(data->title())+"\",";
|
||||
sql+=QString("TITLE=\"")+RDEscapeString(data->title().left(191))+"\",";
|
||||
}
|
||||
if(!data->artist().isEmpty()) {
|
||||
sql+=QString("ARTIST=\"")+RDEscapeString(data->artist())+"\",";
|
||||
sql+=QString("ARTIST=\"")+RDEscapeString(data->artist().left(191))+"\",";
|
||||
}
|
||||
if(!data->album().isEmpty()) {
|
||||
sql+=QString("ALBUM=\"")+RDEscapeString(data->album())+"\",";
|
||||
sql+=QString("ALBUM=\"")+RDEscapeString(data->album().left(191))+"\",";
|
||||
}
|
||||
if(data->releaseYear()>0) {
|
||||
sql+=QString().sprintf("YEAR=\"%04d-01-01\",",data->releaseYear());
|
||||
}
|
||||
if(!data->label().isEmpty()) {
|
||||
sql+=QString("LABEL=\"")+RDEscapeString(data->label())+"\",";
|
||||
sql+=QString("LABEL=\"")+RDEscapeString(data->label().left(64))+"\",";
|
||||
}
|
||||
if(!data->conductor().isEmpty()) {
|
||||
sql+=QString("CONDUCTOR=\"")+RDEscapeString(data->conductor())+"\",";
|
||||
sql+=QString("CONDUCTOR=\"")+RDEscapeString(data->conductor().left(64))+
|
||||
"\",";
|
||||
}
|
||||
if(!data->client().isEmpty()) {
|
||||
sql+=QString("CLIENT=\"")+RDEscapeString(data->client())+"\",";
|
||||
sql+=QString("CLIENT=\"")+RDEscapeString(data->client().left(64))+"\",";
|
||||
}
|
||||
if(!data->agency().isEmpty()) {
|
||||
sql+=QString("AGENCY=\"")+RDEscapeString(data->agency())+"\",";
|
||||
sql+=QString("AGENCY=\"")+RDEscapeString(data->agency().left(64))+"\",";
|
||||
}
|
||||
if(!data->publisher().isEmpty()) {
|
||||
sql+=QString("PUBLISHER=\"")+RDEscapeString(data->publisher())+"\",";
|
||||
sql+=QString("PUBLISHER=\"")+RDEscapeString(data->publisher().left(64))+
|
||||
"\",";
|
||||
}
|
||||
if(!data->composer().isEmpty()) {
|
||||
sql+=QString("COMPOSER=\"")+RDEscapeString(data->composer())+"\",";
|
||||
sql+=QString("COMPOSER=\"")+RDEscapeString(data->composer().left(64))+"\",";
|
||||
}
|
||||
if(!data->userDefined().isEmpty()) {
|
||||
sql+=QString("USER_DEFINED=\"")+RDEscapeString(data->userDefined())+"\",";
|
||||
sql+=QString("USER_DEFINED=\"")+
|
||||
RDEscapeString(data->userDefined().left(191))+"\",";
|
||||
}
|
||||
if(!data->tmciSongId().isEmpty()) {
|
||||
sql+=QString("SONG_ID=\"")+RDEscapeString(data->tmciSongId())+"\",";
|
||||
sql+=QString("SONG_ID=\"")+RDEscapeString(data->tmciSongId().left(32))+
|
||||
"\",";
|
||||
}
|
||||
if(data->beatsPerMinute()>0) {
|
||||
sql+=QString().sprintf("BPM=%u,",data->beatsPerMinute());
|
||||
|
@ -1087,10 +1087,11 @@ void RDCut::setMetadata(RDWaveData *data) const
|
||||
{
|
||||
QString sql="update CUTS set ";
|
||||
if(!data->description().isEmpty()) {
|
||||
sql+=QString("DESCRIPTION=\"")+RDEscapeString(data->description())+"\",";
|
||||
sql+=QString("DESCRIPTION=\"")+
|
||||
RDEscapeString(data->description().left(64))+"\",";
|
||||
}
|
||||
if(!data->outCue().isEmpty()) {
|
||||
sql+=QString("OUTCUE=\"")+RDEscapeString(data->outCue())+"\",";
|
||||
sql+=QString("OUTCUE=\"")+RDEscapeString(data->outCue().left(64))+"\",";
|
||||
}
|
||||
else {
|
||||
switch(data->endType()) {
|
||||
@ -1107,17 +1108,18 @@ void RDCut::setMetadata(RDWaveData *data) const
|
||||
}
|
||||
}
|
||||
if(!data->isrc().isEmpty()) {
|
||||
sql+=QString("ISRC=\"")+RDEscapeString(data->isrc())+"\",";
|
||||
sql+=QString("ISRC=\"")+RDEscapeString(data->isrc().left(12))+"\",";
|
||||
}
|
||||
if(!data->isci().isEmpty()) {
|
||||
sql+=QString("ISCI=\"")+RDEscapeString(data->isci())+"\",";
|
||||
sql+=QString("ISCI=\"")+RDEscapeString(data->isci().left(32))+"\",";
|
||||
}
|
||||
if(!data->recordingMbId().isEmpty()) {
|
||||
sql+=QString("RECORDING_MBID=\"")+
|
||||
RDEscapeString(data->recordingMbId())+"\",";
|
||||
RDEscapeString(data->recordingMbId().left(40))+"\",";
|
||||
}
|
||||
if(!data->releaseMbId().isEmpty()) {
|
||||
sql+=QString("RELEASE_MBID=\"")+RDEscapeString(data->releaseMbId())+"\",";
|
||||
sql+=QString("RELEASE_MBID=\"")+
|
||||
RDEscapeString(data->releaseMbId().left(40))+"\",";
|
||||
}
|
||||
if(data->startPos()>=0) {
|
||||
sql+=QString().sprintf("START_POINT=%d,",data->startPos());
|
||||
|
Loading…
x
Reference in New Issue
Block a user