diff --git a/src/AboutDialog.cpp b/src/AboutDialog.cpp index bed9f73c9..512be512a 100644 --- a/src/AboutDialog.cpp +++ b/src/AboutDialog.cpp @@ -117,6 +117,7 @@ void AboutDialog::CreateCreditsList() AddCredit(wxT("Philip Van Baren"), roleContributor); AddCredit(wxT("Salvo Ventura"), roleContributor); AddCredit(wxT("Jun Wan"), roleContributor); + AddCredit(wxT("Daniel Winzen"), roleContributor); AddCredit(wxT("Tom Woodhams"), roleContributor); AddCredit(wxT("Wing Yu"), roleContributor); diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp index a9faa3557..c3d472603 100644 --- a/src/AudioIO.cpp +++ b/src/AudioIO.cpp @@ -2283,7 +2283,7 @@ void AudioIO::StopStream() } if( appendRecord ) { // append-recording - bool bResult = true; + bool bResult; if (recordingOffset < 0) bResult = track->Clear(mT0, mT0 - recordingOffset); // cut the latency out else @@ -4115,7 +4115,6 @@ int audacityAudioCallback(const void *inputBuffer, void *outputBuffer, bool selected = false; int group = 0; int chanCnt = 0; - float rate = 0.0; int maxLen = 0; for (t = 0; t < numPlaybackTracks; t++) { @@ -4136,7 +4135,6 @@ int audacityAudioCallback(const void *inputBuffer, void *outputBuffer, if (vt->GetMute() && !vt->GetSolo()) cut = true; - rate = vt->GetRate(); linkFlag = vt->GetLinked(); selected = vt->GetSelected(); diff --git a/src/BatchCommands.cpp b/src/BatchCommands.cpp index bc95f6f73..c8b2dc33a 100644 --- a/src/BatchCommands.cpp +++ b/src/BatchCommands.cpp @@ -427,7 +427,7 @@ wxString BatchCommands::BuildCleanFileName(wxString fileName, wxString extension return cleanedName; } -bool BatchCommands::WriteMp3File( const wxString Name, int bitrate ) +bool BatchCommands::WriteMp3File( const wxString & Name, int bitrate ) { //check if current project is mono or stereo int numChannels = 2; if (IsMono()) { @@ -471,7 +471,7 @@ bool BatchCommands::WriteMp3File( const wxString Name, int bitrate ) // and think again. // ======= IMPORTANT ======== // CLEANSPEECH remnant -bool BatchCommands::ApplySpecialCommand(int WXUNUSED(iCommand), const wxString command,const wxString params) +bool BatchCommands::ApplySpecialCommand(int WXUNUSED(iCommand), const wxString & command,const wxString & params) { if (ReportAndSkip(command, params)) return true; @@ -555,7 +555,7 @@ bool BatchCommands::ApplySpecialCommand(int WXUNUSED(iCommand), const wxString c } // end CLEANSPEECH remnant -bool BatchCommands::SetCurrentParametersFor(const wxString command, const wxString params) +bool BatchCommands::SetCurrentParametersFor(const wxString & command, const wxString & params) { // transfer the parameters to the effect... if( !params.IsEmpty() ) @@ -576,7 +576,7 @@ bool BatchCommands::SetCurrentParametersFor(const wxString command, const wxStri return true; } -bool BatchCommands::ApplyEffectCommand(const PluginID & ID, const wxString command, const wxString params) +bool BatchCommands::ApplyEffectCommand(const PluginID & ID, const wxString & command, const wxString & params) { //Possibly end processing here, if in batch-debug if( ReportAndSkip(command, params)) @@ -597,7 +597,7 @@ bool BatchCommands::ApplyEffectCommand(const PluginID & ID, const wxString comma AudacityProject::OnEffectFlags::kSkipState); } -bool BatchCommands::ApplyCommand(const wxString command, const wxString params) +bool BatchCommands::ApplyCommand(const wxString & command, const wxString & params) { unsigned int i; @@ -729,7 +729,7 @@ void BatchCommands::ResetChain() // ReportAndSkip() is a diagnostic function that avoids actually // applying the requested effect if in batch-debug mode. -bool BatchCommands::ReportAndSkip(const wxString command, const wxString params) +bool BatchCommands::ReportAndSkip(const wxString & command, const wxString & params) { int bDebug; gPrefs->Read(wxT("/Batch/Debug"), &bDebug, false); diff --git a/src/BatchCommands.h b/src/BatchCommands.h index fe31d7292..983480970 100644 --- a/src/BatchCommands.h +++ b/src/BatchCommands.h @@ -25,16 +25,16 @@ class BatchCommands { BatchCommands(); public: bool ApplyChain(const wxString & filename = wxT("")); - bool ApplyCommand( const wxString command, const wxString params ); + bool ApplyCommand( const wxString & command, const wxString & params ); bool ApplyCommandInBatchMode(const wxString & command, const wxString ¶ms); - bool ApplySpecialCommand(int iCommand, const wxString command,const wxString params); - bool ApplyEffectCommand(const PluginID & ID, const wxString command, const wxString params); - bool ReportAndSkip( const wxString command, const wxString params ); + bool ApplySpecialCommand(int iCommand, const wxString & command,const wxString & params); + bool ApplyEffectCommand(const PluginID & ID, const wxString & command, const wxString & params); + bool ReportAndSkip( const wxString & command, const wxString & params ); void AbortBatch(); // Utility functions for the special commands. wxString BuildCleanFileName(wxString fileName, wxString extension); - bool WriteMp3File( const wxString Name, int bitrate ); + bool WriteMp3File( const wxString & Name, int bitrate ); double GetEndTime(); bool IsMono(); @@ -42,7 +42,7 @@ class BatchCommands { wxArrayString GetNames(); static bool PromptForParamsFor( wxString command, wxWindow *parent ); static wxString GetCurrentParamsFor( wxString command ); - static bool SetCurrentParametersFor(const wxString command, const wxString params); + static bool SetCurrentParametersFor(const wxString & command, const wxString & params); static wxArrayString GetAllCommands(); // These commands do depend on the command list. diff --git a/src/DirManager.cpp b/src/DirManager.cpp index 79f26c59e..8104f56b1 100644 --- a/src/DirManager.cpp +++ b/src/DirManager.cpp @@ -463,7 +463,7 @@ bool DirManager::SetProject(wxString& newProjPath, wxString& newProjName, const progress->Update(count, total); - iter++; + ++iter; count++; } @@ -485,7 +485,7 @@ bool DirManager::SetProject(wxString& newProjPath, wxString& newProjName, const if (count>=0) progress->Update(count, total); - iter++; + ++iter; count--; } @@ -1271,7 +1271,7 @@ bool DirManager::EnsureSafeFilename(wxFileName fName) db->LockRead(); } - iter++; + ++iter; } if (needToRename) { @@ -1297,7 +1297,7 @@ bool DirManager::EnsureSafeFilename(wxFileName fName) if (!b->IsDataAvailable() && (db->GetEncodedAudioFilename() == fName)) db->UnlockRead(); - iter++; + ++iter; } // Print error message and cancel the export @@ -1327,7 +1327,7 @@ bool DirManager::EnsureSafeFilename(wxFileName fName) db->ChangeAudioFile(renamedFileName); db->UnlockRead(); } - iter++; + ++iter; } } @@ -1474,7 +1474,7 @@ _("Project check of \"%s\" folder \ b->Recover(); nResult = FSCKstatus_CHANGED | FSCKstatus_SAVE_AUP; } - iter++; + ++iter; } if ((action == 2) && bAutoRecoverMode) wxLogWarning(_(" Project check replaced missing aliased file(s) with silence.")); @@ -1527,7 +1527,7 @@ _("Project check of \"%s\" folder \ // Silence error logging for this block in this session. b->SilenceLog(); } - iter++; + ++iter; } if ((action == 0) && bAutoRecoverMode) wxLogWarning(_(" Project check regenerated missing alias summary file(s).")); @@ -1585,7 +1585,7 @@ _("Project check of \"%s\" folder \ } else if (action == 1) b->SilenceLog(); - iter++; + ++iter; } if ((action == 2) && bAutoRecoverMode) wxLogWarning(_(" Project check replaced missing audio data block file(s) with silence.")); @@ -1701,14 +1701,14 @@ void DirManager::FindMissingAliasedFiles( missingAliasedFilePathHash[aliasedFileFullPath] = NULL; } } - iter++; + ++iter; } iter = missingAliasedFilePathHash.begin(); while (iter != missingAliasedFilePathHash.end()) { wxLogWarning(_("Missing aliased audio file: '%s'"), iter->first.c_str()); - iter++; + ++iter; } } @@ -1734,7 +1734,7 @@ void DirManager::FindMissingAUFs( fileName.GetFullPath().c_str()); } } - iter++; + ++iter; } } @@ -1758,7 +1758,7 @@ void DirManager::FindMissingAUs( fileName.GetFullPath().c_str()); } } - iter++; + ++iter; } } @@ -1847,7 +1847,7 @@ void DirManager::FillBlockfilesCache() BlockFile *b = iter->second; if (b->GetNeedFillCache()) numNeed++; - iter++; + ++iter; } if (numNeed == 0) @@ -1867,7 +1867,7 @@ void DirManager::FillBlockfilesCache() if (!progress.Update(current, numNeed)) break; // user cancelled progress dialog, stop caching - iter++; + ++iter; current++; } #endif // DEPRECATED_AUDIO_CACHE @@ -1884,7 +1884,7 @@ void DirManager::WriteCacheToDisk() BlockFile *b = iter->second; if (b->GetNeedWriteCacheToDisk()) numNeed++; - iter++; + ++iter; } if (numNeed == 0) @@ -1903,7 +1903,7 @@ void DirManager::WriteCacheToDisk() b->WriteCacheToDisk(); progress.Update(current, numNeed); } - iter++; + ++iter; current++; } } diff --git a/src/Envelope.cpp b/src/Envelope.cpp index b4892292e..b70f3b15a 100644 --- a/src/Envelope.cpp +++ b/src/Envelope.cpp @@ -1292,14 +1292,14 @@ static double SolveIntegrateInverseInterpolated(double y1, double y2, double tim else if(1.0 + a * y1 * l <= 0.0) res = 1.0; else - res = log(1.0 + a * y1 * l) / l; + res = log1p(a * y1 * l) / l; } else { if(fabs(y2 - y1) < 1.0e-5) // fall back to average res = a * (y1 + y2) * 0.5; else - res = y1 * (exp(a * (y2 - y1)) - 1.0) / (y2 - y1); + res = y1 * expm1(a * (y2 - y1)) / (y2 - y1); } return std::max(0.0, std::min(1.0, res)) * time; } diff --git a/src/FileIO.cpp b/src/FileIO.cpp index 5b45707d8..e8ccf00e5 100644 --- a/src/FileIO.cpp +++ b/src/FileIO.cpp @@ -19,7 +19,7 @@ #include "FileIO.h" -FileIO::FileIO(const wxString name, FileIOMode mode) +FileIO::FileIO(const wxString & name, FileIOMode mode) : mName(name), mMode(mode), mInputStream(NULL), diff --git a/src/FileIO.h b/src/FileIO.h index be1290aec..3b3dc7fdf 100644 --- a/src/FileIO.h +++ b/src/FileIO.h @@ -24,7 +24,7 @@ class FileIO } FileIOMode; public: - FileIO(const wxString name, FileIOMode mode); + FileIO(const wxString & name, FileIOMode mode); ~FileIO(); bool IsOpened(); diff --git a/src/FreqWindow.cpp b/src/FreqWindow.cpp index a54580eab..82c6346fa 100644 --- a/src/FreqWindow.cpp +++ b/src/FreqWindow.cpp @@ -1064,7 +1064,6 @@ bool SpectrumAnalyst::Calculate(Algorithm alg, int windowFunc, mProcessed[i] = float(0.0); float *in = new float[mWindowSize]; - float *in2 = new float[mWindowSize]; float *out = new float[mWindowSize]; float *out2 = new float[mWindowSize]; float *win = new float[mWindowSize]; @@ -1277,7 +1276,6 @@ bool SpectrumAnalyst::Calculate(Algorithm alg, int windowFunc, } delete[]in; - delete[]in2; delete[]out; delete[]out2; delete[]win; diff --git a/src/Menus.cpp b/src/Menus.cpp index 73cbc769f..f1eb33077 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -3632,7 +3632,6 @@ void AudacityProject::OnSplitCut() Track *dest; ClearClipboard(); - n = iter.First(); while (n) { if (n->GetSelected()) { dest = NULL; diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp index 3368d56bd..ba3b7314a 100644 --- a/src/MixerBoard.cpp +++ b/src/MixerBoard.cpp @@ -883,7 +883,7 @@ void MixerTrackCluster::OnButton_Solo(wxCommandEvent& WXUNUSED(event)) // class MusicalInstrument -MusicalInstrument::MusicalInstrument(wxBitmap* pBitmap, const wxString strXPMfilename) +MusicalInstrument::MusicalInstrument(wxBitmap* pBitmap, const wxString & strXPMfilename) { mBitmap = pBitmap; @@ -1219,7 +1219,7 @@ void MixerBoard::RemoveTrackCluster(const WaveTrack* pTrack) #ifdef EXPERIMENTAL_MIDI_OUT -wxBitmap* MixerBoard::GetMusicalInstrumentBitmap(wxString name) +wxBitmap* MixerBoard::GetMusicalInstrumentBitmap(const wxString & name) #else wxBitmap* MixerBoard::GetMusicalInstrumentBitmap(const WaveTrack* pLeftTrack) #endif diff --git a/src/MixerBoard.h b/src/MixerBoard.h index eb36692ef..057420226 100644 --- a/src/MixerBoard.h +++ b/src/MixerBoard.h @@ -154,7 +154,7 @@ WX_DEFINE_ARRAY(MixerTrackCluster*, MixerTrackClusterArray); class MusicalInstrument { public: - MusicalInstrument(wxBitmap* pBitmap, const wxString strXPMfilename); + MusicalInstrument(wxBitmap* pBitmap, const wxString & strXPMfilename); virtual ~MusicalInstrument(); wxBitmap* mBitmap; @@ -213,7 +213,7 @@ public: void RemoveTrackCluster(const Track* pTrack); - wxBitmap* GetMusicalInstrumentBitmap(const wxString name); + wxBitmap* GetMusicalInstrumentBitmap(const wxString & name); #else void MoveTrackCluster(const WaveTrack* pTrack, bool bUp); // Up in TrackPanel is left in MixerBoard. void RemoveTrackCluster(const WaveTrack* pTrack); diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index 9c2d51781..66361361c 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -555,7 +555,7 @@ void PluginRegistrationDialog::PopulateOrExchange(ShuttleGui &S) wxRect iconrect; int i = 0; - for (ProviderMap::iterator iter = mMap.begin(); iter != mMap.end(); iter++, i++) + for (ProviderMap::iterator iter = mMap.begin(); iter != mMap.end(); ++iter, i++) { miState.Add( SHOW_CHECKED ); @@ -1734,7 +1734,7 @@ void PluginManager::Save() void PluginManager::SaveGroup(PluginType type) { wxString group = GetPluginTypeString(type); - for (PluginMap::iterator iter = mPlugins.begin(); iter != mPlugins.end(); iter++) + for (PluginMap::iterator iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) { PluginDescriptor & plug = iter->second; @@ -1861,13 +1861,13 @@ void PluginManager::CheckForUpdates() plug.SetValid(mm.IsPluginValid(plug.GetProviderID(), plugPath)); } - iter++; + ++iter; } // If we're only checking for new plugins, then remove all of the known ones if (doCheck && !doRescan) { - for (PluginMap::iterator iter = mPlugins.begin(); iter != mPlugins.end(); iter++) + for (PluginMap::iterator iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) { PluginDescriptor & plug = iter->second; const wxString & plugPath = plug.GetPath(); @@ -1898,7 +1898,7 @@ int PluginManager::GetPluginCount(PluginType type) { int num = 0; - for (PluginMap::iterator iter = mPlugins.begin(); iter != mPlugins.end(); iter++) + for (PluginMap::iterator iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) { if (iter->second.GetPluginType() == type) { @@ -1921,7 +1921,7 @@ const PluginDescriptor *PluginManager::GetPlugin(const PluginID & ID) const PluginDescriptor *PluginManager::GetFirstPlugin(PluginType type) { - for (mPluginsIter = mPlugins.begin(); mPluginsIter != mPlugins.end(); mPluginsIter++) + for (mPluginsIter = mPlugins.begin(); mPluginsIter != mPlugins.end(); ++mPluginsIter) { PluginDescriptor & plug = mPluginsIter->second; bool familyEnabled = true; @@ -1959,7 +1959,7 @@ const PluginDescriptor *PluginManager::GetNextPlugin(PluginType type) const PluginDescriptor *PluginManager::GetFirstPluginForEffectType(EffectType type) { - for (mPluginsIter = mPlugins.begin(); mPluginsIter != mPlugins.end(); mPluginsIter++) + for (mPluginsIter = mPlugins.begin(); mPluginsIter != mPlugins.end(); ++mPluginsIter) { PluginDescriptor & plug = mPluginsIter->second; diff --git a/src/Project.cpp b/src/Project.cpp index 2052eceb6..8bca0605e 100644 --- a/src/Project.cpp +++ b/src/Project.cpp @@ -2344,7 +2344,7 @@ wxArrayString AudacityProject::ShowOpenDialog(wxString extraformat, wxString ext } // static method, can be called outside of a project -bool AudacityProject::IsAlreadyOpen(const wxString projPathName) +bool AudacityProject::IsAlreadyOpen(const wxString & projPathName) { wxFileName newProjPathName(projPathName); size_t numProjects = gAudacityProjects.Count(); @@ -3436,7 +3436,7 @@ bool AudacityProject::Save(bool overwrite /* = true */ , } #ifdef USE_LIBVORBIS - bool AudacityProject::SaveCompressedWaveTracks(const wxString strProjectPathName) // full path for aup except extension + bool AudacityProject::SaveCompressedWaveTracks(const wxString & strProjectPathName) // full path for aup except extension { // Some of this is similar to code in ExportMultiple::ExportMultipleByTrack // but that code is really tied into the dialogs. @@ -3661,7 +3661,7 @@ bool AudacityProject::Import(wxString fileName, WaveTrackArray* pTrackArray /*= return true; } -bool AudacityProject::SaveAs(const wxString newFileName, bool bWantSaveCompressed /*= false*/, bool addToHistory /*= true*/) +bool AudacityProject::SaveAs(const wxString & newFileName, bool bWantSaveCompressed /*= false*/, bool addToHistory /*= true*/) { wxString oldFileName = mFileName; diff --git a/src/Project.h b/src/Project.h index a63cc7114..6ee8f2d24 100644 --- a/src/Project.h +++ b/src/Project.h @@ -201,7 +201,7 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame, */ static wxArrayString ShowOpenDialog(wxString extraformat = wxEmptyString, wxString extrafilter = wxEmptyString); - static bool IsAlreadyOpen(const wxString projPathName); + static bool IsAlreadyOpen(const wxString & projPathName); static void OpenFiles(AudacityProject *proj); void OpenFile(wxString fileName, bool addtohistory = true); bool WarnOfLegacyFile( ); @@ -215,9 +215,9 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame, void UnlockAllBlocks(); bool Save(bool overwrite = true, bool fromSaveAs = false, bool bWantSaveCompressed = false); bool SaveAs(bool bWantSaveCompressed = false); - bool SaveAs(const wxString newFileName, bool bWantSaveCompressed = false, bool addToHistory = true); + bool SaveAs(const wxString & newFileName, bool bWantSaveCompressed = false, bool addToHistory = true); #ifdef USE_LIBVORBIS - bool SaveCompressedWaveTracks(const wxString strProjectPathName); // full path for aup except extension + bool SaveCompressedWaveTracks(const wxString & strProjectPathName); // full path for aup except extension #endif void Clear(); diff --git a/src/ShuttleGui.cpp b/src/ShuttleGui.cpp index 4b9f961f7..261b44409 100644 --- a/src/ShuttleGui.cpp +++ b/src/ShuttleGui.cpp @@ -844,7 +844,7 @@ void ShuttleGuiBase::EndNotebook() } -wxNotebookPage * ShuttleGuiBase::StartNotebookPage( const wxString Name ) +wxNotebookPage * ShuttleGuiBase::StartNotebookPage( const wxString & Name ) { if( mShuttleMode != eIsCreating ) return NULL; @@ -867,7 +867,7 @@ wxNotebookPage * ShuttleGuiBase::StartNotebookPage( const wxString Name ) return pPage; } -void ShuttleGuiBase::StartNotebookPage( const wxString Name, wxNotebookPage * pPage ) +void ShuttleGuiBase::StartNotebookPage( const wxString & Name, wxNotebookPage * pPage ) { if( mShuttleMode != eIsCreating ) return; diff --git a/src/ShuttleGui.h b/src/ShuttleGui.h index 7b5add4cf..4885b64c5 100644 --- a/src/ShuttleGui.h +++ b/src/ShuttleGui.h @@ -132,8 +132,8 @@ public: wxNotebook * StartNotebook(); void EndNotebook(); - wxNotebookPage * StartNotebookPage( const wxString Name ); - void StartNotebookPage( const wxString Name, wxNotebookPage * pPage ); + wxNotebookPage * StartNotebookPage( const wxString & Name ); + void StartNotebookPage( const wxString & Name, wxNotebookPage * pPage ); void EndNotebookPage(); wxPanel * StartInvisiblePanel(); void EndInvisiblePanel(); diff --git a/src/Tags.cpp b/src/Tags.cpp index e8baa2183..b6feb5f58 100644 --- a/src/Tags.cpp +++ b/src/Tags.cpp @@ -409,7 +409,7 @@ bool Tags::GetFirst(wxString & name, wxString & value) bool Tags::GetNext(wxString & name, wxString & value) { - mIter++; + ++mIter; if (mIter == mMap.end()) { return false; } diff --git a/src/TrackArtist.cpp b/src/TrackArtist.cpp index 7e115d2cb..218c2b73a 100644 --- a/src/TrackArtist.cpp +++ b/src/TrackArtist.cpp @@ -2199,7 +2199,6 @@ void TrackArtist::DrawClipSpectrum(WaveTrack *track, } } int it=0; - int oldBin0=-1; bool inMaximum = false; #endif //EXPERIMENTAL_FIND_NOTES diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index e1339d577..d5f0aba5b 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -3752,7 +3752,7 @@ void TrackPanel::ForwardEventToWaveTrackEnvelope(wxMouseEvent & event) // ie one of the Wave displays if (display <= 1) { bool dB = (display == 1); - bool needUpdate = false; + bool needUpdate; // AS: Then forward our mouse event to the envelope. // It'll recalculate and then tell us whether or not to redraw. @@ -7189,7 +7189,7 @@ void TrackPanel::DrawTracks(wxDC * dc) *dc, region, tracksRect, clip, mViewInfo, envelopeFlag, samplesFlag, sliderFlag); - DrawEverythingElse(dc, region, panelRect, clip); + DrawEverythingElse(dc, region, clip); } /// Draws 'Everything else'. In particular it draws: @@ -7197,9 +7197,8 @@ void TrackPanel::DrawTracks(wxDC * dc) /// - Zooming Indicators. /// - Fills in space below the tracks. void TrackPanel::DrawEverythingElse(wxDC * dc, - const wxRegion region, - const wxRect WXUNUSED(panelRect), - const wxRect clip) + const wxRegion ®ion, + const wxRect & clip) { // We draw everything else @@ -7402,7 +7401,7 @@ void TrackPanel::DrawScrubSpeed(wxDC &dc) /// be zoomed into when the user clicks and drags with a /// zoom cursor. Handles both vertical and horizontal /// zooming. -void TrackPanel::DrawZooming(wxDC * dc, const wxRect clip) +void TrackPanel::DrawZooming(wxDC * dc, const wxRect & clip) { wxRect r; @@ -7429,8 +7428,8 @@ void TrackPanel::DrawZooming(wxDC * dc, const wxRect clip) } -void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect rec, - const wxRect trackRect) +void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect & rec, + const wxRect & trackRect) { wxRect r = rec; int labelw = GetLabelWidth(); @@ -7557,7 +7556,7 @@ void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect rec, #endif // USE_MIDI } -void TrackPanel::DrawOutsideOfTrack(Track * t, wxDC * dc, const wxRect r) +void TrackPanel::DrawOutsideOfTrack(Track * t, wxDC * dc, const wxRect & r) { // Fill in area outside of the track AColor::TrackPanelBackground(dc, false); @@ -7598,7 +7597,7 @@ void TrackPanel::DrawOutsideOfTrack(Track * t, wxDC * dc, const wxRect r) } /// Draw a three-level highlight gradient around the focused track. -void TrackPanel::HighlightFocusedTrack(wxDC * dc, const wxRect r) +void TrackPanel::HighlightFocusedTrack(wxDC * dc, const wxRect & r) { wxRect rect = r; rect.x += kLeftInset; @@ -8639,7 +8638,7 @@ void TrackPanel::EnsureVisible(Track * t) } void TrackPanel::DrawBordersAroundTrack(Track * t, wxDC * dc, - const wxRect r, const int vrul, + const wxRect & r, const int vrul, const int labelw) { // Border around track and label area @@ -8666,7 +8665,7 @@ void TrackPanel::DrawBordersAroundTrack(Track * t, wxDC * dc, #endif } -void TrackPanel::DrawShadow(Track * /* t */ , wxDC * dc, const wxRect r) +void TrackPanel::DrawShadow(Track * /* t */ , wxDC * dc, const wxRect & r) { int right = r.x + r.width - 1; int bottom = r.y + r.height - 1; @@ -9754,7 +9753,7 @@ int TrackInfo::GetTrackInfoWidth() const return kTrackInfoWidth; } -void TrackInfo::GetCloseBoxRect(const wxRect r, wxRect & dest) const +void TrackInfo::GetCloseBoxRect(const wxRect & r, wxRect & dest) const { dest.x = r.x; dest.y = r.y; @@ -9762,7 +9761,7 @@ void TrackInfo::GetCloseBoxRect(const wxRect r, wxRect & dest) const dest.height = kTrackInfoBtnSize; } -void TrackInfo::GetTitleBarRect(const wxRect r, wxRect & dest) const +void TrackInfo::GetTitleBarRect(const wxRect & r, wxRect & dest) const { dest.x = r.x + kTrackInfoBtnSize; // to right of CloseBoxRect dest.y = r.y; @@ -9770,7 +9769,7 @@ void TrackInfo::GetTitleBarRect(const wxRect r, wxRect & dest) const dest.height = kTrackInfoBtnSize; } -void TrackInfo::GetMuteSoloRect(const wxRect r, wxRect & dest, bool solo, bool bHasSoloButton) const +void TrackInfo::GetMuteSoloRect(const wxRect & r, wxRect & dest, bool solo, bool bHasSoloButton) const { dest.x = r.x ; dest.y = r.y + 50; @@ -9787,7 +9786,7 @@ void TrackInfo::GetMuteSoloRect(const wxRect r, wxRect & dest, bool solo, bool b } } -void TrackInfo::GetGainRect(const wxRect r, wxRect & dest) const +void TrackInfo::GetGainRect(const wxRect & r, wxRect & dest) const { dest.x = r.x + 7; dest.y = r.y + 70; @@ -9795,7 +9794,7 @@ void TrackInfo::GetGainRect(const wxRect r, wxRect & dest) const dest.height = 25; } -void TrackInfo::GetPanRect(const wxRect r, wxRect & dest) const +void TrackInfo::GetPanRect(const wxRect & r, wxRect & dest) const { dest.x = r.x + 7; dest.y = r.y + 100; @@ -9803,7 +9802,7 @@ void TrackInfo::GetPanRect(const wxRect r, wxRect & dest) const dest.height = 25; } -void TrackInfo::GetMinimizeRect(const wxRect r, wxRect &dest) const +void TrackInfo::GetMinimizeRect(const wxRect & r, wxRect &dest) const { const int kBlankWidth = kTrackInfoBtnSize + 4; dest.x = r.x + kBlankWidth; @@ -9813,7 +9812,7 @@ void TrackInfo::GetMinimizeRect(const wxRect r, wxRect &dest) const dest.height = kTrackInfoBtnSize; } -void TrackInfo::GetSyncLockIconRect(const wxRect r, wxRect &dest) const +void TrackInfo::GetSyncLockIconRect(const wxRect & r, wxRect &dest) const { dest.x = r.x + kTrackInfoWidth - kTrackInfoBtnSize - 4; // to right of minimize button dest.y = r.y + r.height - 19; @@ -9828,7 +9827,7 @@ void TrackInfo::SetTrackInfoFont(wxDC * dc) dc->SetFont(mFont); } -void TrackInfo::DrawBordersWithin(wxDC* dc, const wxRect r, bool bHasMuteSolo) +void TrackInfo::DrawBordersWithin(wxDC* dc, const wxRect & r, bool bHasMuteSolo) { AColor::Dark(dc, false); // same color as border of toolbars (ToolBar::OnPaint()) @@ -9854,7 +9853,7 @@ void TrackInfo::DrawBordersWithin(wxDC* dc, const wxRect r, bool bHasMuteSolo) minimizeRect.x + minimizeRect.width, minimizeRect.y - 1); } -void TrackInfo::DrawBackground(wxDC * dc, const wxRect r, bool bSelected, +void TrackInfo::DrawBackground(wxDC * dc, const wxRect & r, bool bSelected, bool WXUNUSED(bHasMuteSolo), const int labelw, const int WXUNUSED(vrul)) { // fill in label @@ -9879,7 +9878,7 @@ void TrackInfo::DrawBackground(wxDC * dc, const wxRect r, bool bSelected, //} } -void TrackInfo::GetTrackControlsRect(const wxRect r, wxRect & dest) const +void TrackInfo::GetTrackControlsRect(const wxRect & r, wxRect & dest) const { wxRect top; wxRect bot; @@ -9894,7 +9893,7 @@ void TrackInfo::GetTrackControlsRect(const wxRect r, wxRect & dest) const } -void TrackInfo::DrawCloseBox(wxDC * dc, const wxRect r, bool down) +void TrackInfo::DrawCloseBox(wxDC * dc, const wxRect & r, bool down) { wxRect bev; GetCloseBoxRect(r, bev); @@ -9923,7 +9922,7 @@ void TrackInfo::DrawCloseBox(wxDC * dc, const wxRect r, bool down) AColor::BevelTrackInfo(*dc, !down, bev); } -void TrackInfo::DrawTitleBar(wxDC * dc, const wxRect r, Track * t, +void TrackInfo::DrawTitleBar(wxDC * dc, const wxRect & r, Track * t, bool down) { wxRect bev; @@ -9969,7 +9968,7 @@ void TrackInfo::DrawTitleBar(wxDC * dc, const wxRect r, Track * t, } /// Draw the Mute or the Solo button, depending on the value of solo. -void TrackInfo::DrawMuteSolo(wxDC * dc, const wxRect r, Track * t, +void TrackInfo::DrawMuteSolo(wxDC * dc, const wxRect & r, Track * t, bool down, bool solo, bool bHasSoloButton) { wxRect bev; @@ -10022,7 +10021,7 @@ void TrackInfo::DrawMuteSolo(wxDC * dc, const wxRect r, Track * t, } // Draw the minimize button *and* the sync-lock track icon, if necessary. -void TrackInfo::DrawMinimize(wxDC * dc, const wxRect r, Track * t, bool down) +void TrackInfo::DrawMinimize(wxDC * dc, const wxRect & r, Track * t, bool down) { wxRect bev; GetMinimizeRect(r, bev); diff --git a/src/TrackPanel.h b/src/TrackPanel.h index bd643c8a5..4c006d851 100644 --- a/src/TrackPanel.h +++ b/src/TrackPanel.h @@ -103,28 +103,28 @@ private: void EnsureSufficientSliders(int index); void SetTrackInfoFont(wxDC *dc); - void DrawBackground(wxDC * dc, const wxRect r, bool bSelected, bool bHasMuteSolo, const int labelw, const int vrul); - void DrawBordersWithin(wxDC * dc, const wxRect r, bool bHasMuteSolo ); - void DrawCloseBox(wxDC * dc, const wxRect r, bool down); - void DrawTitleBar(wxDC * dc, const wxRect r, Track * t, bool down); - void DrawMuteSolo(wxDC * dc, const wxRect r, Track * t, bool down, bool solo, bool bHasSoloButton); - void DrawVRuler(wxDC * dc, const wxRect r, Track * t); + void DrawBackground(wxDC * dc, const wxRect & r, bool bSelected, bool bHasMuteSolo, const int labelw, const int vrul); + void DrawBordersWithin(wxDC * dc, const wxRect & r, bool bHasMuteSolo ); + void DrawCloseBox(wxDC * dc, const wxRect & r, bool down); + void DrawTitleBar(wxDC * dc, const wxRect & r, Track * t, bool down); + void DrawMuteSolo(wxDC * dc, const wxRect & r, Track * t, bool down, bool solo, bool bHasSoloButton); + void DrawVRuler(wxDC * dc, const wxRect & r, Track * t); #ifdef EXPERIMENTAL_MIDI_OUT void DrawVelocitySlider(wxDC * dc, NoteTrack *t, wxRect r); #endif void DrawSliders(wxDC * dc, WaveTrack *t, wxRect r); // Draw the minimize button *and* the sync-lock track icon, if necessary. - void DrawMinimize(wxDC * dc, const wxRect r, Track * t, bool down); + void DrawMinimize(wxDC * dc, const wxRect & r, Track * t, bool down); - void GetTrackControlsRect(const wxRect r, wxRect &dest) const; - void GetCloseBoxRect(const wxRect r, wxRect &dest) const; - void GetTitleBarRect(const wxRect r, wxRect &dest) const; - void GetMuteSoloRect(const wxRect r, wxRect &dest, bool solo, bool bHasSoloButton) const; - void GetGainRect(const wxRect r, wxRect &dest) const; - void GetPanRect(const wxRect r, wxRect &dest) const; - void GetMinimizeRect(const wxRect r, wxRect &dest) const; - void GetSyncLockIconRect(const wxRect r, wxRect &dest) const; + void GetTrackControlsRect(const wxRect & r, wxRect &dest) const; + void GetCloseBoxRect(const wxRect & r, wxRect &dest) const; + void GetTitleBarRect(const wxRect & r, wxRect &dest) const; + void GetMuteSoloRect(const wxRect & r, wxRect &dest, bool solo, bool bHasSoloButton) const; + void GetGainRect(const wxRect & r, wxRect &dest) const; + void GetPanRect(const wxRect & r, wxRect &dest) const; + void GetMinimizeRect(const wxRect & r, wxRect &dest) const; + void GetSyncLockIconRect(const wxRect & r, wxRect &dest) const; // These arrays are always kept the same size. LWSliderArray mGains; @@ -523,17 +523,17 @@ public: protected: virtual void DrawTracks(wxDC * dc); - virtual void DrawEverythingElse(wxDC *dc, const wxRegion region, - const wxRect panelRect, const wxRect clip); - virtual void DrawOutside(Track *t, wxDC *dc, const wxRect rec, - const wxRect trackRect); + virtual void DrawEverythingElse(wxDC *dc, const wxRegion & region, + const wxRect & clip); + virtual void DrawOutside(Track *t, wxDC *dc, const wxRect & rec, + const wxRect &trackRect); void DrawScrubSpeed(wxDC &dc); - virtual void DrawZooming(wxDC* dc, const wxRect clip); + virtual void DrawZooming(wxDC* dc, const wxRect & clip); - virtual void HighlightFocusedTrack (wxDC* dc, const wxRect r); - virtual void DrawShadow (Track *t, wxDC* dc, const wxRect r); - virtual void DrawBordersAroundTrack(Track *t, wxDC* dc, const wxRect r, const int labelw, const int vrul); - virtual void DrawOutsideOfTrack (Track *t, wxDC* dc, const wxRect r); + virtual void HighlightFocusedTrack (wxDC* dc, const wxRect &r); + virtual void DrawShadow (Track *t, wxDC* dc, const wxRect & r); + virtual void DrawBordersAroundTrack(Track *t, wxDC* dc, const wxRect & r, const int labelw, const int vrul); + virtual void DrawOutsideOfTrack (Track *t, wxDC* dc, const wxRect & r); virtual int IdOfRate( int rate ); virtual int IdOfFormat( int format ); diff --git a/src/effects/EffectManager.cpp b/src/effects/EffectManager.cpp index 2ddb3a005..89386c9ca 100644 --- a/src/effects/EffectManager.cpp +++ b/src/effects/EffectManager.cpp @@ -59,7 +59,7 @@ EffectManager::~EffectManager() while (iter != mHostEffects.end()) { delete iter->second; - iter++; + ++iter; } } diff --git a/src/effects/Equalization.cpp b/src/effects/Equalization.cpp index ea4c073d8..141cdb9e3 100644 --- a/src/effects/Equalization.cpp +++ b/src/effects/Equalization.cpp @@ -955,7 +955,6 @@ bool EffectEqualization::TransferDataFromWindow() int m = 2 * mMSlider->GetValue() + 1; // odd numbers only if (m != mM) { - rr = true; mM = m; mPanel->ForceRecalc(); diff --git a/src/effects/Leveller.cpp b/src/effects/Leveller.cpp index 92805a5ec..721e49ca7 100644 --- a/src/effects/Leveller.cpp +++ b/src/effects/Leveller.cpp @@ -283,7 +283,6 @@ void EffectLeveller::CalcLevellerFactors() limit = gLimit[f]; prevAdjLimit = gAdjLimit[prev]; addOnValue = prevAdjLimit - (adjFactor * prevLimit); - upperAdjLimit = (adjFactor * limit) + addOnValue; gAddOnValue[f] = addOnValue; gAdjLimit[f] = (adjFactor * limit) + addOnValue; diff --git a/src/effects/Phaser.cpp b/src/effects/Phaser.cpp index c4b1be586..54cfabc17 100644 --- a/src/effects/Phaser.cpp +++ b/src/effects/Phaser.cpp @@ -157,7 +157,7 @@ sampleCount EffectPhaser::ProcessBlock(float **inBlock, float **outBlock, sample gain = (1.0 + cos(skipcount * lfoskip + phase)) / 2.0; // change lfo shape - gain = (exp(gain * phaserlfoshape) - 1.0) / (exp(phaserlfoshape) - 1.0); + gain = expm1(gain * phaserlfoshape) / expm1(phaserlfoshape); // attenuate the lfo gain = 1.0 - gain / 255.0 * mDepth; diff --git a/src/effects/TimeWarper.cpp b/src/effects/TimeWarper.cpp index 095b9e8fc..5200161a0 100644 --- a/src/effects/TimeWarper.cpp +++ b/src/effects/TimeWarper.cpp @@ -121,7 +121,7 @@ GeometricInputTimeWarper::GeometricInputTimeWarper(double tStart, double tEnd, double GeometricOutputTimeWarper::Warp(double originalTime) const { double scaledTime = mTimeWarper.Warp(originalTime); - return mTStart + mScale*log(mC0 * scaledTime + 1.0); + return mTStart + mScale*log1p(mC0 * scaledTime); } GeometricOutputTimeWarper::GeometricOutputTimeWarper(double tStart, double tEnd, diff --git a/src/effects/vamp/LoadVamp.cpp b/src/effects/vamp/LoadVamp.cpp index 18de6ef9a..2c73e1d73 100644 --- a/src/effects/vamp/LoadVamp.cpp +++ b/src/effects/vamp/LoadVamp.cpp @@ -160,7 +160,7 @@ wxArrayString VampEffectsModule::FindPlugins(PluginManagerInterface & WXUNUSED(p int output = 0; - for (Plugin::OutputList::iterator j = outputs.begin(); j != outputs.end(); j++) + for (Plugin::OutputList::iterator j = outputs.begin(); j != outputs.end(); ++j) { if (j->sampleType == Plugin::OutputDescriptor::FixedSampleRate || j->sampleType == Plugin::OutputDescriptor::OneSamplePerStep || @@ -294,7 +294,7 @@ Plugin *VampEffectsModule::FindPlugin(const wxString & path, hasParameters = !vp->getParameterDescriptors().empty(); - for (Plugin::OutputList::iterator j = outputs.begin(); j != outputs.end(); j++) + for (Plugin::OutputList::iterator j = outputs.begin(); j != outputs.end(); ++j) { if (j->sampleType == Plugin::OutputDescriptor::FixedSampleRate || j->sampleType == Plugin::OutputDescriptor::OneSamplePerStep || diff --git a/src/export/Export.cpp b/src/export/Export.cpp index 0ac5c4e82..8e7711f81 100644 --- a/src/export/Export.cpp +++ b/src/export/Export.cpp @@ -405,7 +405,7 @@ bool Exporter::Process(AudacityProject *project, bool selectedOnly, double t0, d } bool Exporter::Process(AudacityProject *project, int numChannels, - const wxChar *type, const wxString filename, + const wxChar *type, const wxString & filename, bool selectedOnly, double t0, double t1) { // Save parms diff --git a/src/export/Export.h b/src/export/Export.h index 92d55fb13..d066d4952 100644 --- a/src/export/Export.h +++ b/src/export/Export.h @@ -147,7 +147,7 @@ public: bool Process(AudacityProject *project, bool selectedOnly, double t0, double t1); bool Process(AudacityProject *project, int numChannels, - const wxChar *type, const wxString filename, + const wxChar *type, const wxString & filename, bool selectedOnly, double t0, double t1); void DisplayOptions(int index); diff --git a/src/export/ExportPCM.cpp b/src/export/ExportPCM.cpp index b4431bfd3..bd8b76709 100644 --- a/src/export/ExportPCM.cpp +++ b/src/export/ExportPCM.cpp @@ -327,7 +327,7 @@ public: private: - char *AdjustString(wxString wxStr, int sf_format); + char *AdjustString(const wxString & wxStr, int sf_format); bool AddStrings(AudacityProject *project, SNDFILE *sf, Tags *tags, int sf_format); void AddID3Chunk(wxString fName, Tags *tags, int sf_format); @@ -574,7 +574,7 @@ int ExportPCM::Export(AudacityProject *project, return updateResult; } -char *ExportPCM::AdjustString(const wxString wxStr, int sf_format) +char *ExportPCM::AdjustString(const wxString & wxStr, int sf_format) { bool b_aiff = false; if ((sf_format & SF_FORMAT_TYPEMASK) == SF_FORMAT_AIFF) diff --git a/src/import/ImportFFmpeg.cpp b/src/import/ImportFFmpeg.cpp index 5a7a26afd..f349b0f91 100644 --- a/src/import/ImportFFmpeg.cpp +++ b/src/import/ImportFFmpeg.cpp @@ -778,6 +778,11 @@ int FFmpegImportFileHandle::WriteData(streamContext *sc) default: wxLogError(wxT("Stream %d has unrecognized sample format %d."), streamid, sc->m_samplefmt); + for (int chn=0; chn < nChannels; chn++) + { + free(tmp[chn]); + } + free(tmp); return 1; break; } diff --git a/src/ondemand/ODDecodeFFmpegTask.cpp b/src/ondemand/ODDecodeFFmpegTask.cpp index 5b97b352c..431ca1f24 100644 --- a/src/ondemand/ODDecodeFFmpegTask.cpp +++ b/src/ondemand/ODDecodeFFmpegTask.cpp @@ -304,8 +304,6 @@ int ODFFmpegDecoder::Decode(samplePtr & data, sampleFormat & format, sampleCount samplePtr bufStart = data; streamContext* sc = NULL; - int nChannels; - // printf("start %llu len %llu\n", start, len); //TODO update this to work with seek - this only works linearly now. if(mCurrentPos > start && mCurrentPos <= start+len + kDecodeSampleAllowance) @@ -370,7 +368,6 @@ int ODFFmpegDecoder::Decode(samplePtr & data, sampleFormat & format, sampleCount // ReadNextFrame returns 1 if stream is not to be imported if (sc != (streamContext*)1) { - nChannels = sc->m_stream->codec->channels < sc->m_initialchannels ? sc->m_stream->codec->channels : sc->m_initialchannels; //find out the dts we've seekd to. can't use the stream->cur_dts because it is faulty. also note that until we do the first seek, pkt.dts can be false and will change for the same samples after the initial seek. sampleCount actualDecodeStart = mCurrentPos; diff --git a/src/toolbars/DeviceToolBar.cpp b/src/toolbars/DeviceToolBar.cpp index 0b90ef660..ee6bfc179 100644 --- a/src/toolbars/DeviceToolBar.cpp +++ b/src/toolbars/DeviceToolBar.cpp @@ -310,7 +310,7 @@ void DeviceToolBar::UpdatePrefs() } } - long oldChannels = 1, newChannels; + long oldChannels, newChannels; oldChannels = mInputChannels->GetSelection() + 1; gPrefs->Read(wxT("/AudioIO/RecordChannels"), &newChannels, 0); if (newChannels > 0 && oldChannels != newChannels) diff --git a/src/toolbars/MeterToolBar.cpp b/src/toolbars/MeterToolBar.cpp index 35829803c..ca0a0c06d 100644 --- a/src/toolbars/MeterToolBar.cpp +++ b/src/toolbars/MeterToolBar.cpp @@ -237,9 +237,7 @@ void MeterToolBar::OnSize( wxSizeEvent & event) //WXUNUSED(event) ) bool MeterToolBar::Expose( bool show ) { - bool updated = false; if( show ) { - Meter *meter; if( mPlayMeter ) { mProject->SetPlaybackMeter( mPlayMeter ); } diff --git a/src/widgets/Ruler.cpp b/src/widgets/Ruler.cpp index 81b30bfa6..5c2c98230 100644 --- a/src/widgets/Ruler.cpp +++ b/src/widgets/Ruler.cpp @@ -867,7 +867,6 @@ void Ruler::TickCustom(int labelIdx, bool major, bool minor) } else { - strTop =-strH-mLead; strTop = mTop- mLead+4;// More space was needed... mMaxHeight = max(mMaxHeight, strH + 6); } diff --git a/src/xml/XMLTagHandler.cpp b/src/xml/XMLTagHandler.cpp index 3f9f94c27..112c14c95 100644 --- a/src/xml/XMLTagHandler.cpp +++ b/src/xml/XMLTagHandler.cpp @@ -38,7 +38,7 @@ #include "../SampleFormat.h" #include "../Track.h" -bool XMLValueChecker::IsGoodString(const wxString str) +bool XMLValueChecker::IsGoodString(const wxString & str) { size_t len = str.Length(); int nullIndex = str.Find('\0', false); @@ -50,7 +50,7 @@ bool XMLValueChecker::IsGoodString(const wxString str) } // "Good" means the name is well-formed and names an existing file or folder. -bool XMLValueChecker::IsGoodFileName(const wxString strFileName, const wxString strDirName /* = "" */) +bool XMLValueChecker::IsGoodFileName(const wxString & strFileName, const wxString & strDirName /* = "" */) { // Test strFileName. if (!IsGoodFileString(strFileName) || @@ -74,7 +74,7 @@ bool XMLValueChecker::IsGoodFileString(wxString str) (str.Find(wxFileName::GetPathSeparator()) == -1)); // No path separator characters. } -bool XMLValueChecker::IsGoodSubdirName(const wxString strSubdirName, const wxString strDirName /* = "" */) +bool XMLValueChecker::IsGoodSubdirName(const wxString & strSubdirName, const wxString & strDirName /* = "" */) { // Test strSubdirName. // Note this prevents path separators, and relative path to parents (strDirName), @@ -90,7 +90,7 @@ bool XMLValueChecker::IsGoodSubdirName(const wxString strSubdirName, const wxStr return (fileName.IsOk() && fileName.DirExists()); } -bool XMLValueChecker::IsGoodPathName(const wxString strPathName) +bool XMLValueChecker::IsGoodPathName(const wxString & strPathName) { // Test the corresponding wxFileName. wxFileName fileName(strPathName); @@ -105,7 +105,7 @@ bool XMLValueChecker::IsGoodPathString(wxString str) } -bool XMLValueChecker::IsGoodInt(const wxString strInt) +bool XMLValueChecker::IsGoodInt(const wxString & strInt) { if (!IsGoodString(strInt)) return false; @@ -146,7 +146,7 @@ bool XMLValueChecker::IsGoodInt(const wxString strInt) return true; } -bool XMLValueChecker::IsGoodInt64(const wxString strInt) +bool XMLValueChecker::IsGoodInt64(const wxString & strInt) { if (!IsGoodString(strInt)) return false; diff --git a/src/xml/XMLTagHandler.h b/src/xml/XMLTagHandler.h index f3b06c6f2..57c003b56 100644 --- a/src/xml/XMLTagHandler.h +++ b/src/xml/XMLTagHandler.h @@ -29,12 +29,12 @@ public: // "Good" means well-formed and for the file-related functions, names an existing file or folder. // These are used in HandleXMLTag and BuildFomXML methods to check the input for // security vulnerabilites, per the NGS report for UmixIt. - static bool IsGoodString(const wxString str); + static bool IsGoodString(const wxString & str); - static bool IsGoodFileName(const wxString strFileName, const wxString strDirName = wxEmptyString); + static bool IsGoodFileName(const wxString & strFileName, const wxString & strDirName = wxEmptyString); static bool IsGoodFileString(wxString str); - static bool IsGoodSubdirName(const wxString strSubdirName, const wxString strDirName = wxEmptyString); - static bool IsGoodPathName(const wxString strPathName); + static bool IsGoodSubdirName(const wxString & strSubdirName, const wxString & strDirName = wxEmptyString); + static bool IsGoodPathName(const wxString & strPathName); static bool IsGoodPathString(wxString str); /** @brief Check that the supplied string can be converted to a long (32bit) @@ -46,7 +46,7 @@ public: * @param strInt The string to test * @return true if the string is convertable, false if not */ - static bool IsGoodInt(const wxString strInt); + static bool IsGoodInt(const wxString & strInt); /** @brief Check that the supplied string can be converted to a 64bit * integer. * @@ -56,7 +56,7 @@ public: * @param strInt The string to test * @return true if the string is convertable, false if not */ - static bool IsGoodInt64(const wxString strInt); + static bool IsGoodInt64(const wxString & strInt); static bool IsValidChannel(const int nValue); #ifdef USE_MIDI