summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/spectrum/3rdparty/fftreal/fftreal.pro14
-rw-r--r--demos/spectrum/app/app.pro20
-rw-r--r--demos/spectrum/app/spectrum.sh50
-rw-r--r--src/multimedia/audio/qaudiodevicefactory.cpp19
4 files changed, 29 insertions, 74 deletions
diff --git a/demos/spectrum/3rdparty/fftreal/fftreal.pro b/demos/spectrum/3rdparty/fftreal/fftreal.pro
index 6801b42..c9da205 100644
--- a/demos/spectrum/3rdparty/fftreal/fftreal.pro
+++ b/demos/spectrum/3rdparty/fftreal/fftreal.pro
@@ -1,3 +1,5 @@
+include(../../spectrum.pri)
+
TEMPLATE = lib
TARGET = fftreal
@@ -31,13 +33,13 @@ symbian {
# Provide unique ID for the generated binary, required by Symbian OS
TARGET.UID3 = 0xA000E403
TARGET.CAPABILITY = UserEnvironment
+}
+
+macx {
+ CONFIG += lib_bundle
} else {
- macx {
- CONFIG += lib_bundle
- } else {
- DESTDIR = ../../bin
- }
-}
+ !symbian: DESTDIR = ../..
+}
# Install
diff --git a/demos/spectrum/app/app.pro b/demos/spectrum/app/app.pro
index 22ee3b1..6c74b27 100644
--- a/demos/spectrum/app/app.pro
+++ b/demos/spectrum/app/app.pro
@@ -3,7 +3,6 @@ include(../spectrum.pri)
TEMPLATE = app
TARGET = spectrum
-unix: !macx: !symbian: TARGET = spectrum.bin
QT += multimedia
@@ -63,8 +62,7 @@ symbian {
LIBS += -F$${fftreal_dir}
LIBS += -framework fftreal
} else {
- # Link to dynamic library which is written to ../bin
- LIBS += -L../bin
+ LIBS += -L..
LIBS += -lfftreal
}
}
@@ -110,17 +108,11 @@ symbian {
}
} else {
# Specify directory in which to create spectrum application
- DESTDIR = ../bin
-
- unix: !symbian {
- # On unices other than Mac OSX, we copy a shell script into the bin directory.
- # This script takes care of correctly setting the LD_LIBRARY_PATH so that
- # the dynamic library can be located.
- copy_launch_script.target = copy_launch_script
- copy_launch_script.commands = \
- install -m 0555 $$QT_SOURCE_TREE/demos/spectrum/app/spectrum.sh ../bin/spectrum
- QMAKE_EXTRA_TARGETS += copy_launch_script
- POST_TARGETDEPS += copy_launch_script
+ DESTDIR = ..
+
+ unix: {
+ # Provide relative path from application to fftreal library
+ QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN
}
}
}
diff --git a/demos/spectrum/app/spectrum.sh b/demos/spectrum/app/spectrum.sh
deleted file mode 100644
index 2a230ed..0000000
--- a/demos/spectrum/app/spectrum.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-#############################################################################
-##
-## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-## All rights reserved.
-## Contact: Nokia Corporation (qt-info@nokia.com)
-##
-## This file is part of the examples of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL$
-## No Commercial Usage
-## This file contains pre-release code and may not be distributed.
-## You may use this file in accordance with the terms and conditions
-## contained in the Technology Preview License Agreement accompanying
-## this package.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 as published by the Free Software
-## Foundation and appearing in the file LICENSE.LGPL included in the
-## packaging of this file. Please review the following information to
-## ensure the GNU Lesser General Public License version 2.1 requirements
-## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## In addition, as a special exception, Nokia gives you certain additional
-## rights. These rights are described in the Nokia Qt LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## If you have questions regarding the use of this file, please contact
-## Nokia at qt-info@nokia.com.
-##
-##
-##
-##
-##
-##
-##
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-
-# Shell script for launching spectrum application on Unix systems other than Mac OSX
-
-bindir=`dirname "$0"`
-LD_LIBRARY_PATH="${bindir}:${LD_LIBRARY_PATH}"
-export LD_LIBRARY_PATH
-exec "${bindir}/spectrum.bin" ${1+"$@"}
-
diff --git a/src/multimedia/audio/qaudiodevicefactory.cpp b/src/multimedia/audio/qaudiodevicefactory.cpp
index 4f45110..523075c 100644
--- a/src/multimedia/audio/qaudiodevicefactory.cpp
+++ b/src/multimedia/audio/qaudiodevicefactory.cpp
@@ -67,8 +67,11 @@
QT_BEGIN_NAMESPACE
+
+#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS)
Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QAudioEngineFactoryInterface_iid, QLatin1String("/audio"), Qt::CaseInsensitive))
+#endif
class QNullDeviceInfo : public QAbstractAudioDeviceInfo
@@ -137,6 +140,7 @@ QList<QAudioDeviceInfo> QAudioDeviceFactory::availableDevices(QAudio::Mode mode)
devices << QAudioDeviceInfo(QLatin1String("builtin"), handle, mode);
#endif
#endif
+#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS)
QFactoryLoader* l = loader();
foreach (QString const& key, l->keys()) {
@@ -148,12 +152,13 @@ QList<QAudioDeviceInfo> QAudioDeviceFactory::availableDevices(QAudio::Mode mode)
delete plugin;
}
-
+#endif
return devices;
}
QAudioDeviceInfo QAudioDeviceFactory::defaultInputDevice()
{
+#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS)
QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(QLatin1String("default")));
if (plugin) {
@@ -161,6 +166,7 @@ QAudioDeviceInfo QAudioDeviceFactory::defaultInputDevice()
if (list.size() > 0)
return QAudioDeviceInfo(QLatin1String("default"), list.at(0), QAudio::AudioInput);
}
+#endif
#ifndef QT_NO_AUDIO_BACKEND
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA) || defined(Q_OS_SYMBIAN))
return QAudioDeviceInfo(QLatin1String("builtin"), QAudioDeviceInfoInternal::defaultInputDevice(), QAudio::AudioInput);
@@ -171,6 +177,7 @@ QAudioDeviceInfo QAudioDeviceFactory::defaultInputDevice()
QAudioDeviceInfo QAudioDeviceFactory::defaultOutputDevice()
{
+#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS)
QAudioEngineFactoryInterface* plugin = qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(QLatin1String("default")));
if (plugin) {
@@ -178,6 +185,7 @@ QAudioDeviceInfo QAudioDeviceFactory::defaultOutputDevice()
if (list.size() > 0)
return QAudioDeviceInfo(QLatin1String("default"), list.at(0), QAudio::AudioOutput);
}
+#endif
#ifndef QT_NO_AUDIO_BACKEND
#if (defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(HAS_ALSA) || defined(Q_OS_SYMBIAN))
return QAudioDeviceInfo(QLatin1String("builtin"), QAudioDeviceInfoInternal::defaultOutputDevice(), QAudio::AudioOutput);
@@ -196,12 +204,13 @@ QAbstractAudioDeviceInfo* QAudioDeviceFactory::audioDeviceInfo(const QString &re
return new QAudioDeviceInfoInternal(handle, mode);
#endif
#endif
+#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS)
QAudioEngineFactoryInterface* plugin =
qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(realm));
if (plugin)
rc = plugin->createDeviceInfo(handle, mode);
-
+#endif
return rc == 0 ? new QNullDeviceInfo() : rc;
}
@@ -225,12 +234,13 @@ QAbstractAudioInput* QAudioDeviceFactory::createInputDevice(QAudioDeviceInfo con
return new QAudioInputPrivate(deviceInfo.handle(), format);
#endif
#endif
+#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS)
QAudioEngineFactoryInterface* plugin =
qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(deviceInfo.realm()));
if (plugin)
return plugin->createInput(deviceInfo.handle(), format);
-
+#endif
return new QNullInputDevice();
}
@@ -244,12 +254,13 @@ QAbstractAudioOutput* QAudioDeviceFactory::createOutputDevice(QAudioDeviceInfo c
return new QAudioOutputPrivate(deviceInfo.handle(), format);
#endif
#endif
+#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS)
QAudioEngineFactoryInterface* plugin =
qobject_cast<QAudioEngineFactoryInterface*>(loader()->instance(deviceInfo.realm()));
if (plugin)
return plugin->createOutput(deviceInfo.handle(), format);
-
+#endif
return new QNullOutputDevice();
}