jamulus/Jamulus.pro

1015 lines
32 KiB
Prolog
Raw Normal View History

VERSION = 3.5.9git
# use target name which does not use a captital letter at the beginning
contains(CONFIG, "noupcasename") {
message(The target name is jamulus instead of Jamulus.)
TARGET = jamulus
}
# support multi-threading with OMP if requested
contains(CONFIG, "multithreading") {
message(Multithreading in the server is enabled.)
DEFINES += USE_MULTITHREADING
QT += concurrent
}
CONFIG += qt \
thread \
release
QT += network \
xml
2020-06-17 19:34:51 +02:00
contains(CONFIG, "headless") {
message(Headless mode activated.)
QT -= gui
2020-06-17 19:34:51 +02:00
} else {
QT += widgets
}
TRANSLATIONS = src/res/translation/translation_de_DE.ts \
2020-05-06 16:40:48 +02:00
src/res/translation/translation_fr_FR.ts \
src/res/translation/translation_pt_PT.ts \
src/res/translation/translation_pt_BR.ts \
2020-05-14 21:30:19 +02:00
src/res/translation/translation_es_ES.ts \
2020-05-20 17:17:32 +02:00
src/res/translation/translation_nl_NL.ts \
2020-06-20 12:45:41 +02:00
src/res/translation/translation_pl_PL.ts \
src/res/translation/translation_it_IT.ts \
src/res/translation/translation_sv_SE.ts
2020-04-21 16:12:55 +02:00
INCLUDEPATH += src
INCLUDEPATH_OPUS = libs/opus/include \
2013-02-16 09:23:32 +01:00
libs/opus/celt \
libs/opus/silk \
2020-04-04 13:30:33 +02:00
libs/opus/silk/float \
libs/opus/silk/fixed
DEFINES += APP_VERSION=\\\"$$VERSION\\\" \
OPUS_BUILD \
2013-02-16 09:23:32 +01:00
USE_ALLOCA \
CUSTOM_MODES \
_REENTRANT
win32 {
2013-01-13 20:26:37 +01:00
DEFINES -= UNICODE # fixes issue with ASIO SDK (asiolist.cpp is not unicode compatible)
DEFINES += NOMINMAX # solves a compiler error in qdatetime.h (Qt5)
HEADERS += windows/sound.h
SOURCES += windows/sound.cpp \
windows/ASIOSDK2/common/asio.cpp \
windows/ASIOSDK2/host/asiodrivers.cpp \
windows/ASIOSDK2/host/pc/asiolist.cpp
RC_FILE = windows/mainicon.rc
INCLUDEPATH += windows/ASIOSDK2/common \
windows/ASIOSDK2/host \
2013-01-10 20:50:31 +01:00
windows/ASIOSDK2/host/pc
mingw* {
LIBS += -lole32 \
-luser32 \
-ladvapi32 \
-lwinmm \
-lws2_32
} else {
QMAKE_LFLAGS += /DYNAMICBASE:NO # fixes crash with libjack64.dll, see https://github.com/corrados/jamulus/issues/93
LIBS += ole32.lib \
user32.lib \
advapi32.lib \
winmm.lib \
ws2_32.lib
}
# replace ASIO with jack if requested
contains(CONFIG, "jackonwindows") {
message(Using Jack instead of ASIO.)
!exists("C:/Program Files (x86)/Jack/includes/jack/jack.h") {
message(Warning: jack.h was not found at the usual place, maybe jack is not installed)
}
HEADERS -= windows/sound.h
SOURCES -= windows/sound.cpp
HEADERS += linux/sound.h
SOURCES += linux/sound.cpp
DEFINES += WITH_SOUND
DEFINES += JACK_REPLACES_ASIO
DEFINES += _STDINT_H # supposed to solve compilation error in systemdeps.h
INCLUDEPATH += "C:/Program Files (x86)/Jack/includes"
LIBS += "C:/Program Files (x86)/Jack/lib/libjack64.lib"
}
} else:macx {
2020-04-23 20:12:59 +02:00
contains(CONFIG, "server_bundle") {
message(The generated application bundle will run a server instance.)
DEFINES += SERVER_BUNDLE
TARGET = $${TARGET}Server
}
QT += macextras
HEADERS += mac/sound.h
SOURCES += mac/sound.cpp
HEADERS += mac/activity.h
OBJECTIVE_SOURCES += mac/activity.mm
2013-03-24 12:13:01 +01:00
RC_FILE = mac/mainicon.icns
2013-12-21 14:44:49 +01:00
CONFIG += x86
2020-04-23 20:12:59 +02:00
QMAKE_TARGET_BUNDLE_PREFIX = net.sourceforge.llcon
QMAKE_APPLICATION_BUNDLE_NAME. = $$TARGET
macx-xcode {
QMAKE_INFO_PLIST = mac/Info-xcode.plist
} else {
QMAKE_INFO_PLIST = mac/Info-make.plist
2020-04-21 16:12:55 +02:00
}
LIBS += -framework CoreFoundation \
-framework CoreServices \
-framework CoreAudio \
-framework CoreMIDI \
-framework AudioToolbox \
-framework AudioUnit \
-framework Foundation
2016-07-31 10:02:32 +02:00
# replace coreaudio with jack if requested
contains(CONFIG, "jackonmac") {
message(Using Jack instead of CoreAudio.)
!exists(/usr/include/jack/jack.h) {
!exists(/usr/local/include/jack/jack.h) {
message(Warning: jack.h was not found at the usual place, maybe jack is not installed)
}
}
HEADERS -= mac/sound.h
SOURCES -= mac/sound.cpp
HEADERS += linux/sound.h
SOURCES += linux/sound.cpp
DEFINES += WITH_SOUND
DEFINES += JACK_REPLACES_COREAUDIO
INCLUDEPATH += /usr/local/include
LIBS += /usr/local/lib/libjack.dylib
}
2013-12-28 13:00:21 +01:00
} else:android {
# we want to compile with C++14
CONFIG += c++14
QT += androidextras
# enabled only for debugging on android devices
DEFINES += ANDROIDDEBUG
target.path = /tmp/your_executable # path on device
INSTALLS += target
2013-12-28 13:00:21 +01:00
HEADERS += android/sound.h
2020-05-11 17:10:38 +02:00
SOURCES += android/sound.cpp \
android/androiddebug.cpp
2013-12-28 13:00:21 +01:00
LIBS += -lOpenSLES
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
OTHER_FILES += android/AndroidManifest.xml
2020-05-23 15:42:49 +02:00
# if compiling for android you need to use Oboe library which is included as a git submodule
# make sure you git pull with submodules to pull the latest Oboe library
OBOE_SOURCES = libs/oboe/src/aaudio/AAudioLoader.cpp \
libs/oboe/src/aaudio/AudioStreamAAudio.cpp \
libs/oboe/src/common/AudioSourceCaller.cpp \
libs/oboe/src/common/AudioStream.cpp \
libs/oboe/src/common/AudioStreamBuilder.cpp \
libs/oboe/src/common/DataConversionFlowGraph.cpp \
libs/oboe/src/common/FilterAudioStream.cpp \
libs/oboe/src/common/FixedBlockAdapter.cpp \
libs/oboe/src/common/FixedBlockReader.cpp \
libs/oboe/src/common/FixedBlockWriter.cpp \
libs/oboe/src/common/LatencyTuner.cpp \
libs/oboe/src/common/QuirksManager.cpp \
libs/oboe/src/common/SourceFloatCaller.cpp \
libs/oboe/src/common/SourceI16Caller.cpp \
libs/oboe/src/common/StabilizedCallback.cpp \
libs/oboe/src/common/Trace.cpp \
libs/oboe/src/common/Utilities.cpp \
libs/oboe/src/common/Version.cpp \
libs/oboe/src/fifo/FifoBuffer.cpp \
libs/oboe/src/fifo/FifoController.cpp \
libs/oboe/src/fifo/FifoControllerBase.cpp \
libs/oboe/src/fifo/FifoControllerIndirect.cpp \
libs/oboe/src/flowgraph/ClipToRange.cpp \
libs/oboe/src/flowgraph/FlowGraphNode.cpp \
libs/oboe/src/flowgraph/ManyToMultiConverter.cpp \
libs/oboe/src/flowgraph/MonoToMultiConverter.cpp \
libs/oboe/src/flowgraph/RampLinear.cpp \
libs/oboe/src/flowgraph/SampleRateConverter.cpp \
libs/oboe/src/flowgraph/SinkFloat.cpp \
libs/oboe/src/flowgraph/SinkI16.cpp \
libs/oboe/src/flowgraph/SinkI24.cpp \
libs/oboe/src/flowgraph/SourceFloat.cpp \
libs/oboe/src/flowgraph/SourceI16.cpp \
libs/oboe/src/flowgraph/SourceI24.cpp \
libs/oboe/src/flowgraph/resampler/IntegerRatio.cpp \
libs/oboe/src/flowgraph/resampler/LinearResampler.cpp \
libs/oboe/src/flowgraph/resampler/MultiChannelResampler.cpp \
libs/oboe/src/flowgraph/resampler/PolyphaseResampler.cpp \
libs/oboe/src/flowgraph/resampler/PolyphaseResamplerMono.cpp \
libs/oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.cpp \
libs/oboe/src/flowgraph/resampler/SincResampler.cpp \
libs/oboe/src/flowgraph/resampler/SincResamplerStereo.cpp \
libs/oboe/src/opensles/AudioInputStreamOpenSLES.cpp \
libs/oboe/src/opensles/AudioOutputStreamOpenSLES.cpp \
libs/oboe/src/opensles/AudioStreamBuffered.cpp \
libs/oboe/src/opensles/AudioStreamOpenSLES.cpp \
libs/oboe/src/opensles/EngineOpenSLES.cpp \
libs/oboe/src/opensles/OpenSLESUtilities.cpp \
libs/oboe/src/opensles/OutputMixerOpenSLES.cpp
OBOE_HEADERS = libs/oboe/src/aaudio/AAudioLoader.h \
libs/oboe/src/aaudio/AudioStreamAAudio.h \
libs/oboe/src/common/AudioClock.h \
libs/oboe/src/common/AudioSourceCaller.h \
libs/oboe/src/common/DataConversionFlowGraph.h \
libs/oboe/src/common/FilterAudioStream.h \
libs/oboe/src/common/FixedBlockAdapter.h \
libs/oboe/src/common/FixedBlockReader.h \
libs/oboe/src/common/FixedBlockWriter.h \
libs/oboe/src/common/MonotonicCounter.h \
libs/oboe/src/common/OboeDebug.h \
libs/oboe/src/common/QuirksManager.h \
libs/oboe/src/common/SourceFloatCaller.h \
libs/oboe/src/common/SourceI16Caller.h \
libs/oboe/src/common/Trace.h \
libs/oboe/src/fifo/FifoBuffer.h \
libs/oboe/src/fifo/FifoController.h \
libs/oboe/src/fifo/FifoControllerBase.h \
libs/oboe/src/fifo/FifoControllerIndirect.h \
libs/oboe/src/flowgraph/ClipToRange.h \
libs/oboe/src/flowgraph/FlowGraphNode.h \
libs/oboe/src/flowgraph/ManyToMultiConverter.h \
libs/oboe/src/flowgraph/MonoToMultiConverter.h \
libs/oboe/src/flowgraph/RampLinear.h \
libs/oboe/src/flowgraph/SampleRateConverter.h \
libs/oboe/src/flowgraph/SinkFloat.h \
libs/oboe/src/flowgraph/SinkI16.h \
libs/oboe/src/flowgraph/SinkI24.h \
libs/oboe/src/flowgraph/SourceFloat.h \
libs/oboe/src/flowgraph/SourceI16.h \
libs/oboe/src/flowgraph/SourceI24.h \
libs/oboe/src/flowgraph/resampler/HyperbolicCosineWindow.h \
libs/oboe/src/flowgraph/resampler/IntegerRatio.h \
libs/oboe/src/flowgraph/resampler/LinearResampler.h \
libs/oboe/src/flowgraph/resampler/MultiChannelResampler.h \
libs/oboe/src/flowgraph/resampler/PolyphaseResampler.h \
libs/oboe/src/flowgraph/resampler/PolyphaseResamplerMono.h \
libs/oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.h \
libs/oboe/src/flowgraph/resampler/SincResampler.h \
libs/oboe/src/flowgraph/resampler/SincResamplerStereo.h \
libs/oboe/src/opensles/AudioInputStreamOpenSLES.h \
libs/oboe/src/opensles/AudioOutputStreamOpenSLES.h \
libs/oboe/src/opensles/AudioStreamBuffered.h \
libs/oboe/src/opensles/AudioStreamOpenSLES.h \
libs/oboe/src/opensles/EngineOpenSLES.h \
libs/oboe/src/opensles/OpenSLESUtilities.h \
libs/oboe/src/opensles/OutputMixerOpenSLES.h
INCLUDEPATH_OBOE = libs/oboe/include/ \
libs/oboe/src/
DISTFILES_OBOE += libs/oboe/AUTHORS \
libs/oboe/CONTRIBUTING \
libs/oboe/LICENSE \
libs/oboe/README
INCLUDEPATH += $$INCLUDEPATH_OBOE
HEADERS += $$OBOE_HEADERS
SOURCES += $$OBOE_SOURCES
DISTFILES += $$DISTFILES_OBOE
} else:unix {
# we want to compile with C++11
CONFIG += c++11
# we assume to have lrintf() one moderately modern linux distributions
# would be better to have that tested, though
DEFINES += HAVE_LRINTF
# we assume that stdint.h is always present in a Linux system
DEFINES += HAVE_STDINT_H
2011-06-28 21:16:52 +02:00
# only include jack support if CONFIG nosound is not set
!contains(CONFIG, "nosound") {
message(Jack Audio Interface Enabled.)
2020-05-03 19:12:46 +02:00
contains(CONFIG, "raspijamulus") {
message(Using Jack Audio in raspijamulus.sh mode.)
LIBS += -ljack
} else {
CONFIG += link_pkgconfig
PKGCONFIG += jack
}
HEADERS += linux/sound.h
SOURCES += linux/sound.cpp
DEFINES += WITH_SOUND
}
isEmpty(PREFIX) {
PREFIX = /usr/local
}
isEmpty(BINDIR) {
BINDIR = bin
}
BINDIR = $$absolute_path($$BINDIR, $$PREFIX)
target.path = $$BINDIR
isEmpty(APPSDIR) {
APPSDIR = share/applications
}
APPSDIR = $$absolute_path($$APPSDIR, $$PREFIX)
desktop.path = $$APPSDIR
2020-06-05 21:05:21 +02:00
QMAKE_SUBSTITUTES += distributions/jamulus.desktop.in
desktop.files = distributions/jamulus.desktop
2020-06-05 21:05:21 +02:00
isEmpty(ICONSDIR) {
ICONSDIR = share/icons/hicolor/512x512/apps
}
ICONSDIR = $$absolute_path($$ICONSDIR, $$PREFIX)
icons.path = $$ICONSDIR
icons.files = distributions/jamulus.png
INSTALLS += target desktop icons
}
RCC_DIR = src/res
RESOURCES += src/resources.qrc
FORMS_GUI = src/clientdlgbase.ui \
2013-03-24 11:49:25 +01:00
src/serverdlgbase.ui \
src/clientsettingsdlgbase.ui \
src/chatdlgbase.ui \
src/connectdlgbase.ui \
src/aboutdlgbase.ui
HEADERS += src/buffer.h \
src/channel.h \
src/client.h \
src/global.h \
src/multicolorled.h \
src/protocol.h \
2020-06-21 18:22:38 +02:00
src/recorder/jamcontroller.h \
src/server.h \
src/serverlist.h \
src/serverlogging.h \
src/settings.h \
src/socket.h \
src/soundbase.h \
src/testbench.h \
src/util.h \
Add recording support with Reaper Project generation Includes the following changes * Initial .gitignore Administrative * Fix up warning message * Not all Windows file systems are case insensitive Bugfixes * (Qt5) Use QCoreApplication for headless Possible solution to get the application to run as a headless server but it loses the nice history graph, so not ideal. * Avoid ESC closing chat Because ESC shouldn't close the chat window. Or the main app window. * Add console logging support for Windows Whilst looking for the headless support, I found this idea for Windows logging. New improved version. This makes far fewer changes. ---- * Add recording support with Reaper Project generation The main feature! * New -r option to enable recording of PCM files and conversion to Reaper RPP with WAV files * New -R option to set the directory in which to create recording sessions You need to specify the -R option, there's no default... so I guess -r and -R could be combined. * New -T option to convert a session directory with PCM files into a Reaper RPP with WAV files You can use -T on "failed" sessions, if the -r option captures the PCMs but the RPP converter doesn't run for some reaon. (It was useful during development, maybe less so once things seem stable.) The recorder is implemented as a new thread with queuing from the main "real time" server thread. When a new client connects or if its audio format changes (e.g. mono to stereo), a new RIFF WAVE file is started. Each frame of decompressed audio for each client written out as LPCM to the file. When the client disconnects, the RIFF WAVE headers are updated to reflect the file length. Once all clients disconnect, the session is considered ended and a Reaper RPP file is written.
2019-04-03 19:12:45 +02:00
src/recorder/jamrecorder.h \
src/recorder/creaperproject.h \
2019-05-20 21:00:09 +02:00
src/recorder/cwavestream.h \
src/signalhandler.h
HEADERS_GUI = src/audiomixerboard.h \
src/chatdlg.h \
src/clientsettingsdlg.h \
src/connectdlg.h \
src/clientdlg.h \
src/serverdlg.h \
2020-06-21 19:55:12 +02:00
src/levelmeter.h \
src/analyzerconsole.h
2020-04-04 13:30:33 +02:00
HEADERS_OPUS = libs/opus/celt/arch.h \
2013-02-16 09:23:32 +01:00
libs/opus/celt/bands.h \
libs/opus/celt/celt.h \
2020-04-04 13:30:33 +02:00
libs/opus/celt/celt_lpc.h \
2013-12-21 14:44:49 +01:00
libs/opus/celt/cpu_support.h \
2013-02-16 09:23:32 +01:00
libs/opus/celt/cwrs.h \
libs/opus/celt/ecintrin.h \
libs/opus/celt/entcode.h \
libs/opus/celt/entdec.h \
libs/opus/celt/entenc.h \
libs/opus/celt/float_cast.h \
libs/opus/celt/kiss_fft.h \
libs/opus/celt/laplace.h \
libs/opus/celt/mathops.h \
libs/opus/celt/mdct.h \
libs/opus/celt/mfrngcod.h \
libs/opus/celt/modes.h \
libs/opus/celt/os_support.h \
libs/opus/celt/pitch.h \
libs/opus/celt/quant_bands.h \
libs/opus/celt/rate.h \
libs/opus/celt/stack_alloc.h \
libs/opus/celt/static_modes_float.h \
2020-04-04 13:30:33 +02:00
libs/opus/celt/vq.h \
libs/opus/celt/_kiss_fft_guts.h \
libs/opus/include/opus.h \
libs/opus/include/opus_custom.h \
libs/opus/include/opus_defines.h \
libs/opus/include/opus_types.h \
2013-02-16 09:23:32 +01:00
libs/opus/silk/API.h \
2020-04-04 13:30:33 +02:00
libs/opus/silk/control.h \
libs/opus/silk/debug.h \
2013-02-16 09:23:32 +01:00
libs/opus/silk/define.h \
2020-04-04 13:30:33 +02:00
libs/opus/silk/errors.h \
libs/opus/silk/float/main_FLP.h \
libs/opus/silk/float/SigProc_FLP.h \
libs/opus/silk/float/structs_FLP.h \
2013-02-16 09:23:32 +01:00
libs/opus/silk/Inlines.h \
libs/opus/silk/MacroCount.h \
libs/opus/silk/MacroDebug.h \
libs/opus/silk/macros.h \
2020-04-04 13:30:33 +02:00
libs/opus/silk/main.h \
libs/opus/silk/NSQ.h \
2013-02-16 09:23:32 +01:00
libs/opus/silk/pitch_est_defines.h \
2020-04-04 13:30:33 +02:00
libs/opus/silk/PLC.h \
2013-02-16 09:23:32 +01:00
libs/opus/silk/resampler_private.h \
libs/opus/silk/resampler_rom.h \
libs/opus/silk/resampler_structs.h \
2020-04-04 13:30:33 +02:00
libs/opus/silk/SigProc_FIX.h \
libs/opus/silk/structs.h \
libs/opus/silk/tables.h \
libs/opus/silk/tuning_parameters.h \
libs/opus/silk/typedef.h \
libs/opus/src/analysis.h \
libs/opus/src/mlp.h \
libs/opus/src/opus_private.h \
libs/opus/src/tansig_table.h
HEADERS_OPUS_ARM = libs/opus/celt/arm/armcpu.h \
libs/opus/silk/arm/biquad_alt_arm.h \
libs/opus/celt/arm/fft_arm.h \
libs/opus/silk/arm/LPC_inv_pred_gain_arm.h \
libs/opus/celt/arm/mdct_arm.h \
libs/opus/silk/arm/NSQ_del_dec_arm.h \
libs/opus/celt/arm/pitch_arm.h
HEADERS_OPUS_X86 = libs/opus/celt/x86/celt_lpc_sse.h \
libs/opus/celt/x86/pitch_sse.h \
libs/opus/celt/x86/vq_sse.h \
libs/opus/celt/x86/x86cpu.h
SOURCES += src/buffer.cpp \
src/channel.cpp \
src/client.cpp \
src/main.cpp \
src/protocol.cpp \
2020-06-21 18:22:38 +02:00
src/recorder/jamcontroller.cpp \
src/server.cpp \
src/serverlist.cpp \
src/serverlogging.cpp \
src/settings.cpp \
src/signalhandler.cpp \
src/socket.cpp \
src/soundbase.cpp \
src/util.cpp \
Add recording support with Reaper Project generation Includes the following changes * Initial .gitignore Administrative * Fix up warning message * Not all Windows file systems are case insensitive Bugfixes * (Qt5) Use QCoreApplication for headless Possible solution to get the application to run as a headless server but it loses the nice history graph, so not ideal. * Avoid ESC closing chat Because ESC shouldn't close the chat window. Or the main app window. * Add console logging support for Windows Whilst looking for the headless support, I found this idea for Windows logging. New improved version. This makes far fewer changes. ---- * Add recording support with Reaper Project generation The main feature! * New -r option to enable recording of PCM files and conversion to Reaper RPP with WAV files * New -R option to set the directory in which to create recording sessions You need to specify the -R option, there's no default... so I guess -r and -R could be combined. * New -T option to convert a session directory with PCM files into a Reaper RPP with WAV files You can use -T on "failed" sessions, if the -r option captures the PCMs but the RPP converter doesn't run for some reaon. (It was useful during development, maybe less so once things seem stable.) The recorder is implemented as a new thread with queuing from the main "real time" server thread. When a new client connects or if its audio format changes (e.g. mono to stereo), a new RIFF WAVE file is started. Each frame of decompressed audio for each client written out as LPCM to the file. When the client disconnects, the RIFF WAVE headers are updated to reflect the file length. Once all clients disconnect, the session is considered ended and a Reaper RPP file is written.
2019-04-03 19:12:45 +02:00
src/recorder/jamrecorder.cpp \
src/recorder/creaperproject.cpp \
src/recorder/cwavestream.cpp
SOURCES_GUI = src/audiomixerboard.cpp \
src/chatdlg.cpp \
src/clientsettingsdlg.cpp \
src/connectdlg.cpp \
src/clientdlg.cpp \
src/serverdlg.cpp \
src/multicolorled.cpp \
2020-06-21 19:55:12 +02:00
src/levelmeter.cpp \
src/analyzerconsole.cpp
2020-04-04 13:30:33 +02:00
SOURCES_OPUS = libs/opus/celt/bands.c \
2013-02-16 09:23:32 +01:00
libs/opus/celt/celt.c \
2013-12-21 14:44:49 +01:00
libs/opus/celt/celt_decoder.c \
2020-04-04 13:30:33 +02:00
libs/opus/celt/celt_encoder.c \
libs/opus/celt/celt_lpc.c \
2013-02-16 09:23:32 +01:00
libs/opus/celt/cwrs.c \
libs/opus/celt/entcode.c \
libs/opus/celt/entdec.c \
libs/opus/celt/entenc.c \
libs/opus/celt/kiss_fft.c \
libs/opus/celt/laplace.c \
libs/opus/celt/mathops.c \
libs/opus/celt/mdct.c \
libs/opus/celt/modes.c \
libs/opus/celt/pitch.c \
libs/opus/celt/quant_bands.c \
libs/opus/celt/rate.c \
libs/opus/celt/vq.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/A2NLSF.c \
libs/opus/silk/ana_filt_bank_1.c \
libs/opus/silk/biquad_alt.c \
libs/opus/silk/bwexpander.c \
libs/opus/silk/bwexpander_32.c \
libs/opus/silk/check_control_input.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/CNG.c \
libs/opus/silk/code_signs.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/control_audio_bandwidth.c \
libs/opus/silk/control_codec.c \
libs/opus/silk/control_SNR.c \
libs/opus/silk/debug.c \
libs/opus/silk/decoder_set_fs.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/decode_core.c \
libs/opus/silk/decode_frame.c \
libs/opus/silk/decode_indices.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/decode_parameters.c \
libs/opus/silk/decode_pitch.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/decode_pulses.c \
libs/opus/silk/dec_API.c \
libs/opus/silk/encode_indices.c \
libs/opus/silk/encode_pulses.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/enc_API.c \
libs/opus/silk/float/apply_sine_window_FLP.c \
libs/opus/silk/float/autocorrelation_FLP.c \
libs/opus/silk/float/burg_modified_FLP.c \
libs/opus/silk/float/bwexpander_FLP.c \
libs/opus/silk/float/corrMatrix_FLP.c \
libs/opus/silk/float/encode_frame_FLP.c \
libs/opus/silk/float/energy_FLP.c \
libs/opus/silk/float/find_LPC_FLP.c \
libs/opus/silk/float/find_LTP_FLP.c \
libs/opus/silk/float/find_pitch_lags_FLP.c \
libs/opus/silk/float/find_pred_coefs_FLP.c \
libs/opus/silk/float/inner_product_FLP.c \
libs/opus/silk/float/k2a_FLP.c \
libs/opus/silk/float/LPC_analysis_filter_FLP.c \
libs/opus/silk/float/LTP_analysis_filter_FLP.c \
libs/opus/silk/float/LTP_scale_ctrl_FLP.c \
libs/opus/silk/float/noise_shape_analysis_FLP.c \
libs/opus/silk/float/pitch_analysis_core_FLP.c \
libs/opus/silk/float/process_gains_FLP.c \
libs/opus/silk/float/residual_energy_FLP.c \
libs/opus/silk/float/scale_copy_vector_FLP.c \
libs/opus/silk/float/scale_vector_FLP.c \
libs/opus/silk/float/schur_FLP.c \
libs/opus/silk/float/sort_FLP.c \
libs/opus/silk/float/warped_autocorrelation_FLP.c \
libs/opus/silk/float/wrappers_FLP.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/gain_quant.c \
libs/opus/silk/HP_variable_cutoff.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/init_decoder.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/init_encoder.c \
libs/opus/silk/inner_prod_aligned.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/interpolate.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/lin2log.c \
libs/opus/silk/log2lin.c \
libs/opus/silk/LPC_analysis_filter.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/LPC_fit.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/LPC_inv_pred_gain.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/LP_variable_cutoff.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/NLSF2A.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/NLSF_decode.c \
libs/opus/silk/NLSF_del_dec_quant.c \
libs/opus/silk/NLSF_encode.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/NLSF_stabilize.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/NLSF_unpack.c \
libs/opus/silk/NLSF_VQ.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/NLSF_VQ_weights_laroia.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/NSQ.c \
libs/opus/silk/NSQ_del_dec.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/pitch_est_tables.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/PLC.c \
libs/opus/silk/process_NLSFs.c \
libs/opus/silk/quant_LTP_gains.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/resampler.c \
libs/opus/silk/resampler_down2.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/resampler_down2_3.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/resampler_private_AR2.c \
libs/opus/silk/resampler_private_down_FIR.c \
libs/opus/silk/resampler_private_IIR_FIR.c \
libs/opus/silk/resampler_private_up2_HQ.c \
libs/opus/silk/resampler_rom.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/shell_coder.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/sigm_Q15.c \
libs/opus/silk/sort.c \
libs/opus/silk/stereo_decode_pred.c \
libs/opus/silk/stereo_encode_pred.c \
libs/opus/silk/stereo_find_predictor.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/stereo_LR_to_MS.c \
libs/opus/silk/stereo_MS_to_LR.c \
2013-02-16 09:23:32 +01:00
libs/opus/silk/stereo_quant_pred.c \
2020-04-04 13:30:33 +02:00
libs/opus/silk/sum_sqr_shift.c \
libs/opus/silk/tables_gain.c \
libs/opus/silk/tables_LTP.c \
libs/opus/silk/tables_NLSF_CB_NB_MB.c \
libs/opus/silk/tables_NLSF_CB_WB.c \
libs/opus/silk/tables_other.c \
libs/opus/silk/tables_pitch_lag.c \
libs/opus/silk/tables_pulses_per_block.c \
libs/opus/silk/table_LSF_cos.c \
libs/opus/silk/VAD.c \
libs/opus/silk/VQ_WMat_EC.c \
libs/opus/src/analysis.c \
libs/opus/src/mlp.c \
libs/opus/src/mlp_data.c \
libs/opus/src/opus.c \
libs/opus/src/opus_decoder.c \
libs/opus/src/opus_encoder.c \
libs/opus/src/repacketizer.c
SOURCES_OPUS_ARM = libs/opus/celt/arm/armcpu.c \
libs/opus/celt/arm/arm_celt_map.c \
libs/opus/silk/arm/arm_silk_map.c
SOURCES_OPUS_X86 = libs/opus/celt/x86/celt_lpc_sse4_1.c \
libs/opus/celt/x86/pitch_sse.c \
libs/opus/celt/x86/pitch_sse2.c \
libs/opus/celt/x86/pitch_sse4_1.c \
libs/opus/celt/x86/vq_sse2.c \
libs/opus/celt/x86/x86_celt_map.c \
libs/opus/celt/x86/x86cpu.c
android {
contains(ANDROID_ARCHITECTURE, arm) | contains(ANDROID_ARCHITECTURE, arm64) {
2020-05-22 18:55:07 +02:00
HEADERS_OPUS += $$HEADERS_OPUS_ARM
2020-04-04 13:30:33 +02:00
SOURCE_OPUS += $$SOURCES_OPUS_ARM
} else:contains(ANDROID_ARCHITECTURE, x86) | contains(ANDROID_ARCHITECTURE, x86_64) {
2020-05-22 18:55:07 +02:00
HEADERS_OPUS += $$HEADERS_OPUS_X86
2020-04-04 13:30:33 +02:00
SOURCE_OPUS += $$SOURCES_OPUS_X86
}
} else:win32 | unix | macx {
contains(QT_ARCH, arm) | contains(QT_ARCH, arm64) {
2020-05-22 18:55:07 +02:00
HEADERS_OPUS += $$HEADERS_OPUS_ARM
2020-04-04 13:30:33 +02:00
SOURCE_OPUS += $$SOURCES_OPUS_ARM
} else:contains(QT_ARCH, x86) | contains(QT_ARCH, x86_64) {
2020-05-22 18:55:07 +02:00
HEADERS_OPUS += $$HEADERS_OPUS_X86
2020-04-04 13:30:33 +02:00
SOURCE_OPUS += $$SOURCES_OPUS_X86
}
2020-05-22 18:55:07 +02:00
win32 {
HEADERS_OPUS += libs/opus/win32/config.h
}
2020-04-04 13:30:33 +02:00
}
2020-03-25 20:54:26 +01:00
DISTFILES += ChangeLog \
COPYING \
2020-03-25 20:54:26 +01:00
INSTALL.md \
README.md \
2020-06-05 21:05:21 +02:00
distributions/jamulus.desktop.in \
distributions/jamulus.png \
2020-05-22 08:50:03 +02:00
src/res/translation/translation_de_DE.qm \
src/res/translation/translation_fr_FR.qm \
src/res/translation/translation_pt_PT.qm \
2020-06-28 18:24:28 +02:00
src/res/translation/translation_pt_BR.qm \
2020-05-22 08:50:03 +02:00
src/res/translation/translation_es_ES.qm \
src/res/translation/translation_nl_NL.qm \
2020-06-28 18:24:28 +02:00
src/res/translation/translation_pl_PL.qm \
2020-05-22 08:50:03 +02:00
src/res/translation/translation_it_IT.qm \
2020-06-28 18:24:28 +02:00
src/res/translation/translation_sv_SE.qm \
src/res/CLEDBlack.png \
src/res/CLEDBlackSmall.png \
src/res/CLEDDisabledSmall.png \
src/res/CLEDGreen.png \
2011-05-06 22:19:30 +02:00
src/res/CLEDGreenArrow.png \
src/res/CLEDGreenSmall.png \
src/res/CLEDGrey.png \
2011-05-06 22:19:30 +02:00
src/res/CLEDGreyArrow.png \
src/res/CLEDGreySmall.png \
src/res/CLEDRed.png \
src/res/CLEDRedSmall.png \
src/res/CLEDYellow.png \
src/res/CLEDYellowSmall.png \
src/res/faderbackground.png \
src/res/faderhandle.png \
src/res/faderhandlesmall.png \
src/res/HLEDGreen.png \
src/res/HLEDGreenSmall.png \
2020-06-01 21:16:31 +02:00
src/res/HLEDBlack.png \
src/res/HLEDBlackSmall.png \
src/res/HLEDRed.png \
src/res/HLEDRedSmall.png \
src/res/HLEDYellow.png \
src/res/HLEDYellowSmall.png \
src/res/ledbuttonnotpressed.png \
src/res/ledbuttonpressed.png \
2013-03-24 12:24:43 +01:00
src/res/fronticon.png \
src/res/mixerboardbackground.png \
src/res/instruments/accordeon.png \
src/res/instruments/aguitar.png \
src/res/instruments/bassguitar.png \
src/res/instruments/cello.png \
src/res/instruments/clarinet.png \
src/res/instruments/djembe.png \
src/res/instruments/doublebass.png \
src/res/instruments/drumset.png \
src/res/instruments/eguitar.png \
src/res/instruments/flute.png \
src/res/instruments/frenchhorn.png \
src/res/instruments/grandpiano.png \
src/res/instruments/harmonica.png \
src/res/instruments/keyboard.png \
src/res/instruments/listener.png \
src/res/instruments/microphone.png \
src/res/instruments/none.png \
src/res/instruments/recorder.png \
src/res/instruments/saxophone.png \
src/res/instruments/streamer.png \
src/res/instruments/synthesizer.png \
src/res/instruments/trombone.png \
src/res/instruments/trumpet.png \
src/res/instruments/tuba.png \
src/res/instruments/violin.png \
src/res/instruments/vocal.png \
src/res/instruments/guitarvocal.png \
src/res/instruments/keyboardvocal.png \
src/res/instruments/bodhran.svg \
src/res/instruments/bodhran.png \
src/res/instruments/bassoon.svg \
src/res/instruments/bassoon.png \
src/res/instruments/oboe.svg \
src/res/instruments/oboe.png \
src/res/instruments/harp.svg \
src/res/instruments/harp.png \
2020-05-03 19:59:59 +02:00
src/res/instruments/viola.png \
src/res/instruments/congas.svg \
src/res/instruments/congas.png \
src/res/instruments/bongo.svg \
src/res/instruments/bongo.png \
2020-06-05 11:19:04 +02:00
src/res/instruments/ukulele.svg \
src/res/instruments/ukulele.png \
src/res/instruments/bassukulele.svg \
src/res/instruments/bassukulele.png \
src/res/instruments/vocalbass.png \
src/res/instruments/vocaltenor.png \
src/res/instruments/vocalalto.png \
src/res/instruments/vocalsoprano.png \
2020-07-19 09:13:53 +02:00
src/res/instruments/vocalbaritone.png \
src/res/instruments/vocallead.png \
src/res/instruments/banjo.png \
src/res/instruments/mandolin.png \
src/res/flags/flagnone.png \
src/res/flags/ad.png \
src/res/flags/ae.png \
src/res/flags/af.png \
src/res/flags/ag.png \
src/res/flags/ai.png \
src/res/flags/al.png \
src/res/flags/am.png \
src/res/flags/an.png \
src/res/flags/ao.png \
src/res/flags/ar.png \
src/res/flags/as.png \
src/res/flags/at.png \
src/res/flags/au.png \
src/res/flags/aw.png \
src/res/flags/ax.png \
src/res/flags/az.png \
src/res/flags/ba.png \
src/res/flags/bb.png \
src/res/flags/bd.png \
src/res/flags/be.png \
src/res/flags/bf.png \
src/res/flags/bg.png \
src/res/flags/bh.png \
src/res/flags/bi.png \
src/res/flags/bj.png \
src/res/flags/bm.png \
src/res/flags/bn.png \
src/res/flags/bo.png \
src/res/flags/br.png \
src/res/flags/bs.png \
src/res/flags/bt.png \
src/res/flags/bv.png \
src/res/flags/bw.png \
src/res/flags/by.png \
src/res/flags/bz.png \
src/res/flags/ca.png \
src/res/flags/cc.png \
src/res/flags/cd.png \
src/res/flags/cf.png \
src/res/flags/cg.png \
src/res/flags/ch.png \
src/res/flags/ci.png \
src/res/flags/ck.png \
src/res/flags/cl.png \
src/res/flags/cm.png \
src/res/flags/cn.png \
src/res/flags/co.png \
src/res/flags/cr.png \
src/res/flags/cs.png \
src/res/flags/cu.png \
src/res/flags/cv.png \
src/res/flags/cx.png \
src/res/flags/cy.png \
src/res/flags/cz.png \
src/res/flags/de.png \
src/res/flags/dj.png \
src/res/flags/dk.png \
src/res/flags/dm.png \
src/res/flags/do.png \
src/res/flags/dz.png \
src/res/flags/ec.png \
src/res/flags/ee.png \
src/res/flags/eg.png \
src/res/flags/eh.png \
src/res/flags/er.png \
src/res/flags/es.png \
src/res/flags/et.png \
src/res/flags/fam.png \
src/res/flags/fi.png \
src/res/flags/fj.png \
src/res/flags/fk.png \
src/res/flags/fm.png \
src/res/flags/fo.png \
src/res/flags/fr.png \
src/res/flags/ga.png \
src/res/flags/gb.png \
src/res/flags/gd.png \
src/res/flags/ge.png \
src/res/flags/gf.png \
src/res/flags/gh.png \
src/res/flags/gi.png \
src/res/flags/gl.png \
src/res/flags/gm.png \
src/res/flags/gn.png \
src/res/flags/gp.png \
src/res/flags/gq.png \
src/res/flags/gr.png \
src/res/flags/gs.png \
src/res/flags/gt.png \
src/res/flags/gu.png \
src/res/flags/gw.png \
src/res/flags/gy.png \
src/res/flags/hk.png \
src/res/flags/hm.png \
src/res/flags/hn.png \
src/res/flags/hr.png \
src/res/flags/ht.png \
src/res/flags/hu.png \
src/res/flags/id.png \
src/res/flags/ie.png \
src/res/flags/il.png \
src/res/flags/in.png \
src/res/flags/io.png \
src/res/flags/iq.png \
src/res/flags/ir.png \
src/res/flags/is.png \
src/res/flags/it.png \
src/res/flags/jm.png \
src/res/flags/jo.png \
src/res/flags/jp.png \
src/res/flags/ke.png \
src/res/flags/kg.png \
src/res/flags/kh.png \
src/res/flags/ki.png \
src/res/flags/km.png \
src/res/flags/kn.png \
src/res/flags/kp.png \
src/res/flags/kr.png \
src/res/flags/kw.png \
src/res/flags/ky.png \
src/res/flags/kz.png \
src/res/flags/la.png \
src/res/flags/lb.png \
src/res/flags/lc.png \
src/res/flags/li.png \
src/res/flags/lk.png \
src/res/flags/lr.png \
src/res/flags/ls.png \
src/res/flags/lt.png \
src/res/flags/lu.png \
src/res/flags/lv.png \
src/res/flags/ly.png \
src/res/flags/ma.png \
src/res/flags/mc.png \
src/res/flags/md.png \
src/res/flags/me.png \
src/res/flags/mg.png \
src/res/flags/mh.png \
src/res/flags/mk.png \
src/res/flags/ml.png \
src/res/flags/mm.png \
src/res/flags/mn.png \
src/res/flags/mo.png \
src/res/flags/mp.png \
src/res/flags/mq.png \
src/res/flags/mr.png \
src/res/flags/ms.png \
src/res/flags/mt.png \
src/res/flags/mu.png \
src/res/flags/mv.png \
src/res/flags/mw.png \
src/res/flags/mx.png \
src/res/flags/my.png \
src/res/flags/mz.png \
src/res/flags/na.png \
src/res/flags/nc.png \
src/res/flags/ne.png \
src/res/flags/nf.png \
src/res/flags/ng.png \
src/res/flags/ni.png \
src/res/flags/nl.png \
src/res/flags/no.png \
src/res/flags/np.png \
src/res/flags/nr.png \
src/res/flags/nu.png \
src/res/flags/nz.png \
src/res/flags/om.png \
src/res/flags/pa.png \
src/res/flags/pe.png \
src/res/flags/pf.png \
src/res/flags/pg.png \
src/res/flags/ph.png \
src/res/flags/pk.png \
src/res/flags/pl.png \
src/res/flags/pm.png \
src/res/flags/pn.png \
src/res/flags/pr.png \
src/res/flags/ps.png \
src/res/flags/pt.png \
src/res/flags/pw.png \
src/res/flags/py.png \
src/res/flags/qa.png \
src/res/flags/re.png \
src/res/flags/ro.png \
src/res/flags/rs.png \
src/res/flags/ru.png \
src/res/flags/rw.png \
src/res/flags/sa.png \
src/res/flags/sb.png \
src/res/flags/sc.png \
src/res/flags/sd.png \
src/res/flags/se.png \
src/res/flags/sg.png \
src/res/flags/sh.png \
src/res/flags/si.png \
src/res/flags/sj.png \
src/res/flags/sk.png \
src/res/flags/sl.png \
src/res/flags/sm.png \
src/res/flags/sn.png \
src/res/flags/so.png \
src/res/flags/sr.png \
src/res/flags/st.png \
src/res/flags/sv.png \
src/res/flags/sy.png \
src/res/flags/sz.png \
src/res/flags/tc.png \
src/res/flags/td.png \
src/res/flags/tf.png \
src/res/flags/tg.png \
src/res/flags/th.png \
src/res/flags/tj.png \
src/res/flags/tk.png \
src/res/flags/tl.png \
src/res/flags/tm.png \
src/res/flags/tn.png \
src/res/flags/to.png \
src/res/flags/tr.png \
src/res/flags/tt.png \
src/res/flags/tv.png \
src/res/flags/tw.png \
src/res/flags/tz.png \
src/res/flags/ua.png \
src/res/flags/ug.png \
src/res/flags/um.png \
src/res/flags/us.png \
src/res/flags/uy.png \
src/res/flags/uz.png \
src/res/flags/va.png \
src/res/flags/vc.png \
src/res/flags/ve.png \
src/res/flags/vg.png \
src/res/flags/vi.png \
src/res/flags/vn.png \
src/res/flags/vu.png \
src/res/flags/wf.png \
src/res/flags/ws.png \
src/res/flags/ye.png \
src/res/flags/yt.png \
src/res/flags/za.png \
src/res/flags/zm.png \
src/res/flags/zw.png
DISTFILES_OPUS += libs/opus/AUTHORS \
libs/opus/ChangeLog \
libs/opus/COPYING \
libs/opus/INSTALL \
libs/opus/NEWS \
libs/opus/README \
libs/opus/celt/arm/armopts.s.in \
libs/opus/celt/arm/celt_pitch_xcorr_arm.s \
2020-06-17 19:34:51 +02:00
contains(CONFIG, "headless") {
DEFINES += HEADLESS
} else {
HEADERS += $$HEADERS_GUI
SOURCES += $$SOURCES_GUI
FORMS += $$FORMS_GUI
}
# use external OPUS library if requested
contains(CONFIG, "opus_shared_lib") {
message(OPUS codec is used from a shared library.)
unix {
!exists(/usr/include/opus/opus_custom.h) {
!exists(/usr/local/include/opus/opus_custom.h) {
message(Header opus_custom.h was not found at the usual place. Maybe the opus dev packet is missing.)
}
}
2014-07-28 00:19:52 +02:00
LIBS += -lopus
DEFINES += USE_OPUS_SHARED_LIB
}
} else {
INCLUDEPATH += $$INCLUDEPATH_OPUS
HEADERS += $$HEADERS_OPUS
SOURCES += $$SOURCES_OPUS
DISTFILES += $$DISTFILES_OPUS
}