2014-12-01 Fred Gleason <fredg@paravelsystems.com>

* Fixed a bug in 'utils/rdimport/rdimport.cpp' that failed to
	apply automatic segues correctly when the audio store was not
	locally accessible.
	* Fixed a bug in 'utils/rdimport/rdimport.cpp' that caused the
	value of the '--segue-level' options to be wrong by a factor of
	100.
	* Refactored the 'RDCut::autoSegue()' method to fetch trim data
	via 'RDTrimAudio'.
	* Added language in the rdimport(1) man page to resolve ambiguity
	regarding how the --segue-level location is dteremined when
	normalization is specified.
This commit is contained in:
Fred Gleason
2014-12-01 17:50:54 -05:00
parent 9e75d1c7da
commit f8d2a7905c
5 changed files with 41 additions and 20 deletions

View File

@@ -40,6 +40,7 @@
#include <rdescape_string.h>
#include <rdweb.h>
#include <rdcopyaudio.h>
#include <rdtrimaudio.h>
//
// Global Classes
@@ -1295,11 +1296,12 @@ void RDCut::autoTrim(RDCut::AudioEnd end,int level)
}
void RDCut::autoSegue(int level,int length)
void RDCut::autoSegue(int level,int length,RDStation *station,RDUser *user,
RDConfig *config)
{
#ifndef WIN32
int point;
int start_point;
// int start_point;
if(!exists()) {
return;
@@ -1311,17 +1313,23 @@ void RDCut::autoSegue(int level,int length)
return;
}
if(level<0) {
if((point=wave->endTrim(+REFERENCE_LEVEL-level))>-1) {
start_point=(int)(1000.0*(double)point/(double)wave->getSamplesPerSec());
setSegueStartPoint(start_point);
if(length>0 && (start_point+length)<endPoint()){
setSegueEndPoint(start_point+length);
}
else {
setSegueEndPoint(endPoint());
}
RDTrimAudio *trim=new RDTrimAudio(station,config);
trim->setCartNumber(cart_number);
trim->setCutNumber(cut_number);
trim->setTrimLevel(level);
if(trim->runTrim(user->name(),user->password())==RDTrimAudio::ErrorOk) {
if((point=trim->endPoint())>=0) {
setSegueStartPoint(trim->endPoint());
if(length>0 && (trim->endPoint()+length)<endPoint()){
setSegueEndPoint(trim->endPoint()+length);
}
else {
setSegueEndPoint(endPoint());
}
}
}
delete trim;
}
else {
if(length>0) {
if((endPoint()-length)>startPoint()){