2022-03-22 Fred Gleason <fredg@paravelsystems.com>

* Modified rdimport(1) to allow the '--by-isci' option to take
	a service name option.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2022-03-22 16:30:08 -04:00
parent 85faf123ed
commit 4c45d63f5a
4 changed files with 33 additions and 9 deletions

View File

@ -20867,3 +20867,6 @@
* Incremented the package version to 3.6.5.
2022-03-22 Fred Gleason <fredg@paravelsystems.com>
* Added '--by-isci' and '--dump-isci-xref' options to rdimport(1).
2022-03-22 Fred Gleason <fredg@paravelsystems.com>
* Modified rdimport(1) to allow the '--by-isci' option to take
a service name option.

View File

@ -82,15 +82,19 @@
<varlistentry>
<term>
<option>--by-isci</option>
<option>--by-isci</option>[=<replaceable>service-name</replaceable>]
</term>
<listitem>
<para>
Determine the target cart number by looking it up in the ISCI
cross-reference table, using the ISCI code provided by the
<option>--set-string-isci</option> or
<option>--metadata-pattern</option> options. Useful for
importing sets of copy-split audio.
<option>--metadata-pattern</option> options. If
<replaceable>service-name</replaceable> is given, prepend the
Program Code for the specified service followed by an underscore
to the ISCI code when doing the cart number lookup in the ISCI
cross-reference table. Useful for importing sets of copy-split
audio.
</para>
<para>
This option is mutually exclusive with the

View File

@ -103,6 +103,7 @@ MainObject::MainObject(QObject *parent)
import_mail_per_file=false;
import_journal=NULL;
import_dump_isci_xref=false;
import_by_isci_program_code="";
import_by_isci=false;
//
@ -181,6 +182,16 @@ MainObject::MainObject(QObject *parent)
}
if(rda->cmdSwitch()->key(i)=="--by-isci") {
import_by_isci=true;
if(!rda->cmdSwitch()->value(i).isEmpty()) {
RDSvc *svc=new RDSvc(rda->cmdSwitch()->value(i),
rda->station(),rda->config(),this);
if(!svc->exists()) {
Log(LOG_ERR,QString("rdimport: no such service\n"));
ErrorExit(RDApplication::ExitNoSvc);
}
import_by_isci_program_code=svc->programCode();
delete svc;
}
rda->cmdSwitch()->setProcessed(i,true);
}
if(rda->cmdSwitch()->key(i)=="--startdate-offset") {
@ -488,6 +499,10 @@ MainObject::MainObject(QObject *parent)
Log(LOG_ERR,QString().sprintf("rdimport: --log-filename and --log-syslog are mutually exclusive\n"));
ErrorExit(RDApplication::ExitInvalidOption);
}
if((import_cart_number>0)&&import_by_isci) {
Log(LOG_ERR,QString().sprintf("rdimport: --to-cart and --by-isci are mutually exclusive\n"));
ErrorExit(RDApplication::ExitInvalidOption);
}
import_cut_markers=new MarkerSet();
import_cut_markers->loadMarker(rda->cmdSwitch(),"cut");
@ -1161,7 +1176,10 @@ MainObject::Result MainObject::ImportFile(const QString &filename,
delete effective_group;
return MainObject::FileBad;
}
}
}
if(!import_by_isci_program_code.isEmpty()) {
isci=import_by_isci_program_code+"_"+isci;
}
RDWaveData *wd=import_isci_xref.value(isci,NULL);
if(wd==NULL) {
*cartnum=0;
@ -1198,8 +1216,6 @@ MainObject::Result MainObject::ImportFile(const QString &filename,
if(import_string_title.isEmpty()) {
wavedata->setTitle(import_isci_xref.value(isci)->title());
}
printf("ISCI: %s\n",isci.toUtf8().constData());
printf("CARTNUM: %06u\n",*cartnum);
}
else {
//

View File

@ -37,6 +37,7 @@
#include <rdcut.h>
#include <rdgroup.h>
#include <rdnotification.h>
#include <rdsvc.h>
#include <rdwavedata.h>
#include <rdwavefile.h>
@ -123,8 +124,6 @@ class MainObject : public QObject
int import_segue_length;
bool import_send_mail;
bool import_mail_per_file;
bool import_dump_isci_xref;
bool import_by_isci;
unsigned import_cart_number;
QString import_metadata_pattern;
QString import_output_pattern;
@ -164,8 +163,10 @@ class MainObject : public QObject
MarkerSet *import_fadedown_marker;
MarkerSet *import_fadeup_marker;
Journal *import_journal;
// QMap<QString,unsigned> import_isci_xref;
QMap<QString,RDWaveData *> import_isci_xref;
bool import_dump_isci_xref;
bool import_by_isci;
QString import_by_isci_program_code;
};