diff options
author | Alexander Golubev <fatzer2@gmail.com> | 2025-07-28 21:01:51 +0300 |
---|---|---|
committer | Alexander Golubev <fatzer2@gmail.com> | 2025-07-29 14:04:43 +0300 |
commit | 8e4a3a799a2fb76a4dff8aaccc7d44027eb84f1b (patch) | |
tree | 4583f06e4bb86554b065b6eff13d867446f93d2e /libk3b/core/k3bdefaultexternalprograms.cpp | |
parent | d7d278f1e8b06ffffbb1ec3dbcd4af994269b4cc (diff) | |
download | k3b-8e4a3a799a2fb76a4dff8aaccc7d44027eb84f1b.tar.gz k3b-8e4a3a799a2fb76a4dff8aaccc7d44027eb84f1b.zip |
Fix normalize/normalize-audio discovery
Look for both binary names "normalize-audio" (Debian) and "normalize"
(all the rest distributions) when looking for the executable.
Bug: https://mirror.git.trinitydesktop.org/gitea/TDE/k3b/issues/58
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
Diffstat (limited to 'libk3b/core/k3bdefaultexternalprograms.cpp')
-rw-r--r-- | libk3b/core/k3bdefaultexternalprograms.cpp | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/libk3b/core/k3bdefaultexternalprograms.cpp b/libk3b/core/k3bdefaultexternalprograms.cpp index a5ba55a..7fbace6 100644 --- a/libk3b/core/k3bdefaultexternalprograms.cpp +++ b/libk3b/core/k3bdefaultexternalprograms.cpp @@ -712,20 +712,41 @@ K3bNormalizeProgram::K3bNormalizeProgram() { } +TQStringList K3bNormalizeProgram::binNames() const { + TQStringList rv; + rv << "normalize-audio" << "normalize"; + return rv; +} bool K3bNormalizeProgram::scan( const TQString& p ) { if( p.isEmpty() ) return false; - TQString path = p; - TQFileInfo fi( path ); + bool found = false; + + TQFileInfo fi( p ); if( fi.isDir() ) { - if( path[path.length()-1] != '/' ) - path.append("/"); - path.append("normalize-audio"); + + for(const auto & name: binNames()) { + TQString path = p; + if( path[path.length()-1] != '/' ) + path.append("/"); + path.append(name); + + if( verifyAddBin(path) ) + found = true; + } + } else { + if( verifyAddBin(p) ) + found = true; } + return found; +} + + +bool K3bNormalizeProgram::verifyAddBin( const TQString& path ) { if( !TQFile::exists( path ) ) return false; |