2017-10-16 Fred Gleason <fredg@paravelsystems.com>

* Implemented '%k', '%K', '%q' and '%Q' metadata wildcards for
	rdimport(1).
This commit is contained in:
Fred Gleason
2017-10-16 14:21:51 -04:00
parent 9a5db7b408
commit 1dade3e38e
6 changed files with 188 additions and 64 deletions

View File

@@ -806,6 +806,7 @@ QDate RDWaveData::startDate() const
void RDWaveData::setStartDate(const QDate &date)
{
data_start_date=date;
data_datetime_set=true;
}
@@ -818,6 +819,13 @@ QTime RDWaveData::startTime() const
void RDWaveData::setStartTime(const QTime &time)
{
data_start_time=time;
data_datetime_set=true;
}
QDateTime RDWaveData::startDateTime() const
{
return QDateTime(data_start_date,data_start_time);
}
@@ -854,6 +862,7 @@ QDate RDWaveData::endDate() const
void RDWaveData::setEndDate(const QDate &date)
{
data_end_date=date;
data_datetime_set=true;
}
@@ -866,6 +875,13 @@ QTime RDWaveData::endTime() const
void RDWaveData::setEndTime(const QTime &time)
{
data_end_time=time;
data_datetime_set=true;
}
QDateTime RDWaveData::endDateTime() const
{
return QDateTime(data_end_date,data_end_time);
}
@@ -929,6 +945,24 @@ void RDWaveData::setPlayGain(int lvl)
}
bool RDWaveData::checkDateTimes()
{
if(data_datetime_set) {
if(startDateTime()<endDateTime()) {
return true;
}
else {
setStartDate(QDate());
setEndDate(QDate());
setStartTime(QTime());
setEndTime(QTime());
return false;
}
}
return true;
}
QString RDWaveData::dump() const
{
QString ret="";
@@ -1072,6 +1106,7 @@ QString RDWaveData::dump() const
void RDWaveData::clear()
{
data_metadata_found=false;
data_datetime_set=false;
data_cart_number=0;
data_cart_type=RDWaveData::AudioType;
data_cut_number=0;

View File

@@ -105,7 +105,6 @@ class RDWaveData
void setOutCue(const QString &str);
RDWaveData::EndType endType() const;
void setEndType(RDWaveData::EndType type);
int forcedLength() const;
void setForcedLength(int msecs);
int averageLength() const;
@@ -132,7 +131,6 @@ class RDWaveData
void setOwner(const QString &str);
QDateTime metadataDatetime() const;
void setMetadataDatetime(const QDateTime &dt);
bool dayOfWeek(int dow) const;
void setDayOfWeek(int dow,bool state);
int weight() const;
@@ -173,10 +171,12 @@ class RDWaveData
void setStartDate(const QDate &date);
QTime startTime() const;
void setStartTime(const QTime &time);
QDateTime startDateTime() const;
QDate endDate() const;
void setEndDate(const QDate &date);
QTime endTime() const;
void setEndTime(const QTime &time);
QDateTime endDateTime() const;
QTime daypartStartTime() const;
void setDaypartStartTime(const QTime &time);
QTime daypartEndTime() const;
@@ -187,6 +187,7 @@ class RDWaveData
void setAudioSettings(const RDSettings &settings);
int playGain() const;
void setPlayGain(int lvl);
bool checkDateTimes();
QString dump() const;
void clear();
static QString endTypeText(EndType type);
@@ -195,6 +196,7 @@ class RDWaveData
private:
bool data_metadata_found;
bool data_datetime_set;
unsigned data_cart_number;
CartType data_cart_type;
int data_cut_number;