Update presets to match Audacity version.
| 134 | // Update presets to match Audacity version. |
| 135 | // |
| 136 | void EQCurveReader::UpdateDefaultCurves(bool updateAll /* false */) |
| 137 | { |
| 138 | if (mCurves.size() == 0) |
| 139 | return; |
| 140 | |
| 141 | wxString unnamed = wxT("unnamed"); |
| 142 | |
| 143 | // Save the "unnamed" curve and remove it so we can add it back as the final curve. |
| 144 | EQCurve userUnnamed(wxT("temp")); |
| 145 | userUnnamed = mCurves.back(); |
| 146 | mCurves.pop_back(); |
| 147 | |
| 148 | EQCurveArray userCurves = mCurves; |
| 149 | mCurves.clear(); |
| 150 | // We only wamt to look for the shipped EQDefaultCurves.xml |
| 151 | wxFileName fn = wxFileName(FileNames::ResourcesDir(), wxT("EQDefaultCurves.xml")); |
| 152 | wxLogDebug(wxT("Attempting to load EQDefaultCurves.xml from %s"),fn.GetFullPath()); |
| 153 | XMLFileReader reader; |
| 154 | |
| 155 | if(!reader.Parse(this, fn.GetFullPath())) { |
| 156 | wxLogError(wxT("EQDefaultCurves.xml could not be read.")); |
| 157 | return; |
| 158 | } |
| 159 | else { |
| 160 | wxLogDebug(wxT("Loading EQDefaultCurves.xml successful.")); |
| 161 | } |
| 162 | |
| 163 | EQCurveArray defaultCurves = mCurves; |
| 164 | mCurves.clear(); // clear now so that we can sort then add back. |
| 165 | |
| 166 | // Remove "unnamed" if it exists. |
| 167 | if (defaultCurves.back().Name == unnamed) { |
| 168 | defaultCurves.pop_back(); |
| 169 | } |
| 170 | else { |
| 171 | wxLogError(wxT("Error in EQDefaultCurves.xml")); |
| 172 | } |
| 173 | |
| 174 | int numUserCurves = userCurves.size(); |
| 175 | int numDefaultCurves = defaultCurves.size(); |
| 176 | EQCurve tempCurve(wxT("test")); |
| 177 | |
| 178 | if (updateAll) { |
| 179 | // Update all factory preset curves. |
| 180 | // Sort and add factory defaults first; |
| 181 | mCurves = defaultCurves; |
| 182 | std::sort(mCurves.begin(), mCurves.end()); |
| 183 | // then add remaining user curves: |
| 184 | for (int curveCount = 0; curveCount < numUserCurves; curveCount++) { |
| 185 | bool isCustom = true; |
| 186 | tempCurve = userCurves[curveCount]; |
| 187 | // is the name in the default set? |
| 188 | for (int defCurveCount = 0; defCurveCount < numDefaultCurves; defCurveCount++) { |
| 189 | if (tempCurve.Name == mCurves[defCurveCount].Name) { |
| 190 | isCustom = false; |
| 191 | break; |
| 192 | } |
| 193 | } |
nothing calls this directly
no test coverage detected