--- Vago/trunk/Vago/soundWizard/soundpagefinal.cpp 2016/10/12 21:35:13 1054 +++ s10k/Vago/soundWizard/soundpagefinal.cpp 2017/12/30 13:57:32 1093 @@ -1,20 +1,19 @@ #include "soundpagefinal.h" #include "ui_soundpagefinal.h" -SoundPageFinal::SoundPageFinal(QString AppDir, QString soundsLocation, DropTableWidget *page2Table, Logger *myLogger, QHash *commandMap, QWidget *parent) : +SoundPageFinal::SoundPageFinal(QString AppDir, QString soundsLocation, DropTableWidget *page2Table, QHash *commandMap, QWidget *parent) : QWizardPage(parent), ui(new Ui::soundpagefinal) { ui->setupUi(this); this->soundsLocation=soundsLocation; this->page2Table=page2Table; - this->myLogger=myLogger; this->commandMap=commandMap; this->xmlCommands = new QStringList(); this->oniSplitCommands = new QStringList(); - this->myXmlProcessor = new XmlProcessor(AppDir, this->myLogger,this->xmlCommands); - this->myConverter = new Converter(AppDir, this->myLogger,this->oniSplitCommands); + this->myXmlProcessor = new XmlProcessor(AppDir, this->xmlCommands); + this->myConverter = new Converter(AppDir,this->oniSplitCommands); ui->lbComplete->setText("The wizard is now complete. The sounds have been converted. " "You can view all converted files clicking here.
" @@ -77,6 +76,11 @@ void SoundPageFinal::startProcessing(){ bool priorityLowImp = false, priorityNormalImp = false, priorityHighImp = false, priorityHighestImp = false; + // Create temp folder if it doesn't exist + if(!QDir(GlobalVars::VagoTemporaryDir).exists()){ + QDir().mkdir(GlobalVars::VagoTemporaryDir); + } + // Get data page 2 if(field("rbOther").toBool()){ outputFolder=field("leOtherLocation").toString(); @@ -91,6 +95,9 @@ void SoundPageFinal::startProcessing(){ priorityNormal=field("rbPriorityNormal").toBool(); priorityHigh=field("rbPriorityHigh").toBool(); priorityHighest=field("rbPriorityHighest").toBool(); + interruptOnStop=field("cbInterruptOnStop").toBool(); + playOnce=field("cbPlayOnce").toBool(); + canPan=field("cbCanPan").toBool(); if(priorityNormal){ priority="Normal"; @@ -117,27 +124,23 @@ void SoundPageFinal::startProcessing(){ flags << "CanPan"; } - interruptOnStop=field("cbInterruptOnStop").toBool(); - playOnce=field("cbPlayOnce").toBool(); - canPan=field("cbCanPan").toBool(); - - sphereRadious=Util::normalizeDecimalSeparator(field("leSphereRadious").toString()); - minElapsedTime=Util::normalizeDecimalSeparator(field("leMinElapsedTime").toString()); - maxElapsedTime=Util::normalizeDecimalSeparator(field("leMaxElapsedTime").toString()); - minVolumeDistance=Util::normalizeDecimalSeparator(field("leMinVolumeDistance").toString()); - maxVolumeDistance=Util::normalizeDecimalSeparator(field("leMaxVolumeDistance").toString()); - minOcclusion=Util::normalizeDecimalSeparator(field("leMinOcclusion").toString()); - treshold=Util::normalizeDecimalSeparator(field("leTreshold").toString()); + sphereRadious=Util::String::normalizeDecimalSeparator(field("leSphereRadious").toString()); + minElapsedTime=Util::String::normalizeDecimalSeparator(field("leMinElapsedTime").toString()); + maxElapsedTime=Util::String::normalizeDecimalSeparator(field("leMaxElapsedTime").toString()); + minVolumeDistance=Util::String::normalizeDecimalSeparator(field("leMinVolumeDistance").toString()); + maxVolumeDistance=Util::String::normalizeDecimalSeparator(field("leMaxVolumeDistance").toString()); + minOcclusion=Util::String::normalizeDecimalSeparator(field("leMinOcclusion").toString()); + treshold=Util::String::normalizeDecimalSeparator(field("leTreshold").toString()); // Get data page 4 - volume=Util::normalizeDecimalSeparator(field("leVolume").toString()); - minVolume=Util::normalizeDecimalSeparator(field("leMinVolume").toString()); - maxVolume=Util::normalizeDecimalSeparator(field("leMaxVolume").toString()); - pitch=Util::normalizeDecimalSeparator(field("lePitch").toString()); - minPitch=Util::normalizeDecimalSeparator(field("leMinPitch").toString()); - maxPitch=Util::normalizeDecimalSeparator(field("leMaxPitch").toString()); - weight=Util::normalizeDecimalSeparator(field("leWeight").toString()); + volume=Util::String::normalizeDecimalSeparator(field("leVolume").toString()); + minVolume=Util::String::normalizeDecimalSeparator(field("leMinVolume").toString()); + maxVolume=Util::String::normalizeDecimalSeparator(field("leMaxVolume").toString()); + pitch=Util::String::normalizeDecimalSeparator(field("lePitch").toString()); + minPitch=Util::String::normalizeDecimalSeparator(field("leMinPitch").toString()); + maxPitch=Util::String::normalizeDecimalSeparator(field("leMaxPitch").toString()); + weight=Util::String::normalizeDecimalSeparator(field("leWeight").toString()); preventRepeat=field("cbPreventRepeat").toBool(); @@ -171,24 +174,24 @@ void SoundPageFinal::startProcessing(){ priorityImp="Highest"; } - minVolumeDistanceImp=Util::normalizeDecimalSeparator(field("leMinVolumeDistanceImp").toString()); - maxVolumeDistanceImp=Util::normalizeDecimalSeparator(field("leMaxVolumeDistanceImp").toString()); - minAngleImp=Util::normalizeDecimalSeparator(field("leMinAngleImp").toString()); - maxAngleImp=Util::normalizeDecimalSeparator(field("leMaxAngleImp").toString()); - minAttenuationImp=Util::normalizeDecimalSeparator(field("leMinAttenuationImp").toString()); - impactVelocityImp=Util::normalizeDecimalSeparator(field("leImpactVelocityImp").toString()); - minOcclusionImp=Util::normalizeDecimalSeparator(field("leMinOcclusionImp").toString()); + minVolumeDistanceImp=Util::String::normalizeDecimalSeparator(field("leMinVolumeDistanceImp").toString()); + maxVolumeDistanceImp=Util::String::normalizeDecimalSeparator(field("leMaxVolumeDistanceImp").toString()); + minAngleImp=Util::String::normalizeDecimalSeparator(field("leMinAngleImp").toString()); + maxAngleImp=Util::String::normalizeDecimalSeparator(field("leMaxAngleImp").toString()); + minAttenuationImp=Util::String::normalizeDecimalSeparator(field("leMinAttenuationImp").toString()); + impactVelocityImp=Util::String::normalizeDecimalSeparator(field("leImpactVelocityImp").toString()); + minOcclusionImp=Util::String::normalizeDecimalSeparator(field("leMinOcclusionImp").toString()); //######################################################### Starting xml processing // Clean tmp dir - if(!Util::rmDir(GlobalVars::VagoTemporaryDir)){ - UtilVago::showAndLogErrorPopUpLogButton(this->myLogger, "Couldn't clean vago temp dir for complete sound wizard. Aborting.\n"+GlobalVars::VagoTemporaryDir); + if(!Util::FileSystem::rmDir(GlobalVars::VagoTemporaryDir)){ + UtilVago::showAndLogErrorPopUpLogButton("Couldn't clean vago temp dir for complete sound wizard. Aborting.\n"+GlobalVars::VagoTemporaryDir); return; } if(!QDir(QDir::tempPath()).mkpath("VagoTemp")){ - UtilVago::showAndLogErrorPopUpLogButton(this->myLogger, "Couldn't reconstruct vago temp dir for complete sound wizard. Aborting.\n"+GlobalVars::VagoTemporaryDir); + UtilVago::showAndLogErrorPopUpLogButton("Couldn't reconstruct vago temp dir for complete sound wizard. Aborting.\n"+GlobalVars::VagoTemporaryDir); } // Copy sample xml files to tmp dir @@ -200,34 +203,34 @@ void SoundPageFinal::startProcessing(){ QFile::setPermissions(impFileLocation, QFile::ReadOwner | QFile::WriteOwner); (*this->xmlCommands) - << "--replace-all-values -e Priority -n "+Util::insertQuotes(priority)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e Flags -n "+(flags.join(" ").isEmpty() ? "\" \"" : Util::insertQuotes(flags.join(" ")))+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e SphereRadius -n "+Util::insertQuotes(sphereRadious)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e Treshold -n "+Util::insertQuotes(treshold)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e MinOcclusion -n "+Util::insertQuotes(minOcclusion)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name ElapsedTime -e Max -n "+Util::insertQuotes(maxElapsedTime)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name ElapsedTime -e Min -n "+Util::insertQuotes(minElapsedTime)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Distance -e Max -n "+Util::insertQuotes(maxVolumeDistance)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Distance -e Min -n "+Util::insertQuotes(minVolumeDistance)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name SoundGroup -e Volume -n "+Util::insertQuotes(volume)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name SoundGroup -e Pitch -n "+Util::insertQuotes(pitch)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name SoundGroup -e NumberOfChannels -n "+Util::insertQuotes(numberChannels)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Volume -e Min -n "+Util::insertQuotes(minVolume)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Volume -e Max -n "+Util::insertQuotes(maxVolume)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Pitch -e Min -n "+Util::insertQuotes(minPitch)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Pitch -e Max -n "+Util::insertQuotes(maxPitch)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e Weight -n "+Util::insertQuotes(weight)+" -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e Priority -n "+Util::insertQuotes(priorityImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Distance -e Min -n "+Util::insertQuotes(minVolumeDistanceImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Distance -e Max -n "+Util::insertQuotes(maxVolumeDistanceImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Angle -e Min -n "+Util::insertQuotes(minAngleImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values --parent-element-name Angle -e Max -n "+Util::insertQuotes(maxAngleImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e MinAttenuation -n "+Util::insertQuotes(minAttenuationImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e ImpactVelocity -n "+Util::insertQuotes(impactVelocityImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e MinOcclusion -n "+Util::insertQuotes(minOcclusionImp)+" -f "+Util::insertQuotes(impFileLocation)+" --no-backups --no-verbose"; + << "--replace-all-values -e Priority -n "+Util::String::insertQuotes(priority)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e Flags -n "+(flags.join(" ").isEmpty() ? Util::String::insertQuotes("") : Util::String::insertQuotes(flags.join(" ")))+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e SphereRadius -n "+Util::String::insertQuotes(sphereRadious)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e Treshold -n "+Util::String::insertQuotes(treshold)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e MinOcclusion -n "+Util::String::insertQuotes(minOcclusion)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name ElapsedTime -e Max -n "+Util::String::insertQuotes(maxElapsedTime)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name ElapsedTime -e Min -n "+Util::String::insertQuotes(minElapsedTime)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Distance -e Max -n "+Util::String::insertQuotes(maxVolumeDistance)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Distance -e Min -n "+Util::String::insertQuotes(minVolumeDistance)+" -f "+Util::String::insertQuotes(ambFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name SoundGroup -e Volume -n "+Util::String::insertQuotes(volume)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name SoundGroup -e Pitch -n "+Util::String::insertQuotes(pitch)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name SoundGroup -e NumberOfChannels -n "+Util::String::insertQuotes(numberChannels)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Volume -e Min -n "+Util::String::insertQuotes(minVolume)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Volume -e Max -n "+Util::String::insertQuotes(maxVolume)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Pitch -e Min -n "+Util::String::insertQuotes(minPitch)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Pitch -e Max -n "+Util::String::insertQuotes(maxPitch)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e Weight -n "+Util::String::insertQuotes(weight)+" -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e Priority -n "+Util::String::insertQuotes(priorityImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Distance -e Min -n "+Util::String::insertQuotes(minVolumeDistanceImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Distance -e Max -n "+Util::String::insertQuotes(maxVolumeDistanceImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Angle -e Min -n "+Util::String::insertQuotes(minAngleImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values --parent-element-name Angle -e Max -n "+Util::String::insertQuotes(maxAngleImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e MinAttenuation -n "+Util::String::insertQuotes(minAttenuationImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e ImpactVelocity -n "+Util::String::insertQuotes(impactVelocityImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e MinOcclusion -n "+Util::String::insertQuotes(minOcclusionImp)+" -f "+Util::String::insertQuotes(impFileLocation)+" --no-backups --no-verbose"; if(preventRepeat){ - (*this->xmlCommands) << "--replace-all-values --parent-element-name SoundGroup -e Flags -n PreventRepeat -f "+Util::insertQuotes(grpFileLocation)+" --no-backups --no-verbose"; + (*this->xmlCommands) << "--replace-all-values --parent-element-name SoundGroup -e Flags -n PreventRepeat -f "+Util::String::insertQuotes(grpFileLocation)+" --no-backups --no-verbose"; } myXmlProcessor->start(); @@ -240,7 +243,7 @@ void SoundPageFinal::startProcessing(){ for(int i=0; ipage2Table->rowCount(); i++){ - (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::insertQuotes(outputFolder)+" "+Util::insertQuotes(this->page2Table->item(i,1)->text()); // add location of sound file to convert + (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::String::insertQuotes(outputFolder)+" "+Util::String::insertQuotes(this->page2Table->item(i,1)->text()); // add location of sound file to convert currFileName=this->page2Table->item(i,0)->text(); // get current file name currAmbFileLocation = outputFolder + "/" + QString(ambFile).replace("sample_file",currFileName); // get the new files, filenames @@ -251,16 +254,16 @@ void SoundPageFinal::startProcessing(){ QFile::copy(grpFileLocation, currGrpFileLocation); QFile::copy(impFileLocation, currImpFileLocation); - (*this->xmlCommands) << "--replace-all-values -e BaseTrack1 -n "+Util::insertQuotes(currFileName)+" -f "+Util::insertQuotes(currAmbFileLocation)+" --no-backups --no-verbose" // process the xml - << "--replace-all-values -e Sound -n "+Util::insertQuotes(currFileName)+" -f "+Util::insertQuotes(currGrpFileLocation)+" --no-backups --no-verbose" - << "--replace-all-values -e Group -n "+Util::insertQuotes(currFileName)+" -f "+Util::insertQuotes(currImpFileLocation)+" --no-backups --no-verbose"; + (*this->xmlCommands) << "--replace-all-values -e BaseTrack1 -n "+Util::String::insertQuotes(currFileName)+" -f "+Util::String::insertQuotes(currAmbFileLocation)+" --no-backups --no-verbose" // process the xml + << "--replace-all-values -e Sound -n "+Util::String::insertQuotes(currFileName)+" -f "+Util::String::insertQuotes(currGrpFileLocation)+" --no-backups --no-verbose" + << "--replace-all-values -e Group -n "+Util::String::insertQuotes(currFileName)+" -f "+Util::String::insertQuotes(currImpFileLocation)+" --no-backups --no-verbose"; myXmlProcessor->start(); myXmlProcessor->wait(); // Wait until all xml is edited - (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::insertQuotes(outputFolder)+" "+Util::insertQuotes(currAmbFileLocation); - (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::insertQuotes(outputFolder)+" "+Util::insertQuotes(currGrpFileLocation); - (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::insertQuotes(outputFolder)+" "+Util::insertQuotes(currImpFileLocation); + (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::String::insertQuotes(outputFolder)+" "+Util::String::insertQuotes(currAmbFileLocation); + (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::String::insertQuotes(outputFolder)+" "+Util::String::insertQuotes(currGrpFileLocation); + (*this->oniSplitCommands) << this->commandMap->value("xml->XML->ONI")+" "+Util::String::insertQuotes(outputFolder)+" "+Util::String::insertQuotes(currImpFileLocation); } this->myConverter->start(); // finally process the onisplit commands