mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-11 00:53:53 +02:00
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:
@@ -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)) {
|
||||
|
@@ -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;
|
||||
};
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user