mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-13 15:17:44 +02:00
2019-03-06 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDWaveData::validateMarkers()' method. * Added an 'RDWaveData::validateDateTime()' method. * Removed the 'RDWaveData::checkDateTimes()' method.
This commit is contained in:
parent
b2c1e70d9b
commit
d024d27474
@ -18516,3 +18516,7 @@
|
||||
* Incremented the database version to 307.
|
||||
2019-03-01 Patrick Linstruth <patrick@deltecent.com>
|
||||
* Updated schema map for version 3.0 to database version 307.
|
||||
2019-03-06 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added an 'RDWaveData::validateMarkers()' method.
|
||||
* Added an 'RDWaveData::validateDateTime()' method.
|
||||
* Removed the 'RDWaveData::checkDateTimes()' method.
|
||||
|
@ -945,21 +945,141 @@ void RDWaveData::setPlayGain(int lvl)
|
||||
}
|
||||
|
||||
|
||||
bool RDWaveData::checkDateTimes()
|
||||
bool RDWaveData::validateMarkers(int msec)
|
||||
{
|
||||
int len=msec;
|
||||
bool modified=false;
|
||||
|
||||
if(len<0) {
|
||||
len=length();
|
||||
}
|
||||
|
||||
//
|
||||
// Start/End Markers
|
||||
//
|
||||
if(startPos()<0) {
|
||||
setStartPos(0);
|
||||
modified=true;
|
||||
}
|
||||
if((endPos()<0)||(endPos()>len)) {
|
||||
setEndPos(len);
|
||||
modified=true;
|
||||
}
|
||||
if(startPos()>endPos()) {
|
||||
setStartPos(0);
|
||||
setEndPos(len);
|
||||
modified=true;
|
||||
}
|
||||
|
||||
//
|
||||
// Talk Markers
|
||||
//
|
||||
if((introStartPos()==startPos())&&(introEndPos()==endPos())) {
|
||||
setIntroStartPos(-1);
|
||||
setIntroEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
if((introStartPos()<0)||(introEndPos()<0)||(introStartPos()>introEndPos())) {
|
||||
setIntroStartPos(-1);
|
||||
setIntroEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
else {
|
||||
if(introEndPos()>endPos()) {
|
||||
setIntroEndPos(endPos());
|
||||
modified=true;
|
||||
}
|
||||
if(introStartPos()>endPos()) {
|
||||
setIntroStartPos(-1);
|
||||
setIntroEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Segue Markers
|
||||
//
|
||||
if((segueStartPos()==startPos())&&(segueEndPos()==endPos())) {
|
||||
setSegueStartPos(-1);
|
||||
setSegueEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
if((segueStartPos()<0)||(segueEndPos()<0)||(segueStartPos()>segueEndPos())) {
|
||||
setSegueStartPos(-1);
|
||||
setSegueEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
else {
|
||||
if(segueEndPos()>endPos()) {
|
||||
setSegueEndPos(endPos());
|
||||
modified=true;
|
||||
}
|
||||
if(segueStartPos()>endPos()) {
|
||||
setSegueStartPos(-1);
|
||||
setSegueEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Hook Markers
|
||||
//
|
||||
if((hookStartPos()<0)||(hookEndPos()<0)||(hookStartPos()>hookEndPos())) {
|
||||
setHookStartPos(-1);
|
||||
setHookEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
else {
|
||||
if(hookEndPos()>endPos()) {
|
||||
setHookEndPos(endPos());
|
||||
modified=true;
|
||||
}
|
||||
if(hookStartPos()>endPos()) {
|
||||
setHookStartPos(-1);
|
||||
setHookEndPos(-1);
|
||||
modified=true;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// FadeUp Marker
|
||||
//
|
||||
if(fadeUpPos()>=0) {
|
||||
if(fadeUpPos()>endPos()) {
|
||||
setFadeUpPos(endPos());
|
||||
modified=true;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// FadeDown Marker
|
||||
//
|
||||
if(fadeDownPos()>=0) {
|
||||
if(fadeDownPos()>endPos()) {
|
||||
setFadeDownPos(endPos());
|
||||
modified=true;
|
||||
}
|
||||
}
|
||||
|
||||
return modified;
|
||||
}
|
||||
|
||||
|
||||
bool RDWaveData::validateDateTimes()
|
||||
{
|
||||
if(data_datetime_set) {
|
||||
if(startDateTime()<endDateTime()) {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
setStartDate(QDate());
|
||||
setEndDate(QDate());
|
||||
setStartTime(QTime());
|
||||
setEndTime(QTime());
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
@ -187,7 +187,8 @@ class RDWaveData
|
||||
void setAudioSettings(const RDSettings &settings);
|
||||
int playGain() const;
|
||||
void setPlayGain(int lvl);
|
||||
bool checkDateTimes();
|
||||
bool validateMarkers(int msec=-1);
|
||||
bool validateDateTimes();
|
||||
QString dump() const;
|
||||
void clear();
|
||||
static QString endTypeText(EndType type);
|
||||
|
@ -1034,7 +1034,7 @@ MainObject::Result MainObject::ImportFile(const QString &filename,
|
||||
QString groupname=effective_group->name();
|
||||
found_cart=RunPattern(import_metadata_pattern,RDGetBasePart(filename),
|
||||
wavedata,&groupname);
|
||||
if(!wavedata->checkDateTimes()) {
|
||||
if(wavedata->validateDateTimes()) {
|
||||
Log(RDConfig::LogErr,QString().sprintf(
|
||||
" File \"%s\": End date/time cannot be prior to start date/time, ignoring...\n",
|
||||
(const char *)filename.utf8()));
|
||||
|
Loading…
x
Reference in New Issue
Block a user