/[svn]/qsampler/trunk/src/main.cpp
ViewVC logotype

Contents of /qsampler/trunk/src/main.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1643 - (show annotations) (download)
Sun Jan 13 16:44:00 2008 UTC (16 years, 3 months ago) by nagata
File size: 2839 byte(s)
* OSX Xcode project files are added (directory osx)
* OSX: PATH and plugin directory are modified on startup
* OSX: default timeout is set to 10000 ms (CoreMIDI is sometimes slow)

1 // main.cpp
2 //
3 /****************************************************************************
4 Copyright (C) 2004-2007, rncbc aka Rui Nuno Capela. All rights reserved.
5 Copyright (C) 2007, Christian Schoenebeck
6
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
21 *****************************************************************************/
22
23 #include "qsamplerAbout.h"
24 #include "qsamplerOptions.h"
25 #include "qsamplerMainForm.h"
26
27 #include <QApplication>
28 #include <QTranslator>
29 #include <QLocale>
30 #if defined(__APPLE__) // Toshi Nagata 20080105
31 #include <QDir>
32 #endif
33
34 //-------------------------------------------------------------------------
35 // main - The main program trunk.
36 //
37
38 int main ( int argc, char **argv )
39 {
40 QApplication app(argc, argv);
41
42 // Load translation support.
43 QTranslator translator(0);
44 QLocale loc;
45 if (loc.language() != QLocale::C) {
46 QString sLocName = "qsampler_" + loc.name();
47 if (!translator.load(sLocName, ".")) {
48 QString sLocPath = CONFIG_PREFIX "/share/locale";
49 if (!translator.load(sLocName, sLocPath))
50 fprintf(stderr, "Warning: no locale found: %s/%s.qm\n",
51 sLocPath.toUtf8().constData(),
52 sLocName.toUtf8().constData());
53 }
54 app.installTranslator(&translator);
55 }
56
57 #if defined(__APPLE__) // Toshi Nagata 20080105
58 {
59 // Set the plugin path to @exetutable_path/../plugins
60 QDir dir(QApplication::applicationDirPath());
61 dir.cdUp(); // "Contents" directory
62 QApplication::setLibraryPaths(QStringList(dir.absolutePath() + "/plugins"));
63
64 // Set the PATH environment variable to include @executable_path/../../..
65 dir.cdUp();
66 dir.cdUp();
67 QString path(getenv("PATH"));
68 path = dir.absolutePath() + ":" + path;
69 setenv("PATH", path.toUtf8().constData(), 1);
70 }
71 #endif
72
73 // Construct default settings; override with command line arguments.
74 QSampler::Options options;
75 if (!options.parse_args(app.argc(), app.argv())) {
76 app.quit();
77 return 1;
78 }
79
80 // Construct, setup and show the main form.
81 QSampler::MainForm w;
82 w.setup(&options);
83 w.show();
84
85 // Register the quit signal/slot.
86 // app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
87
88 return app.exec();
89 }
90
91
92 // end of main.cpp

  ViewVC Help
Powered by ViewVC