2020-02-07 Fred Gleason <fredg@paravelsystems.com>

* Added a '%wc' ['Industry Standard Commercial Identification (ISCI)
	Code'] metadata wildcard.
	* Implemented the '%wc' metadata wildcard for PyPAD.
	* Added support for the '%wc' wildcards to the '--metadata-pattern='
	switch in rdimport(1).
	* Added '--set-string-isci' switch to rdimport(1).
	* Added support for the '%wc' wildcard to the '--metadata-pattern='
	switch in rdexport(1).
This commit is contained in:
Fred Gleason 2020-02-07 08:58:48 -05:00
parent 6eee8cb9d9
commit 0344db5fee
8 changed files with 50 additions and 4 deletions

View File

@ -19517,3 +19517,12 @@
2020-02-05 Fred Gleason <fredg@paravelsystems.com>
* Added support for the '%wi', '%wm' and '%wr' wildcards to
the '--metadata-pattern=' switch in rdexport(1).
2020-02-07 Fred Gleason <fredg@paravelsystems.com>
* Added a '%wc' ['Industry Standard Commercial Identification (ISCI)
Code'] metadata wildcard.
* Implemented the '%wc' metadata wildcard for PyPAD.
* Added support for the '%wc' wildcards to the '--metadata-pattern='
switch in rdimport(1).
* Added '--set-string-isci' switch to rdimport(1).
* Added support for the '%wc' wildcard to the '--metadata-pattern='
switch in rdexport(1).

View File

@ -401,6 +401,8 @@ class Update(object):
string=string.replace('%V','0')
else:
string=string.replace('%V',str(int(secs)//1000))
string=self.__replaceWildcardPair('wc','isci',string,esc)
string=self.__replaceWildcardPair('wi','isrc',string,esc)
string=self.__replaceWildcardPair('wm','recordingMbId',string,esc)
string=self.__replaceWildcardPair('wr','releaseMbId',string,esc)
string=self.__replaceWildcardPair('x','lineId',string,esc) # Log Line ID

View File

@ -345,6 +345,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%wc</userinput></term>
<listitem>
<para>Industry Standard Commercial Identification [ISCI] Code</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%wi</userinput></term>
<listitem>

View File

@ -425,6 +425,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%wc</userinput></term>
<listitem>
<para>Industry Standard Commercial Identification [ISCI] Code</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>%wi</userinput></term>
<listitem>
@ -711,6 +718,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>isci</userinput></term>
<listitem>
<para>Industry Standard Commercial Identification [ISCI] Code</para>
</listitem>
</varlistentry>
<varlistentry>
<term><userinput>isrc</userinput></term>
<listitem>
@ -937,10 +951,6 @@
<refsect1 id='see_also'><title>See Also</title>
<para>
<citerefentry>
<refentrytitle>rdimport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry>
<refentrytitle>rdexport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>

View File

@ -37,6 +37,7 @@
<row><entry><userinput>%t</userinput></entry><entry><userinput>%T</userinput></entry><entry>Title</entry></row>
<row><entry><userinput>%u</userinput></entry><entry><userinput>%U</userinput></entry><entry>User Definied</entry></row>
<row><entry><userinput>%v</userinput></entry><entry><userinput>%V</userinput></entry><entry>Event length (seconds, rounded down)</entry></row>
<row><entry><userinput>%wc</userinput></entry><entry><userinput>%WC</userinput></entry><entry>Industry Standard Commercial Identification (ISCI) Code</entry></row>
<row><entry><userinput>%wi</userinput></entry><entry><userinput>%WI</userinput></entry><entry>International Standard Recording Code</entry></row>
<row><entry><userinput>%wm</userinput></entry><entry><userinput>%Wm</userinput></entry><entry>MusicBrainz Recording ID</entry></row>
<row><entry><userinput>%wr</userinput></entry><entry><userinput>%Wr</userinput></entry><entry>MusicBrainz Release ID</entry></row>

View File

@ -1609,6 +1609,7 @@ QString RDLogLine::resolveWildcards(QString pattern,int log_id)
pattern.replace("%t",title());
pattern.replace("%u",userDefined());
pattern.replace("%v",QString().sprintf("%d",effectiveLength()/1000));
pattern.replace("%wc",isci());
pattern.replace("%wi",isrc());
pattern.replace("%wm",recordingMbId());
pattern.replace("%wr",releaseMbId());

View File

@ -382,6 +382,10 @@ MainObject::MainObject(QObject *parent)
import_string_outcue=rda->cmdSwitch()->value(i);
rda->cmdSwitch()->setProcessed(i,true);
}
if(rda->cmdSwitch()->key(i)=="--set-string-isci") {
import_string_isci=rda->cmdSwitch()->value(i);
rda->cmdSwitch()->setProcessed(i,true);
}
if(rda->cmdSwitch()->key(i)=="--set-string-isrc") {
if(RDDiscLookup::isrcIsValid(rda->cmdSwitch()->value(i))) {
import_string_isrc=rda->cmdSwitch()->value(i);
@ -742,6 +746,9 @@ MainObject::MainObject(QObject *parent)
if(!import_string_outcue.isNull()) {
Log(LOG_INFO,QString().sprintf(" Outcue set to: %s\n",(const char *)import_string_outcue));
}
if(!import_string_isci.isNull()) {
Log(LOG_INFO,QString().sprintf(" ISCI set to: %s\n",(const char *)import_string_isci));
}
if(!import_string_isrc.isNull()) {
Log(LOG_INFO,QString().sprintf(" ISRC set to: %s\n",(const char *)import_string_isrc));
}
@ -1242,6 +1249,9 @@ MainObject::Result MainObject::ImportFile(const QString &filename,
if(!import_string_outcue.isNull()) {
cut->setOutcue(import_string_outcue);
}
if(!import_string_isci.isNull()) {
cut->setIsci(import_string_isci);
}
if(!import_string_isrc.isNull()) {
cut->setIsrc(RDDiscLookup::normalizedIsrc(import_string_isrc));
}
@ -1801,6 +1811,11 @@ bool MainObject::RunPattern(const QString &pattern,const QString &filename,
case 'w':
switch(subfield.toAscii()) {
case 'c':
wavedata->setIsci(value);
wavedata->setMetadataFound(true);
break;
case 'i':
if(RDDiscLookup::isrcIsValid(value)) {
wavedata->setIsrc(RDDiscLookup::normalizedIsrc(value));

View File

@ -124,6 +124,7 @@ class MainObject : public QObject
QString import_string_description;
QString import_string_outcue;
QString import_string_isrc;
QString import_string_isci;
QString import_string_recording_mbid;
QString import_string_release_mbid;
QString import_string_publisher;