2014-10-25 Fred Gleason <fredg@paravelsystems.com>

* Implemented '--set-marker-fadedown=' and '--set-marker-fadeup*='
	options for rdimport(1) in 'utils/rdimport/markerset.cpp',,
	'utils/rdimport/markerset.h', 'utils/rdimport/rdimport.cpp' and
	'utils/rdimport/rdimport.h'.
This commit is contained in:
Fred Gleason
2014-10-25 18:42:18 -04:00
parent 42d3bb430a
commit 1afd09366c
6 changed files with 103 additions and 8 deletions

View File

@@ -29,6 +29,8 @@ MarkerSet::MarkerSet()
marker_start_value=0;
marker_end_valid=false;
marker_end_value=0;
marker_fade_valid=false;
marker_fade_value=0;
marker_audio_length=0;
}
@@ -41,7 +43,7 @@ bool MarkerSet::hasStartValue() const
int MarkerSet::startValue(int lo_limit,int hi_limit) const
{
return LimitCheck(marker_start_value,lo_limit,hi_limit);
return LimitCheck(FrontReference(marker_start_value),lo_limit,hi_limit);
}
@@ -53,11 +55,23 @@ bool MarkerSet::hasEndValue() const
int MarkerSet::endValue(int lo_limit,int hi_limit) const
{
return LimitCheck(marker_end_value,lo_limit,hi_limit);
return LimitCheck(FrontReference(marker_end_value),lo_limit,hi_limit);
}
void MarkerSet::load(RDCmdSwitch *cmd,const QString &marker)
bool MarkerSet::hasFadeValue() const
{
return marker_fade_valid;
}
int MarkerSet::fadeValue(int lo_limit,int hi_limit) const
{
return LimitCheck(FrontReference(marker_fade_value),lo_limit,hi_limit);
}
void MarkerSet::loadMarker(RDCmdSwitch *cmd,const QString &marker)
{
QString start_key="--set-marker-start-"+marker;
QString end_key="--set-marker-end-"+marker;
@@ -89,6 +103,24 @@ void MarkerSet::load(RDCmdSwitch *cmd,const QString &marker)
}
void MarkerSet::loadFade(RDCmdSwitch *cmd,const QString &marker)
{
QString key="--set-marker-"+marker;
marker_marker=marker;
for(unsigned i=0;i<cmd->keys();i++) {
if(cmd->key(i)==key) {
marker_fade_value=cmd->value(i).toInt(&marker_fade_valid);
if(!marker_fade_valid) {
fprintf(stderr,"rdimport: invalid argment to %s\n",
(const char *)key);
exit(255);
}
cmd->setProcessed(i,true);
}
}
}
void MarkerSet::setAudioLength(int msecs)
{
if(marker_start_valid&&(!marker_end_valid)) {

View File

@@ -31,7 +31,10 @@ class MarkerSet
int startValue(int lo_limit=-1,int hi_limit=-1) const;
bool hasEndValue() const;
int endValue(int lo_limit=-1,int hi_limit=-1) const;
void load(RDCmdSwitch *cmd,const QString &marker);
bool hasFadeValue() const;
int fadeValue(int lo_limit=-1,int hi_limit=-1) const;
void loadMarker(RDCmdSwitch *cmd,const QString &marker);
void loadFade(RDCmdSwitch *cmd,const QString &marker);
void setAudioLength(int msecs);
void dump();
@@ -43,6 +46,8 @@ class MarkerSet
int marker_start_value;
bool marker_end_valid;
int marker_end_value;
bool marker_fade_valid;
int marker_fade_value;
int marker_audio_length;
};

View File

@@ -247,13 +247,17 @@ MainObject::MainObject(QObject *parent,const char *name)
}
}
import_cut_markers=new MarkerSet();
import_cut_markers->load(import_cmd,"cut");
import_cut_markers->loadMarker(import_cmd,"cut");
import_talk_markers=new MarkerSet();
import_talk_markers->load(import_cmd,"talk");
import_talk_markers->loadMarker(import_cmd,"talk");
import_hook_markers=new MarkerSet();
import_hook_markers->load(import_cmd,"hook");
import_hook_markers->loadMarker(import_cmd,"hook");
import_segue_markers=new MarkerSet();
import_segue_markers->load(import_cmd,"segue");
import_segue_markers->loadMarker(import_cmd,"segue");
import_fadedown_marker=new MarkerSet();
import_fadedown_marker->loadFade(import_cmd,"fadedown");
import_fadeup_marker=new MarkerSet();
import_fadeup_marker->loadFade(import_cmd,"fadeup");
//
// Read Configuration
@@ -520,6 +524,8 @@ MainObject::MainObject(QObject *parent,const char *name)
import_talk_markers->dump();
import_hook_markers->dump();
import_segue_markers->dump();
import_fadedown_marker->dump();
import_fadeup_marker->dump();
printf(" Files to process:\n");
for(unsigned i=import_file_key;i<import_cmd->keys();i++) {
printf(" \"%s\"\n",(const char *)import_cmd->key(i));
@@ -1041,6 +1047,14 @@ MainObject::Result MainObject::ImportFile(const QString &filename,
cut->setSegueStartPoint(import_segue_markers->startValue(lo,hi));
cut->setSegueEndPoint(import_segue_markers->endValue(lo,hi));
}
import_fadedown_marker->setAudioLength(wavefile->getExtTimeLength());
if(import_fadedown_marker->hasFadeValue()) {
cut->setFadedownPoint(import_fadedown_marker->fadeValue(lo,hi));
}
import_fadeup_marker->setAudioLength(wavefile->getExtTimeLength());
if(import_fadeup_marker->hasFadeValue()) {
cut->setFadeupPoint(import_fadeup_marker->fadeValue(lo,hi));
}
delete settings;
delete conv;
delete cut;

View File

@@ -133,6 +133,8 @@ class MainObject : public QObject
MarkerSet *import_talk_markers;
MarkerSet *import_hook_markers;
MarkerSet *import_segue_markers;
MarkerSet *import_fadedown_marker;
MarkerSet *import_fadeup_marker;
};