diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-03 02:15:56 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-03 02:15:56 +0000 |
commit | 50b48aec6ddd451a6d1709c0942477b503457663 (patch) | |
tree | a9ece53ec06fd0a2819de7a2a6de997193566626 /plugins/encoder/external/k3bexternalencodercommand.cpp | |
download | k3b-50b48aec6ddd451a6d1709c0942477b503457663.tar.gz k3b-50b48aec6ddd451a6d1709c0942477b503457663.zip |
Added abandoned KDE3 version of K3B
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/k3b@1084400 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'plugins/encoder/external/k3bexternalencodercommand.cpp')
-rw-r--r-- | plugins/encoder/external/k3bexternalencodercommand.cpp | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/plugins/encoder/external/k3bexternalencodercommand.cpp b/plugins/encoder/external/k3bexternalencodercommand.cpp new file mode 100644 index 0000000..5dcfb23 --- /dev/null +++ b/plugins/encoder/external/k3bexternalencodercommand.cpp @@ -0,0 +1,110 @@ +/* + * + * $Id: k3bexternalencoder.cpp 567280 2006-07-28 13:26:27Z trueg $ + * Copyright (C) 2003-2007 Sebastian Trueg <trueg@k3b.org> + * + * This file is part of the K3b project. + * Copyright (C) 1998-2007 Sebastian Trueg <trueg@k3b.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * See the file "COPYING" for the exact licensing terms. + */ + +#include <config.h> + +#include "k3bexternalencodercommand.h" + +#include <k3bcore.h> + +#include <kconfig.h> +#include <kstandarddirs.h> + + +QValueList<K3bExternalEncoderCommand> K3bExternalEncoderCommand::readCommands() +{ + KConfig* c = k3bcore->config(); + + c->setGroup( "K3bExternalEncoderPlugin" ); + + QValueList<K3bExternalEncoderCommand> cl; + + QStringList cmds = c->readListEntry( "commands" ); + for( QStringList::iterator it = cmds.begin(); it != cmds.end(); ++it ) { + QStringList cmdString = c->readListEntry( "command_" + *it ); + K3bExternalEncoderCommand cmd; + cmd.name = cmdString[0]; + cmd.extension = cmdString[1]; + cmd.command = cmdString[2]; + for( unsigned int i = 3; i < cmdString.count(); ++i ) { + if( cmdString[i] == "swap" ) + cmd.swapByteOrder = true; + else if( cmdString[i] == "wave" ) + cmd.writeWaveHeader = true; + } + cl.append(cmd); + } + + // some defaults + if( cmds.isEmpty() ) { + // check if the lame encoding plugin has been compiled +#ifndef HAVE_LAME + K3bExternalEncoderCommand lameCmd; + lameCmd.name = "Mp3 (Lame)"; + lameCmd.extension = "mp3"; + lameCmd.command = "lame -h --tt %t --ta %a --tl %m --ty %y --tc %c - %f"; + + cl.append( lameCmd ); +#endif + + if( !KStandardDirs::findExe( "flac" ).isEmpty() ) { + K3bExternalEncoderCommand flacCmd; + flacCmd.name = "Flac"; + flacCmd.extension = "flac"; + flacCmd.command = "flac " + "-V " + "-o %f " + "--force-raw-format " + "--endian=big " + "--channels=2 " + "--sample-rate=44100 " + "--sign=signed " + "--bps=16 " + "-T ARTIST=%a " + "-T TITLE=%t " + "-T TRACKNUMBER=%n " + "-T DATE=%y " + "-T ALBUM=%m " + "-"; + + cl.append( flacCmd ); + } + + if( !KStandardDirs::findExe( "mppenc" ).isEmpty() ) { + K3bExternalEncoderCommand mppCmd; + mppCmd.name = "Musepack"; + mppCmd.extension = "mpc"; + mppCmd.command = "mppenc " + "--standard " + "--overwrite " + "--silent " + "--artist %a " + "--title %t " + "--track %n " + "--album %m " + "--comment %c " + "--year %y " + "- " + "%f"; + mppCmd.swapByteOrder = true; + mppCmd.writeWaveHeader = true; + + cl.append( mppCmd ); + } + } + + return cl; +} + |