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> 2020-02-05 Fred Gleason <fredg@paravelsystems.com>
* Added support for the '%wi', '%wm' and '%wr' wildcards to * Added support for the '%wi', '%wm' and '%wr' wildcards to
the '--metadata-pattern=' switch in rdexport(1). 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') string=string.replace('%V','0')
else: else:
string=string.replace('%V',str(int(secs)//1000)) 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('wm','recordingMbId',string,esc)
string=self.__replaceWildcardPair('wr','releaseMbId',string,esc) string=self.__replaceWildcardPair('wr','releaseMbId',string,esc)
string=self.__replaceWildcardPair('x','lineId',string,esc) # Log Line ID string=self.__replaceWildcardPair('x','lineId',string,esc) # Log Line ID

View File

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

View File

@ -425,6 +425,13 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><userinput>%wc</userinput></term>
<listitem>
<para>Industry Standard Commercial Identification [ISCI] Code</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><userinput>%wi</userinput></term> <term><userinput>%wi</userinput></term>
<listitem> <listitem>
@ -711,6 +718,13 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><userinput>isci</userinput></term>
<listitem>
<para>Industry Standard Commercial Identification [ISCI] Code</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><userinput>isrc</userinput></term> <term><userinput>isrc</userinput></term>
<listitem> <listitem>
@ -937,10 +951,6 @@
<refsect1 id='see_also'><title>See Also</title> <refsect1 id='see_also'><title>See Also</title>
<para> <para>
<citerefentry>
<refentrytitle>rdimport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>
<literal>,</literal>
<citerefentry> <citerefentry>
<refentrytitle>rdexport</refentrytitle><manvolnum>1</manvolnum> <refentrytitle>rdexport</refentrytitle><manvolnum>1</manvolnum>
</citerefentry> </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>%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>%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>%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>%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>%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> <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("%t",title());
pattern.replace("%u",userDefined()); pattern.replace("%u",userDefined());
pattern.replace("%v",QString().sprintf("%d",effectiveLength()/1000)); pattern.replace("%v",QString().sprintf("%d",effectiveLength()/1000));
pattern.replace("%wc",isci());
pattern.replace("%wi",isrc()); pattern.replace("%wi",isrc());
pattern.replace("%wm",recordingMbId()); pattern.replace("%wm",recordingMbId());
pattern.replace("%wr",releaseMbId()); pattern.replace("%wr",releaseMbId());

View File

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

View File

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