23 #include <QApplication>    24 #include <QCommandLineParser>    29 #include <kcrash_version.h>    30 #include <KDBusService>    31 #include <KLocalizedString>    32 #include <kxmlgui_version.h>    47         i18n(
"Thomas Eschenbacher"),
    48         i18n(
"Project leader since 2000, core development"),
    49         _(
"Thomas.Eschenbacher@gmx.de"),
    50         i18n(
"http://kwave.sourceforge.net")
    54         i18n(
"Creator of the project, development 1998-2000"),
    56         i18n(
"http://www.wilz.de"));
    59         i18n(
"Creator of the Help/About dialog"),
    63         i18n(
"Caulier Gilles"),
    64         i18n(
"splashscreen, tests and bugfixes"),
    65         _(
"caulier.gilles@free.fr"),
    66         i18n(
"http://caulier.gilles.free.fr"));
    68         i18n(
"Dave Flogeras"),
    69         i18n(
"Notch filter plugin"),
    70         _(
"d.flogeras@unb.ca"),
    76         i18n(
"http://rikkus.info/esoundlevelmeter.html"));
    78         i18n(
"Joerg-Christian Boehme"),
    79         i18n(
"PulseAudio record plugin"),
    80         _(
"joerg@chaosdorf.de"),
    85         i18n(
"Stefan Westerfeld"),
    86         i18n(
"Author of aRts"),
    87         _(
"stefan@space.twc.de"),
    90         i18n(
"Sven-Steffen Arndt"),
    91         i18n(
"Kwave homepage and German online help"),
    95         i18n(
"Aurelien Jarno"),
    96         i18n(
"Debian packager"),
    97         _(
"aurel32@debian.org"),
   100         i18n(
"Robert M. Stockmann"),
   101         i18n(
"Packaging for Mandrake / X86_64"),
   102         _(
"stock@stokkie.net"),
   109         i18n(
"Martin Kuball"),
   111         _(
"makube@user.sourceforge.net"),
   114         i18n(
"Robert Leslie"),
   115         i18n(
"Author of the 'mad' MP3 decoder library"),
   117         i18n(
"http://www.mars.org/home/rob/proj/mpeg"));
   119         i18n(
"T.H.F. Klok and Cedric Tefft"),
   120         i18n(
"Maintainers of the 'id3lib' library"),
   122         i18n(
"http://www.id3lib.org/"));
   124         i18n(
"Michael Pruett"),
   125         i18n(
"Author of the 'audiofile' library"),
   126         _(
"mpruett@sgi.com"),
   127         i18n(
"http://www.68k.org/~michael/audiofile/"));
   130         i18n(
"Spanish translation"),
   131         _(
"pureacetone@gmail.com"),
   134         i18n(
"Erik de Castro Lopo"),
   135         i18n(
"Author of the 'sndfile' library"),
   136         _(
"erikd@zip.com.au"),
   137         i18n(
"http://www.mega-nerd.com/libsndfile/"));
   140         i18n(
"Czech translation"),
   141         _(
"pavelfric@seznam.cz"),
   142         i18n(
"http://fripohled.blogspot.com"));
   144         i18n(
"Panagiotis Papadopoulos"),
   145         i18n(
"String and i18n updates"),
   146         _(
"pano_90@gmx.net"),
   150 #ifdef WITH_OPTIMIZED_MEMCPY   156 int main(
int argc, 
char **argv)
   164 #if KCrash_VERSION >= ((5 << 16) | (15 << 8) | (0))   165     KCrash::initialize();
   169     KLocalizedString::setApplicationDomain(PROJECT_NAME);
   171     QCommandLineParser cmdline;
   172     cmdline.addHelpOption();
   173     cmdline.addVersionOption();
   174     cmdline.addOption(QCommandLineOption(
   175         _(
"disable-splashscreen"),
   176         i18n(
"Disable the Splash Screen.")
   178     cmdline.addOption(QCommandLineOption(
   180         i18n(
"Start Kwave iconified.")
   182     cmdline.addOption(QCommandLineOption(
   184         i18nc(
"description of command line parameter",
   185               "Log all commands into a file <file>."),
   186         i18nc(
"placeholder of command line parameter", 
"file")
   188     cmdline.addOption(QCommandLineOption(
   190         i18nc(
"description of command line parameter",
   191               "Select a GUI type: SDI, MDI or TAB mode."),
   192         i18nc(
"placeholder of command line parameter", 
"sdi|mdi|tab")
   194     cmdline.addPositionalArgument(
   196         i18nc(
"description of command line parameter",
   197               "List of audio files, Kwave macro files "\
   198               "or Kwave URLs to open (optionally)"),
   199         i18nc(
"placeholder of command line parameter", 
"[files...]")
   206         i18n(
"A sound editor built on KDE Frameworks 5"),
   207         KAboutLicense::GPL_V2,
   208         i18n(
"(c) 2016, Thomas Eschenbacher"),
   210         _(
"http://www.kde.org/applications/multimedia/kwave"),
   211         _(
"Thomas.Eschenbacher@gmx.de")
   215     about.setOrganizationDomain(QByteArray(
"kde.org"));
   216     about.setDesktopFileName(QStringLiteral(
"org.kde.kwave"));
   219     KAboutData::setApplicationData(about);
   222     printf(
"\nThis is %s v%s (compiled with KDE Frameworks %s)\n",
   223         about.productName().toLatin1().data(),
   224         about.version().toLatin1().data(),
   225         KXMLGUI_VERSION_STRING
   229     app.setApplicationName(
_(
"kwave"));
   230     app.setApplicationVersion(
_(KWAVE_VERSION));
   231     app.setAttribute(Qt::AA_UseHighDpiPixmaps, 
true); 
   232     cmdline.process(app);
   233     about.setupCommandLine(&cmdline);
   234     about.processCommandLine(&cmdline);
   237     KDBusService service(KDBusService::Unique);
   240 #ifdef WITH_OPTIMIZED_MEMCPY   248     bool show_splash = !(cmdline.isSet(
_(
"disable-splashscreen")) ||
   249                          cmdline.isSet(
_(
"iconic")));
   250     if (show_splash) splash.show();
   253     retval = app.
newInstance(app.arguments(), QString());
   257         SIGNAL(activateRequested(QStringList,QString)),
   259         SLOT(newInstance(QStringList,QString))
   262     if (retval != ECANCELED)
 int newInstance(const QStringList &args, const QString &dir)
int main(int argc, char **argv)
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)
void processCmdline(QCommandLineParser *cmdline)
void probe_fast_memcpy(void)
static void addDataStrings(KAboutData &aboutdata)