Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to GQRX v2.11-5 #2

Open
wants to merge 375 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
375 commits
Select commit Hold shift + click to select a range
1274a6b
Set correct filter range when loading bookmark
alexf91 Sep 26, 2016
0d5b468
Merge pull request #414 from alexf91/fix_bookmark_filter_width
csete Sep 26, 2016
fbba9db
Update news.txt
csete Sep 26, 2016
4ce7ccf
Check if FFT buffer index is valid
alexf91 Sep 26, 2016
2ca5471
Adjust dock widget sizes and margins.
csete Sep 26, 2016
463e1cd
Add button to lock pandapter and waterfall ranges
alexf91 Sep 27, 2016
7fab20e
Remember which slider was set last
alexf91 Sep 27, 2016
9a790da
Add state of lockButton to settings
alexf91 Sep 27, 2016
ad5e17d
qSort() is obsoleted.
kukabu Sep 28, 2016
0596400
Merge pull request #417 from kukabu/master
csete Sep 28, 2016
3fa6219
Update readme.
csete Sep 28, 2016
889ccc8
Merge pull request #415 from alexf91/fix_plotter_white_area
csete Sep 28, 2016
57e79d5
Update news file.
csete Sep 28, 2016
5ddecef
Bookmarks: sort tags too.
kukabu Sep 29, 2016
8d3aa0e
Merge pull request #418 from kukabu/master
csete Sep 29, 2016
ed22a3e
Use implicit rect() for plotter tooltips.
csete Sep 29, 2016
cef748b
Make fusion or other styles optional (command line).
csete Sep 29, 2016
6caa4ea
Indent.
csete Sep 29, 2016
d77b682
Update news.
csete Sep 29, 2016
c14c9c4
Update text in about dialog.
csete Sep 29, 2016
ce3272f
Readme tweaks.
csete Sep 29, 2016
3d3c7a9
Merge pull request #416 from alexf91/lock_fft_ranges
csete Sep 29, 2016
65dc5ed
Use more descriptive name for config record.
csete Sep 29, 2016
ea15a92
FFT layout tweaks.
csete Sep 29, 2016
d5e632d
Use full text on buttons.
csete Sep 29, 2016
3460aa7
LEt Lock button occupy a single cell only.
csete Sep 29, 2016
5dd3978
Bookmarks: sort tags only in load before bookmarks.
kukabu Sep 30, 2016
c72df5e
Merge pull request #421 from kukabu/fix-418
csete Sep 30, 2016
4e438cd
Allow audio recording in Raw I/Q mode.
csete Oct 1, 2016
96cecb8
Fix raw I/Q audio recording in remote controller.
csete Oct 1, 2016
902ba8c
Minor improvements to the sample rate selector.
csete Oct 1, 2016
0582f1f
Require Qt 5.
csete Oct 2, 2016
b067c09
Always quote strings.
csete Oct 2, 2016
65f0602
Limit the scope of local variables.
csete Oct 2, 2016
2034b33
Update news and readme.
csete Oct 2, 2016
7956056
Update version strings to 2.6
csete Oct 2, 2016
d3324e3
Remote control: Refactoring the load()/save() code.
kukabu Sep 30, 2016
ebb9a75
Keep zoom-slider and waterfall zoom synchronized
alexf91 Oct 3, 2016
c05258b
Remote control: state is saved now.
kukabu Oct 3, 2016
22fc13a
Continue with devel versioning.
csete Oct 6, 2016
89f9238
Merge pull request #419 from kukabu/master
csete Oct 6, 2016
4c256aa
Merge pull request #428 from alexf91/update_zoom_slider
csete Oct 6, 2016
82dafcc
Update news file.
csete Oct 6, 2016
6152155
Remove duplicate code and magic numbers in remote control
kukabu Oct 6, 2016
6520a22
Implement 'M ?' in the remote control interface.
kukabu Oct 6, 2016
b441cb3
Reformat remote control help text
kukabu Oct 10, 2016
9a574d0
Remove duplicate code
kukabu Oct 10, 2016
398036d
Remote control: use a hamlib command 'q|Q' to close connection.
kukabu Oct 11, 2016
1b43d33
Added a compatibility mode with hamlib specification in remote control.
kukabu Oct 12, 2016
0bf038e
Merge pull request #436 from kukabu/hamlib_compatible
csete Oct 19, 2016
38f0653
Add passband parameter to 'M/m' remote command
kukabu Oct 10, 2016
66dfaf6
Avoid setting filter offset to 0 when HW freq is changed
kukabu Oct 10, 2016
734550d
Set remote mode in selectDemod()
kukabu Oct 10, 2016
d2ca23f
Update news.txt
csete Oct 19, 2016
4415307
Kept the RDS status if mode WFM.
kukabu Oct 20, 2016
e0de0da
Remove duplicate code.
kukabu Oct 20, 2016
074d42a
Merge pull request #437 from kukabu/fix_rds
csete Oct 23, 2016
9bdbaf0
Update news.txt
csete Oct 23, 2016
debc33a
Fix typo in news.txt
csete Oct 23, 2016
e6baaee
Cosmetic & readability changes
Cat-Ion Oct 21, 2016
514d898
Merge pull request #439 from Cat-Ion/feature/cosmetic
csete Oct 23, 2016
d803ac6
The 'm' command must returns a passband on new line.
kukabu Oct 24, 2016
d7222b6
Merge pull request #440 from kukabu/hamlib
csete Oct 24, 2016
64e35a3
Improved '\dump_state' command.
kukabu Oct 25, 2016
ce98592
Merge pull request #442 from kukabu/dump_state
csete Oct 27, 2016
13970fc
Refactoring RemoteControl::startRead().
kukabu Oct 28, 2016
7841335
Merge pull request #444 from kukabu/startRead
csete Oct 28, 2016
97db8e4
Add .travis.yml for Travis CI (http://travis-ci.org/).
kukabu Nov 18, 2016
391c692
Merge pull request #453 from kukabu/TravisCI
csete Nov 22, 2016
8d28a16
Add links to GNU Radio qnd Qt websites
csete Nov 22, 2016
53e5269
Replace deprecated mpsk_receiver by constellation_receiver
pinkavaj Dec 28, 2016
5a9e04d
Restore FM max deviation between sessions
csete Jan 5, 2017
e7b7fe0
Defer reading receiver/demod till the end
csete Jan 5, 2017
afb1469
Ensure maxdev is applied when NFM is selected
csete Jan 5, 2017
d9b25f8
Use const getters where possible
csete Jan 5, 2017
86147c5
Ensure de-emphasis is applied when NFM is selected
csete Jan 5, 2017
52dd3da
Restore FM de-emphasis between sessions
csete Jan 5, 2017
63f6e52
Add both 17 and 25 kHz deviations for APT use
csete Jan 6, 2017
d842ad8
Remove unused class member
csete Jan 6, 2017
09101bd
Minor style cleanup
csete Jan 6, 2017
d9c9645
Use standard filter presets for APT submode
csete Jan 7, 2017
b27221a
Add interface for reading quad_rate from receiver
csete Jan 7, 2017
b56bc28
Remove unused audio rate from FM and AM demods
csete Jan 7, 2017
392dd42
Increase quadrature rate for narrow band receiver
csete Jan 7, 2017
3b2859a
Adjust filter ranges according to quadrature rate
csete Jan 7, 2017
54960c3
Remove 75k deviation from narrow band RX
csete Jan 7, 2017
05e45a0
Add interface to retrieve filter low/high cut
csete Jan 7, 2017
a55eabd
Restore filter width between sessions
csete Jan 7, 2017
175f335
Update news file
csete Jan 7, 2017
970591e
Update FM de-emphasis filter to match fm_emph.py
csete Jan 7, 2017
97e6b8d
Merge pull request #470 from pinkavaj/mpsk2const-00
csete Jan 8, 2017
6a13e4e
Added a few fake command for better hamlib compatible.
kukabu Oct 27, 2016
e7f3c94
Add config record for resetting the digits in FreqCtrl
csete Jan 9, 2017
bcb207c
Merge pull request #476 from kukabu/vfo
csete Jan 11, 2017
487a8ff
Make some members const
csete Jan 11, 2017
0634769
Use || for logical or
csete Jan 18, 2017
0f08309
German translation for dekstop file
dadosch Jan 28, 2017
79f781e
improved naturality
dadosch Jan 28, 2017
aea6abc
Merge pull request #483 from dadosch/patch-1
csete Jan 28, 2017
96fc99d
Fix typo
csete Jan 28, 2017
f0078b1
Check if audio sink is connected before disconnecting
alexf91 Feb 10, 2017
8c99747
Merge pull request #486 from alexf91/fix_audio_device_crash
csete Feb 10, 2017
a038f89
Properly restore AGC on/off setting
csete Feb 12, 2017
f5fec3d
Use convention CW=USB and CWR=LSB
csete Feb 12, 2017
c705aff
Add checkbox to select freqCtrl reset behavior
alexf91 Feb 16, 2017
3a6e519
Merge pull request #487 from alexf91/freqctrl_option
csete Feb 16, 2017
89097d9
Minor UI tweaks on inputctl
csete Feb 16, 2017
ade22f9
Update news.txt
csete Feb 16, 2017
80f008f
Add example sample rates for LimeSDR
csete Feb 19, 2017
958266a
Check if new and old file are equal
alexf91 Mar 2, 2017
66fe433
Enable custom Airspy kernels by default
csete Mar 2, 2017
cf8ceb4
Merge pull request #495 from alexf91/config_saveas
csete Mar 5, 2017
74db13f
Update news.txt
csete Mar 5, 2017
821576b
Disable detected proxy settings
alexf91 Mar 14, 2017
a6c92ad
Add workaround for Qt versions < 5.9
alexf91 Mar 14, 2017
b864b02
Merge pull request #499 from alexf91/http_proxy_fix
csete Mar 14, 2017
8bcbd96
Update news.txt
csete Mar 14, 2017
36f9457
Add spin button for entering receiver frequency
csete Mar 15, 2017
c157d00
Set accessibleName property for some control widgets
csete Mar 15, 2017
4a66a03
Update news file
csete Mar 15, 2017
7602665
Add Accessories categorie for xfce
Mar 25, 2017
ec390a1
Merge pull request #503 from panosmdma/patch-1
csete Mar 25, 2017
1ad103e
Add two-stage FIR decimator design by Youssef Touil
csete Apr 2, 2017
3e85f13
Indent fir_decim_coef
csete Apr 5, 2017
d85fafa
Update readme
csete Apr 5, 2017
1b83c02
Update news.txt
csete Apr 6, 2017
5bcb07b
Don't use auto type for variables
csete Apr 7, 2017
a2965f0
Allow frequency controller to have up to max digits
csete Apr 22, 2017
4d06123
Increase LNB LO range to +/- 500 GHz
csete Apr 22, 2017
3b253e0
Remove incorrect type cast
csete Apr 22, 2017
e7a9d6c
Update news.txt
csete Apr 22, 2017
ca4010d
Reduce the number of active digits for HF radios
csete Apr 23, 2017
a400ad4
Disable digit group separators
csete Apr 23, 2017
ff597b9
Adjust SSB filter presets
csete Apr 23, 2017
fdc8f6b
Add description to the AppData file
AsciiWolf Apr 26, 2017
5f202be
Merge pull request #514 from AsciiWolf/patch-1
csete Apr 26, 2017
0fc320b
Add additional waterfall time spans
mhostetter Apr 27, 2017
f02a15b
Merge pull request #515 from mhostetter/add-time-spans
csete Apr 29, 2017
e62104b
Update news.txt
csete Apr 29, 2017
e6612af
Change squelch units to dB to free up some layout space
csete May 3, 2017
d47fd73
Add squelch reset button
csete May 3, 2017
a815c38
Update tab order in DockRxOpt
csete May 3, 2017
5baeb40
Update tab order in I/O config
csete May 3, 2017
b860cc8
Update CFreqCtl to support unitless display
csete May 3, 2017
7a39d98
Fix incorrect digit separator in CFreqCtrl
csete May 3, 2017
09f89e4
Switch to Hamradio style frequency display
csete May 11, 2017
82e0cc2
Add new logos to be integrated
csete May 31, 2017
1ea0e91
Ignore playing of deleted file
alexf91 Jul 8, 2017
b6d0c75
Update news.txt
csete Jul 9, 2017
75c8ee7
Add dummy QSvgWidget to enforce linking to QtSvg
csete Jul 16, 2017
7c3068c
Add some sample rates for PlutoSDR
csete Aug 17, 2017
6726510
Add Airspy HF+ sample rate
csete Aug 18, 2017
9e68d78
IQ rec/play: Fix navigation in large IQ files
dk7ob Aug 19, 2017
d03175a
Update version string to 2.7
csete Aug 19, 2017
0e00f70
Continue with git vesion
csete Aug 26, 2017
8f68f7a
Add device string hint for PlutoSDR
csete Aug 26, 2017
ccd40cf
Add LNB_LO command to remote control interface
Aug 26, 2017
ee5f76d
Update news.txt
csete Aug 27, 2017
965bbd4
Avoid redefinition of VERSION
csete Aug 30, 2017
82cb67f
FindGnuradio-osmosdr.cmake to find include
Aug 31, 2017
033c02d
Fix inactive Start DSP and Config buttons
csete Sep 3, 2017
1cec28f
Update news file
csete Sep 3, 2017
0a9a4ba
Fix typo
csete Sep 3, 2017
d842419
Ensure FreqCtrl digits are drawn after resize
csete Sep 9, 2017
11db1e9
Update news file
csete Sep 9, 2017
950996a
Tweak remote frequency handling
csete Sep 16, 2017
7dbe7c8
Update news.txt
csete Sep 16, 2017
c7e9f15
Set default mode to AM instead of none
csete Sep 16, 2017
18d86ea
Update news.txt
csete Sep 16, 2017
39084ef
Update version to 2.8
csete Sep 16, 2017
514a08a
Continue with development version string
csete Sep 16, 2017
fd9956e
Check for Airspy HF+ before R2 or Mini
csete Oct 17, 2017
0474b9f
Always save list of allowed remote control clients
csete Nov 8, 2017
a9bfa18
Always save UDP host string, unless it is empty
csete Nov 8, 2017
a283b1d
Update news file
csete Nov 8, 2017
ebb09d8
Use floating point division when calculating bandwidth
csete Nov 8, 2017
c9e2712
Initialize all scalar fields in CAgc
csete Nov 8, 2017
5d401d2
Initialize program_identification
csete Nov 8, 2017
7c9819c
Initrialize scalar members in DecoderImpl
csete Nov 9, 2017
3a9c667
Initial all non-static memenbers in remote control interface
csete Nov 9, 2017
9beec10
Update copyright year
csete Nov 10, 2017
884d5d9
Update news file
csete Nov 10, 2017
ad9b582
Check and report on pulseaudio errors.
csete Nov 10, 2017
1503682
Update version number
csete Nov 10, 2017
76bf331
Continue with devel version string
csete Nov 25, 2017
a361235
Remove invalid category
csete Dec 10, 2017
bab5577
Add missing header file
csete Dec 10, 2017
4138038
Fix spelling errors
csete Dec 10, 2017
903a113
Avoid emitting spurious set_freq signals during init
csete Jan 1, 2018
951dcd7
sdrplay: fix sample rate list, range is 2M to 10M with 2.048M default
willcode Dec 31, 2017
50c51b9
sdrplay: clip rate to range 2M-10M
willcode Dec 31, 2017
b1336d1
Update readme and news
csete Jan 2, 2018
c8aa219
sdrplay: lower min sample rate to 62500 (driver provides decimation)
willcode Jan 10, 2018
f2020f4
sdrplay: make default 2 MS/s
willcode Jan 13, 2018
7246556
Update news file
csete Jan 21, 2018
84a663f
Update version to 2.10
csete Jan 21, 2018
deedabb
Microtelecom Perseus intial support added
amontefusco Feb 1, 2018
5de0a29
Update news and readme
csete Feb 3, 2018
69b0f62
Continue with development version
csete Feb 3, 2018
1ff0ff9
Update dependencies
csete Mar 3, 2018
6ff7054
Check for pkg-config when building with qmake
alexf91 Mar 3, 2018
51c8ccc
Expand allowed FFT window type range
csete Mar 5, 2018
033c7f4
Make some functions const
csete Mar 5, 2018
d348242
Implement selectable IQ FFT window type
csete Mar 5, 2018
7d0841e
Add portaudio to cmake info
csete Mar 13, 2018
7556b3b
Add option to build with Portaudio on Mac OS X
csete Mar 13, 2018
81cd795
Re-enable Funcube Dongle detection on Mac
csete Mar 15, 2018
769c0f7
Update news file
csete Mar 16, 2018
6d43356
Show path when using -l and --list
csete Mar 16, 2018
6de6a24
Fix black on black tooltips in the main window
csete Mar 16, 2018
b67ff67
Update news file
csete Mar 16, 2018
38257e7
Avoid auto squelch setting 0 dBFS
csete Mar 17, 2018
f6ba80b
Update news file
csete Mar 17, 2018
81047b8
Fix I/Q files replay when path contains spaces
csete Mar 17, 2018
e85e7b4
Restore gains to slider states when AGC is disabled
csete Mar 17, 2018
d4927c4
Clean-up meter widget code and add SQL indicator
csete Mar 17, 2018
ca19a57
Clean-up in bookmarks code
csete Mar 17, 2018
e0cf2dc
Update news file
csete Mar 17, 2018
a029b2a
Use correct upper limit for auto-squelch
csete Mar 17, 2018
b15a648
added MANIFEST.md for CGRAN parsing sake
777arc Mar 17, 2018
a851f67
Make filter offset limit a function of the bandwidth
csete Mar 17, 2018
a8c14f5
Update version to 2.11
csete Mar 18, 2018
3ca58b6
Remove visible border around frequency and meter widgets
csete Mar 18, 2018
10095a2
Update version to 2.11.1
csete Mar 18, 2018
89f8577
Reduce width of horizontal separators in the main window
csete Mar 23, 2018
cbc8a2d
More layout adjustments for small screens
csete Mar 24, 2018
dfefbcf
Avoid extra space around frequency controller
csete Mar 24, 2018
e829653
Use git version
csete Mar 24, 2018
0fc8467
Simplify debug output when listing input devices
csete Mar 24, 2018
e914318
Use git version
csete Mar 24, 2018
4eb8e69
Ensure gain sliders expand while labels stay fixed
csete Mar 24, 2018
be7e23c
Update version to 2.11.2
csete Mar 24, 2018
8643d08
Add backspace key to frequency controller
Arinerron Mar 29, 2018
70ae604
Continue with git version
csete Apr 2, 2018
74931e8
Delete remote control socket after closing it
alexf91 Apr 9, 2018
a0bfd7c
Update news file
csete Apr 9, 2018
35c2b9d
Update news file
csete Apr 13, 2018
a621754
Update text about dialog
csete Apr 13, 2018
cc5cccb
Version 2.11.3
csete Apr 13, 2018
2ec4f08
Reduce size of color selector button in bookmarks tag list
csete Apr 15, 2018
1253ee1
Update news file
csete Apr 15, 2018
2838ca8
Version 2.11.4
csete Apr 15, 2018
6dc627b
Fix crash in remote_control q command
darinfranklin May 16, 2018
5d9f8ed
Update readme and news files
csete May 16, 2018
1e9193f
Version 2.11.5
csete May 16, 2018
1bc4d9d
Initialize adjusted minimum in dB scale
alexf91 May 30, 2018
cc8b8f0
Fix text in about box
csete Jun 1, 2018
f94660a
Replace deprecated qt5_use_modules macro
alexf91 May 30, 2018
473c885
Fix spelling error
csete Jun 4, 2018
1776d75
bladerf updates
NathanFrench Jul 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
sudo: required

dist: trusty

language: cpp

compiler:
- gcc
- clang

env:
- AUDIO_BACKEND="Pulseaudio"
- AUDIO_BACKEND="Portaudio"
- AUDIO_BACKEND="Gr-audio"

before_install:
- sudo add-apt-repository -y ppa:bladerf/bladerf
- sudo add-apt-repository -y ppa:ettusresearch/uhd
- sudo add-apt-repository -y ppa:myriadrf/drivers
- sudo add-apt-repository -y ppa:myriadrf/gnuradio
- sudo apt-get update -qq
- sudo apt-get install -y cmake qt5-default libqt5svg5-dev libboost-dev libpulse-dev portaudio19-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr gr-fcdproplus

script:
- mkdir build
- cd build
- cmake -DLINUX_AUDIO_BACKEND:STRING=$AUDIO_BACKEND ..
- make
80 changes: 61 additions & 19 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
cmake_minimum_required(VERSION 2.8.0)
cmake_minimum_required(VERSION 2.8.11)

#######################################################################################################################
# Project name
project(gqrx)
set(${PROJECT_NAME}_MAJOR "2")
set(${PROJECT_NAME}_MINOR "5")
set(${PROJECT_NAME}_PATCH "3")
##set(VERSION "${${PROJECT_NAME}_MAJOR}.${${PROJECT_NAME}_MINOR}.${${PROJECT_NAME}_PATCH}")
set(${PROJECT_NAME}_MINOR "11")
set(${PROJECT_NAME}_PATCH "5")
set(VERSION "${${PROJECT_NAME}_MAJOR}.${${PROJECT_NAME}_MINOR}.${${PROJECT_NAME}_PATCH}")
##set(VERSION "${${PROJECT_NAME}_MAJOR}.${${PROJECT_NAME}_MINOR}")
##add_definitions(-DVERSION="${VERSION}")

Expand Down Expand Up @@ -74,7 +73,6 @@ if(MSVC)
endif()
endif()

#######################################################################################################################
# Functions & macros. These must be defined before including subdirectories.

# function to collect all the sources from sub-directories
Expand All @@ -99,28 +97,39 @@ function(add_source_files list)
endfunction(add_source_files)


#######################################################################################################################
# 3rd Party Dependency Stuff
find_package(Qt5 COMPONENTS Core Network Widgets REQUIRED)
find_package(Qt5 COMPONENTS Core Network Widgets Svg REQUIRED)
find_package(Boost COMPONENTS system program_options REQUIRED)
set(GR_REQUIRED_COMPONENTS RUNTIME ANALOG AUDIO BLOCKS DIGITAL FILTER FFT PMT)
find_package(Gnuradio REQUIRED)
find_package(Gnuradio-osmosdr REQUIRED)

if(NOT GNURADIO_RUNTIME_FOUND)
message(FATAL_ERROR "GnuRadio Runtime required to compile gr-air-modes")
message(FATAL_ERROR "GnuRadio Runtime required to compile gqrx")
endif()

if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if(NOT LINUX_AUDIO_BACKEND)
set(LINUX_AUDIO_BACKEND Pulseaudio CACHE STRING "Choose the audio backend, options are: Pulseaudio, Gr-audio" FORCE)
set(LINUX_AUDIO_BACKEND Pulseaudio CACHE STRING "Choose the audio backend, options are: Pulseaudio, Portaudio, Gr-audio" FORCE)
endif()

if(${LINUX_AUDIO_BACKEND} MATCHES "Pulseaudio")
find_package(PulseAudio REQUIRED)
# there is a defect in the pulse audio cmake file that does not include this library. So we add it here.
find_library(PULSE-SIMPLE NAMES pulse-simple REQUIRED)
add_definitions(-DWITH_PULSEAUDIO)
unset(PORTAUDIO_INCLUDE_DIRS CACHE)
unset(PORTAUDIO_LIBRARIES CACHE)
elseif(${LINUX_AUDIO_BACKEND} MATCHES "Portaudio")
find_package(Portaudio REQUIRED)
add_definitions(-DWITH_PORTAUDIO)
unset(PULSEAUDIO_FOUND CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
unset(PULSEAUDIO_LIBRARY CACHE)
unset(PulseAudio_DIR CACHE)
unset(PULSE-SIMPLE CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
unset(PULSEAUDIO_MAINLOOP_LIBRARY CACHE)
elseif(${LINUX_AUDIO_BACKEND} MATCHES "Gr-audio")
unset(PULSEAUDIO_FOUND CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
Expand All @@ -129,22 +138,62 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
unset(PULSE-SIMPLE CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
unset(PULSEAUDIO_MAINLOOP_LIBRARY CACHE)
unset(PORTAUDIO_INCLUDE_DIRS CACHE)
unset(PORTAUDIO_LIBRARIES CACHE)
else()
message(FATAL_ERROR "Invalid audio backend: should be either Pulseaudio or Gr-audio")
message(FATAL_ERROR "Invalid audio backend: should be either Pulseaudio, Portaudio or Gr-audio")
endif()
endif()

if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
if(NOT OSX_AUDIO_BACKEND)
set(OSX_AUDIO_BACKEND Portaudio CACHE STRING "Choose the audio backend, options are: Portaudio and Gr-audio" FORCE)
endif()

if(${OSX_AUDIO_BACKEND} MATCHES "Portaudio")
find_package(Portaudio REQUIRED)
add_definitions(-DWITH_PORTAUDIO)
unset(PULSEAUDIO_FOUND CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
unset(PULSEAUDIO_LIBRARY CACHE)
unset(PulseAudio_DIR CACHE)
unset(PULSE-SIMPLE CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
unset(PULSEAUDIO_MAINLOOP_LIBRARY CACHE)
elseif(${OSX_AUDIO_BACKEND} MATCHES "Gr-audio")
unset(PULSEAUDIO_FOUND CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
unset(PULSEAUDIO_LIBRARY CACHE)
unset(PulseAudio_DIR CACHE)
unset(PULSE-SIMPLE CACHE)
unset(PULSEAUDIO_INCLUDE_DIR CACHE)
unset(PULSEAUDIO_MAINLOOP_LIBRARY CACHE)
unset(PORTAUDIO_INCLUDE_DIRS CACHE)
unset(PORTAUDIO_LIBRARIES CACHE)
else()
message(FATAL_ERROR "Invalid audio backend: should be either Portaudio or Gr-audio")
endif()
endif()


# Airspy optimizations that require modified gr-osmosdr
option(CUSTOM_AIRSPY_KERNELS "Enable non-standard Airspy optimizations" ON)
if(CUSTOM_AIRSPY_KERNELS)
add_definitions(-DCUSTOM_AIRSPY_KERNELS)
endif(CUSTOM_AIRSPY_KERNELS)


# Tell CMake to run moc when necessary:
set(CMAKE_AUTOMOC ON)
# As moc files are generated in the binary dir, tell CMake to always look for includes there:
set(CMAKE_INCLUDE_CURRENT_DIR ON)

#######################################################################################################################
# Finish configuring compiler / linker settings & flags
include_directories(
${CMAKE_SOURCE_DIR}/include
${Boost_INCLUDE_DIRS}
${GNURADIO_RUNTIME_INCLUDE_DIRS}
${GNURADIO_OSMOSDR_INCLUDE_DIRS}
)

link_directories(
Expand All @@ -153,16 +202,9 @@ link_directories(
)



#######################################################################################################################
# Add subdirectories
add_subdirectory(src)

#######################################################################################################################
# enable testing - must be in the top level CMakeLists.txt file
# enable_testing()


# uninstall target
# https://cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
configure_file(
Expand Down
203 changes: 203 additions & 0 deletions LICENSE-CTK
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the
purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control
systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITION OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading