diff --git a/CMakeLists.txt b/CMakeLists.txt index dbcb7cc..5a429cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.16.0) project(pipedal - VERSION 1.2.44 + VERSION 1.2.45 DESCRIPTION "PiPedal Guitar Effect Pedal For Raspberry Pi" HOMEPAGE_URL "https://rerdavies.github.io/pipedal" ) -set (DISPLAY_VERSION "PiPedal v1.2.42-Experimental") +set (DISPLAY_VERSION "PiPedal v1.2.45-Release") set (PACKAGE_ARCHITECTURE "arm64") set (CMAKE_INSTALL_PREFIX "/usr/") diff --git a/README.md b/README.md index e68cbae..1639f4d 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,13 @@ -Download: v1.2.42 +Download: v1.2.45 Website: [https://rerdavies.github.io/pipedal](https://rerdavies.github.io/pipedal). Documentation: [https://rerdavies.github.io/pipedal/Documentation.html](https://rerdavies.github.io/pipedal/Documentation.html).   -#### NEW version 1.2.44 Release, providing support for Raspberry Pi OS Bookworm. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. +#### NEW version 1.2.45 Release, providing support for Raspberry Pi OS Bookworm. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details.   diff --git a/docs/Installing.md b/docs/Installing.md index 13f6cea..32a2bde 100644 --- a/docs/Installing.md +++ b/docs/Installing.md @@ -13,17 +13,17 @@ page_icon: img/Install4.jpg Download the most recent Debian (.deb) package for your platform: -- [Raspberry Pi OS bookworm (64-bit) v1.2.42](https://github.com/rerdavies/pipedal/releases/download/) +- [Raspberry Pi OS bookworm (64-bit) v1.2.45](https://github.com/rerdavies/pipedal/releases/download/) - [Ubuntu/Raspberry Pi OS bullseyeye (64-bit) v1.2.31](https://github.com/rerdavies/pipedal/releases/download/v1.1.31/pipedal_1.1.31_arm64.deb) -Version 1.2.44 has not yet been tested on Ubuntu or Raspberry Pi OS bullseye. On these platforms, we recommend that you use version 1.1.31. +Version 1.2.45 has not yet been tested on Ubuntu or Raspberry Pi OS bullseye. On these platforms, we recommend that you use version 1.1.31. Install the package by running ``` sudo apt update cd ~/Downloads - sudo apt-get install pipedal_1.2.42_arm64.deb + sudo apt-get install pipedal_1.2.45_arm64.deb ``` Adjust accordingly if you have downloaded v1.1.31. diff --git a/docs/ReleaseNotes.md b/docs/ReleaseNotes.md index 21f545f..d2dd809 100644 --- a/docs/ReleaseNotes.md +++ b/docs/ReleaseNotes.md @@ -1,5 +1,23 @@ # Release Notes +## PiPedal 1.2.45 Release + +This version focuses on fixes and improvements to TooB Neural Amp Modeler. +TooB NAM now uses about 20% less CPU, which can help enormously on Raspberry Pi 4. + +You may need to change your audio buffers to prevent dropouts when using TooB Neural Amp Modeler. Setting your audio buffers to 32x4 seems to produce good results. You may also want experiment with 16x4 audio buffers. This seems to work, but it has had limited testing so far, so I can't say with any certainty whether it is stable for long-term use. 2-buffer audio settings should be avoided. As always, using your Pi for anything else at the same time you are using PiPedal will cause XRuns. + +I would once again like to extend special thanks and acknowledgements to Steven Atkins for his outstanding work on the NeuralAmpModelerCore project on which TooB Neural Amp Modeler depends (as do almost all other Neural Amp Modeler plugins). + +Bug fixes: + +- The About page now displays the correct version. +- TooB NAM frequency response now displays correctly. +- TooB NAM no longer displays error messages when loading. +- Update Dialog has better layout on portrait phone displays. +- Prevent brief flashing of the Reload... button during the last phase of an update. + + ## PiPedal 1.2.44 Release This version includes the following new features: diff --git a/docs/download.md b/docs/download.md index 46dc457..16ce4ed 100644 --- a/docs/download.md +++ b/docs/download.md @@ -4,17 +4,17 @@ Download the most recent Debian (.deb) package for your platform: -- Raspberry Pi OS Bookworm (64-bit) v1.2.42 +- Raspberry Pi OS Bookworm (64-bit) v1.2.45 - Ubuntu 21.04 or Raspberry Pi OS bullseyeyeye (64-bit) v1.1.31 -v1.2.42 is does not currently support Ubuntu 21.04, or older versions of Raspberry Pi OS. +v1.2.45 is does not currently support Ubuntu 21.04, or older versions of Raspberry Pi OS. Install the package by running ``` sudo apt update cd ~/Downloads - sudo apt-get install ./pipedal_1.2.42_arm64.deb + sudo apt-get install ./pipedal_1.2.45_arm64.deb ``` Follow the instructions in [_Configuring PiPedal After Installation_](https://rerdavies.github.io/pipedal/Configuring.html) to complete the installation. diff --git a/docs/index.md b/docs/index.md index 33f3fd1..7660af7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,7 +1,7 @@ -v1.2.42 +v1.2.45   @@ -9,7 +9,7 @@ To download PiPedal, click [here](download.md). To view PiPedal documentation, click [here](Documentation.md). -#### NEW version 1.2.44 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. +#### NEW version 1.2.45 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details.   diff --git a/lv2/aarch64/ToobAmp.lv2/CabIR.ttl b/lv2/aarch64/ToobAmp.lv2/CabIR.ttl index a93abac..a191411 100644 --- a/lv2/aarch64/ToobAmp.lv2/CabIR.ttl +++ b/lv2/aarch64/ToobAmp.lv2/CabIR.ttl @@ -88,7 +88,7 @@ cabir:impulseFile3 doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ TooB Cab IR is a convolution-based guitar cabinet impulse response simulator. diff --git a/lv2/aarch64/ToobAmp.lv2/CabSim.ttl b/lv2/aarch64/ToobAmp.lv2/CabSim.ttl index 7aa0b69..c89b203 100644 --- a/lv2/aarch64/ToobAmp.lv2/CabSim.ttl +++ b/lv2/aarch64/ToobAmp.lv2/CabSim.ttl @@ -49,7 +49,7 @@ toob:frequencyResponseVector doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; mod:brand "TooB"; mod:label "TooB CabSim"; diff --git a/lv2/aarch64/ToobAmp.lv2/ConvolutionReverb.ttl b/lv2/aarch64/ToobAmp.lv2/ConvolutionReverb.ttl index a176feb..789f16c 100644 --- a/lv2/aarch64/ToobAmp.lv2/ConvolutionReverb.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ConvolutionReverb.ttl @@ -51,7 +51,7 @@ toobimpulse:impulseFile doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ Convolution reverb is a notoriously compute-intensive effect. If you are having performance issues, use the Max T control to constrain the length of the impulse file to diff --git a/lv2/aarch64/ToobAmp.lv2/ConvolutionReverbStereo.ttl b/lv2/aarch64/ToobAmp.lv2/ConvolutionReverbStereo.ttl index c2b131d..fb049b4 100644 --- a/lv2/aarch64/ToobAmp.lv2/ConvolutionReverbStereo.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ConvolutionReverbStereo.ttl @@ -49,7 +49,7 @@ toobimpulse:impulseFile doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ diff --git a/lv2/aarch64/ToobAmp.lv2/InputStage.ttl b/lv2/aarch64/ToobAmp.lv2/InputStage.ttl index 3bc38f7..6ee4129 100644 --- a/lv2/aarch64/ToobAmp.lv2/InputStage.ttl +++ b/lv2/aarch64/ToobAmp.lv2/InputStage.ttl @@ -65,7 +65,7 @@ inputStage:filterGroup doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; mod:brand "TooB"; mod:label "TooB Input"; diff --git a/lv2/aarch64/ToobAmp.lv2/SpectrumAnalyzer.ttl b/lv2/aarch64/ToobAmp.lv2/SpectrumAnalyzer.ttl index afe8bf0..7887804 100644 --- a/lv2/aarch64/ToobAmp.lv2/SpectrumAnalyzer.ttl +++ b/lv2/aarch64/ToobAmp.lv2/SpectrumAnalyzer.ttl @@ -58,7 +58,7 @@ doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment "TooB spectrum analyzer" ; mod:brand "TooB"; diff --git a/lv2/aarch64/ToobAmp.lv2/ToneStack.ttl b/lv2/aarch64/ToobAmp.lv2/ToneStack.ttl index bfb4ae9..a1f71fe 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToneStack.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToneStack.ttl @@ -55,7 +55,7 @@ tonestack:eqGroup doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; uiext:ui ; diff --git a/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0 b/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0 index 19a4155..b60a56e 120000 --- a/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0 +++ b/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0 @@ -1 +1 @@ -ToobAmp.so.1.1.43 \ No newline at end of file +ToobAmp.so.1.1.45 \ No newline at end of file diff --git a/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.1.1.43 b/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.1.1.43 deleted file mode 100644 index e462d69..0000000 Binary files a/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.1.1.43 and /dev/null differ diff --git a/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.1.1.45 b/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.1.1.45 new file mode 100644 index 0000000..4a0f8af Binary files /dev/null and b/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.1.1.45 differ diff --git a/lv2/aarch64/ToobAmp.lv2/ToobAmpUI.so b/lv2/aarch64/ToobAmp.lv2/ToobAmpUI.so index 5972fe4..cd832d4 100644 Binary files a/lv2/aarch64/ToobAmp.lv2/ToobAmpUI.so and b/lv2/aarch64/ToobAmp.lv2/ToobAmpUI.so differ diff --git a/lv2/aarch64/ToobAmp.lv2/ToobChorus.ttl b/lv2/aarch64/ToobAmp.lv2/ToobChorus.ttl index 9748da0..c0a9add 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobChorus.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobChorus.ttl @@ -40,7 +40,7 @@ doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ Emulation of a Boss CE-2 Chorus. diff --git a/lv2/aarch64/ToobAmp.lv2/ToobDelay.ttl b/lv2/aarch64/ToobAmp.lv2/ToobDelay.ttl index 4dcb031..d5e37c8 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobDelay.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobDelay.ttl @@ -41,7 +41,7 @@ doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ A straightforward no-frills digital delay. diff --git a/lv2/aarch64/ToobAmp.lv2/ToobFlanger.ttl b/lv2/aarch64/ToobAmp.lv2/ToobFlanger.ttl index dce7c25..c09137e 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobFlanger.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobFlanger.ttl @@ -41,7 +41,7 @@ doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ Emulation of a Boss BF-2 Flanger, based on circuit analysis and simulation of the original. diff --git a/lv2/aarch64/ToobAmp.lv2/ToobFlangerStereo.ttl b/lv2/aarch64/ToobAmp.lv2/ToobFlangerStereo.ttl index a2b4ef5..90126b8 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobFlangerStereo.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobFlangerStereo.ttl @@ -41,7 +41,7 @@ doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ Digital emulation of a Boss BF-2 Flanger. diff --git a/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl b/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl index bc1f13b..61564d0 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl @@ -41,7 +41,7 @@ doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ Toob Freeverb is an Lv2 implementation of the famous Freeverb reverb effect. FreeVerb delivers a well-balanced reverb with very little tonal coloration. diff --git a/lv2/aarch64/ToobAmp.lv2/ToobML.ttl b/lv2/aarch64/ToobAmp.lv2/ToobML.ttl index 6d02c04..c4b586e 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobML.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobML.ttl @@ -63,7 +63,7 @@ toobml:sagGroup doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ The TooB ML Amplifier plugin provides emulation of a variety of amplifiers and overdrive pedals that are implemented using neural-network-based machine learning models of real amplifiers. diff --git a/lv2/aarch64/ToobAmp.lv2/ToobNeuralAmpModeler.ttl b/lv2/aarch64/ToobAmp.lv2/ToobNeuralAmpModeler.ttl index ff55aab..beb259e 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobNeuralAmpModeler.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobNeuralAmpModeler.ttl @@ -58,7 +58,7 @@ toobNam:eqGroup doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ A port of Steven Atkinson's Neural Amp Modeler to LV2. diff --git a/lv2/aarch64/ToobAmp.lv2/ToobTuner.ttl b/lv2/aarch64/ToobAmp.lv2/ToobTuner.ttl index fa38846..f09a822 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobTuner.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobTuner.ttl @@ -40,7 +40,7 @@ doap:license ; doap:maintainer ; lv2:minorVersion 0 ; - lv2:microVersion 43 ; + lv2:microVersion 45 ; rdfs:comment """ TooB Tuner is a chromatic guitar tuner. """ ; diff --git a/react/src/AboutDialog.tsx b/react/src/AboutDialog.tsx index 395e06b..db3120e 100644 --- a/react/src/AboutDialog.tsx +++ b/react/src/AboutDialog.tsx @@ -218,7 +218,7 @@ const AboutDialog = withStyles(styles, { withTheme: true })( - Copyright © 2022 Robin Davies. + Copyright © 2022-2024 Robin Davies. {this.model.isAndroidHosted() && ( diff --git a/react/src/PiPedalModel.tsx b/react/src/PiPedalModel.tsx index 7c90d36..f155618 100644 --- a/react/src/PiPedalModel.tsx +++ b/react/src/PiPedalModel.tsx @@ -54,6 +54,8 @@ export enum State { InstallingUpdate, }; +class UpdatedError extends Error { +}; export function wantsLoadingScreen(state: State) { return state >= State.Reconnecting; } @@ -728,10 +730,7 @@ export class PiPedalModel //implements PiPedalModel if (current.currentVersion.length !== 0 && current.currentVersion !== updateStatus.currentVersion) { // !! Server has been updated!!! this.reloadPage(); - throw new Error("Reloading..."); - } - if (updateStatus.getActiveRelease().updateAvailable) { - this.promptForUpdate.set(true); + throw new UpdatedError("Server has been updated"); } this.updatePromptForUpdate() } @@ -879,7 +878,12 @@ export class PiPedalModel //implements PiPedalModel this.setState(State.Ready); }) .catch((what) => { - this.onError(what.toString()); + if (what instanceof UpdatedError) + { + // do nothing. a page reload is imminent and unavoidable as soon as we return to the dispatcher. + } else { + this.onError(what.toString()); + } }) } makeSocketServerUrl(hostName: string, port: number): string { @@ -1070,8 +1074,20 @@ export class PiPedalModel //implements PiPedalModel } - onError(msg: string): void { - this.errorMessage.set(msg); + onError(message: string| Error): void { + let m = message; + if (message instanceof Error) + { + let e = message as Error; + if (e.message) { + m = e.message as string; + } else { + m = e.toString(); + } + } else{ + m = message.toString(); + } + this.errorMessage.set(m); this.state.set(State.Error); } @@ -1382,10 +1398,10 @@ export class PiPedalModel //implements PiPedalModel let changed = item.setControlValue(key, value); if (changed) { - this.pedalboard.set(newPedalboard); if (notifyServer) { this._setServerControl("setControl", instanceId, key, value); } + this.pedalboard.set(newPedalboard); for (let i = 0; i < this._controlValueChangeItems.length; ++i) { let item = this._controlValueChangeItems[i]; if (instanceId === item.instanceId) { @@ -1895,7 +1911,18 @@ export class PiPedalModel //implements PiPedalModel } showAlert(message: string| Error): void { - let m = message.toString(); + let m = message; + if (message instanceof Error) + { + let e = message as Error; + if (e.message) { + m = e.message as string; + } else { + m = e.toString(); + } + } else{ + m = message.toString(); + } this.alertMessage.set(m); } diff --git a/react/src/UpdateDialog.tsx b/react/src/UpdateDialog.tsx index 8223b33..3ece574 100644 --- a/react/src/UpdateDialog.tsx +++ b/react/src/UpdateDialog.tsx @@ -34,6 +34,7 @@ import { UpdateStatus, UpdateRelease, UpdatePolicyT, intToUpdatePolicyT } from ' import { PiPedalModelFactory, PiPedalModel } from './PiPedalModel'; import Select from '@mui/material/Select'; import MenuItem from '@mui/material/MenuItem'; +import ResizeResponsiveComponent from './ResizeResponsiveComponent'; const UPDATE_CHECK_DELAY = 86400000; // one day in ms. @@ -47,12 +48,12 @@ export interface UpdateDialogProps { export interface UpdateDialogState { updateStatus: UpdateStatus; - compactLandscape: boolean; + compactWidth: boolean; alertDialogOpen: boolean; alertDialogMessage: string; }; -export default class UpdateDialog extends React.Component { +export default class UpdateDialog extends ResizeResponsiveComponent { private model: PiPedalModel; constructor(props: UpdateDialogProps) { @@ -61,12 +62,13 @@ export default class UpdateDialog extends React.Component { this.handleClose(); }} style={{ userSelect: "none" }} > - { - (!compact) && - ( - -
- PiPedal Updates - -
+ +
+ Updates + +
-
- ) - } - { - (!compact) && - ( - - ) - } +
+ {(upToDate) && ( @@ -197,31 +196,56 @@ export default class UpdateDialog extends React.Component + + Current version: + + + {updateStatus.currentVersionDisplayName} + + {(showUpgradeVersion) && ( +
+ + Update version: + + + {updateRelease.upgradeVersionDisplayName} + +
+ )} + + + ) : ( +
+
+ + Current version: + + {(showUpgradeVersion) && ( + + Update version: + + ) + } +
+
+ + {updateStatus.currentVersionDisplayName} + + {(showUpgradeVersion) && ( + + {updateRelease.upgradeVersionDisplayName} + + ) + } +
+
+ + ) + } -
-
- - Current version: - - {(showUpgradeVersion) && ( - - Update version: - - ) - } -
-
- - {updateStatus.currentVersionDisplayName} - - {(showUpgradeVersion) && ( - - {updateRelease.upgradeVersionDisplayName} - - ) - } -
-
{ (updateStatus.errorMessage.length !== 0) && ( @@ -233,7 +257,7 @@ export default class UpdateDialog extends React.Component { this.onViewReleaseNotes(); }}>View release notes +
diff --git a/src/PiPedalUI.cpp b/src/PiPedalUI.cpp index e840c20..3a2d637 100644 --- a/src/PiPedalUI.cpp +++ b/src/PiPedalUI.cpp @@ -206,10 +206,6 @@ UiFileProperty::UiFileProperty(PluginHost *pHost, const LilvNode *node, const st { this->resourceDirectory_ = resourceDirectory.AsString(); } - if (this->resourceDirectory_.empty()) - { - this->resourceDirectory_ = "default"; - } this->fileTypes_ = UiFileType::GetArray(pHost, node, pHost->lilvUris->pipedalUI__fileTypes); } diff --git a/src/PluginHost.cpp b/src/PluginHost.cpp index fb28e0b..b044fe8 100644 --- a/src/PluginHost.cpp +++ b/src/PluginHost.cpp @@ -1457,6 +1457,7 @@ void PluginHost::CheckForResourceInitialization(const std::string &pluginUri,con resourceInfoSet.insert(ResourceInfo(fileProperty->directory(),fileProperty->resourceDirectory())); } } + try { for (const ResourceInfo&resourceInfo: resourceInfoSet) { std::filesystem::path sourcePath = bundlePath / resourceInfo.resourceDirectory; @@ -1467,6 +1468,10 @@ void PluginHost::CheckForResourceInitialization(const std::string &pluginUri,con } } + } catch (const std::exception &e) + { + Lv2Log::error(SS("CheckForResourceInitialization: " << e.what())); + } } } } diff --git a/src/Updater.cpp b/src/Updater.cpp index 2ebb8dd..e5b35a0 100644 --- a/src/Updater.cpp +++ b/src/Updater.cpp @@ -431,7 +431,7 @@ void Updater::CheckForUpdate(bool useCache) updateResult = this->currentResult; } - //const std::string responseOption = "-w \"%{response_code}\""; + // const std::string responseOption = "-w \"%{response_code}\""; #ifdef WIN32 responseOption = "-w \"%%{response_code}\""; // windows shell requires doubling of the %%. #endif @@ -787,9 +787,9 @@ static std::string getFingerprint(const std::string &gpgText) } return gpgText.substr(start, nPos - start); } -static bool IsSignatureGood(const std::string&gpgText) +static bool IsSignatureGood(const std::string &gpgText) { - std::string originPosition = "gpg: Good signature from \""; + std::string originPosition = "gpg: Good signature from \""; size_t nPos = gpgText.find(originPosition); return nPos != std::string::npos;