ConversionOptions *OptionsDetailed::currentConversionOptions( bool saveLastUsed ) { if( wPlugin && currentPlugin ) { ConversionOptions *conversionOptions = wPlugin->currentConversionOptions(); if( conversionOptions ) { conversionOptions->codecName = cFormat->currentText(); if( conversionOptions->codecName != "wav" ) conversionOptions->pluginName = currentPlugin->name(); else conversionOptions->pluginName = ""; conversionOptions->profile = wPlugin->currentProfile(); conversionOptions->outputDirectoryMode = outputDirectory->mode(); conversionOptions->outputDirectory = outputDirectory->directory(); conversionOptions->outputFilesystem = outputDirectory->filesystem(); conversionOptions->replaygain = cReplayGain->isEnabled() && cReplayGain->isChecked(); for( int i=0; i<wFilter.size(); i++ ) { FilterWidget *widget = wFilter.keys().at(i); FilterPlugin *plugin = wFilter.values().at(i); if( widget && plugin ) { FilterOptions *filterOptions = widget->currentFilterOptions(); if( filterOptions ) { filterOptions->pluginName = plugin->name(); conversionOptions->filterOptions.append( filterOptions ); } } } if( saveLastUsed ) { config->data.general.lastProfile = currentProfile(); saveCustomProfile( true ); config->data.general.lastFormat = cFormat->currentText(); } return conversionOptions; } } return 0; }