--- src/backend/CrawSoundTranslator.cpp.orig +++ src/backend/CrawSoundTranslator.cpp @@ -132,6 +132,13 @@ // get user preferences for saving the raw data static bool parametersGotten=false; static AFrontendHooks::RawParameters parameters; + + // init parameters which cannot be changed by the RAW parameters dialog + parameters.channelCount=sound->getChannelCount(); + parameters.sampleRate=sound->getSampleRate(); + parameters.dataLength=sound->getLength(); + parameters.dataOffset=0; + useLastUserPrefs&=parametersGotten; if(!useLastUserPrefs) { --- src/frontend_fox/CRawDialog.cpp.orig +++ src/frontend_fox/CRawDialog.cpp @@ -137,8 +137,11 @@ if(execute(PLACEMENT_SCREEN)) { - parameters.channelCount=atoi(channelsCountComboBox->getText().text()); - parameters.sampleRate=atoi(sampleRateComboBox->getText().text()); + // don't apply values of hidden GUI controls + if (showLoadRawParameters) { + parameters.channelCount=atoi(channelsCountComboBox->getText().text()); + parameters.sampleRate=atoi(sampleRateComboBox->getText().text()); + } switch(sampleFormatComboBox->getCurrentItem()) { @@ -158,19 +161,22 @@ parameters.endian= byteOrderToggleButton->getState() ? AFrontendHooks::RawParameters::eBigEndian : AFrontendHooks::RawParameters::eLittleEndian; - if(atoi(dataOffsetTextBox->getText().text())<0) - { - Error(_("invalid negative data offset")); - return(false); - } - parameters.dataOffset=atoi(dataOffsetTextBox->getText().text()); - - if(atoi(dataLengthTextBox->getText().text())<0) - { - Error(_("invalid negative data length")); - return(false); + // don't apply values of hidden GUI controls + if (showLoadRawParameters) { + if(atoi(dataOffsetTextBox->getText().text())<0) + { + Error(_("invalid negative data offset")); + return(false); + } + parameters.dataOffset=atoi(dataOffsetTextBox->getText().text()); + + if(atoi(dataLengthTextBox->getText().text())<0) + { + Error(_("invalid negative data length")); + return(false); + } + parameters.dataLength=atoi(dataLengthTextBox->getText().text()); } - parameters.dataLength=atoi(dataLengthTextBox->getText().text()); return(true); } --- src/frontend_fox/CRawDialog.h.orig +++ src/frontend_fox/CRawDialog.h @@ -37,7 +37,7 @@ CRawDialog(FXWindow *mainWindow); virtual ~CRawDialog(); - bool show(AFrontendHooks::RawParameters ¶meters,bool showOffsetAndLengthParameters); + bool show(AFrontendHooks::RawParameters ¶meters,bool showLoadRawParameters); //long onRadioButton(FXObject *sender,FXSelector sel,void *ptr);