diff --git a/CHANGELOG.md b/CHANGELOG.md index 83b7a22..d1e65ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,6 @@ -**1.1.x - unreleased** +**unreleased** + +**1.1.0** - Reworked most graphical elements as SVGs for faster loadtimes and crispier display on hi-dpi displays - Updated pipelines to match changes in digiham - Changed D-Star and NXDN integrations to use new decoders from digiham diff --git a/config_webrx.py b/config_webrx.py index 4d61fbd..f06f50e 100644 --- a/config_webrx.py +++ b/config_webrx.py @@ -104,9 +104,6 @@ version = 7 #digimodes_fft_size = 2048 -# determines the quality, and thus the cpu usage, for the ambe codec used by digital voice modes -# if you're running on a Raspi (up to 3B+) you'll want to leave this on 1 -#digital_voice_unvoiced_quality = 1 # enables lookup of DMR ids using the radioid api #digital_voice_dmr_id_lookup = True diff --git a/csdr/__init__.py b/csdr/__init__.py index 8baeaf3..7a7a41f 100644 --- a/csdr/__init__.py +++ b/csdr/__init__.py @@ -84,7 +84,6 @@ class Dsp(DirewolfConfigSubscriber): self.pipes = {} self.secondary_pipe_names = {"secondary_shift_pipe": Pipe.WRITE} self.secondary_offset_freq = 1000 - self.unvoiced_quality = 1 self.codecserver = None self.modification_lock = threading.Lock() self.output = output @@ -640,13 +639,6 @@ class Dsp(DirewolfConfigSubscriber): if self.running and "squelch_pipe" in self.pipes: self.pipes["squelch_pipe"].write("%g\n" % (self.convertToLinear(actual_squelch))) - def set_unvoiced_quality(self, q): - self.unvoiced_quality = q - self.restart() - - def get_unvoiced_quality(self): - return self.unvoiced_quality - def set_codecserver(self, s): if self.codecserver == s: return @@ -767,7 +759,6 @@ class Dsp(DirewolfConfigSubscriber): nc_port=self.nc_port, output_rate=self.get_output_rate(), smeter_report_every=int(self.if_samp_rate() / 6000), - unvoiced_quality=self.get_unvoiced_quality(), codecserver_arg=self.get_codecserver_arg(), audio_rate=self.get_audio_rate(), wfm_deemphasis_tau=self.wfm_deemphasis_tau, diff --git a/debian/changelog b/debian/changelog index f5684bc..83c7888 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,8 @@ -openwebrx (1.1.0) UNRELEASED; urgency=low +openwebrx (1.2.0) UNRELEASED; urgency=low + + -- Jakob Ketterl Tue, 03 Aug 2021 13:54:00 +0000 + +openwebrx (1.1.0) buster hirsute; urgency=low * Reworked most graphical elements as SVGs for faster loadtimes and crispier display on hi-dpi displays @@ -6,7 +10,7 @@ openwebrx (1.1.0) UNRELEASED; urgency=low * Changed D-Star and NXDN integrations to use new decoder from digiham * Added D-Star and NXDN metadata display - -- Jakob Ketterl Sun, 09 May 2021 14:05:00 +0000 + -- Jakob Ketterl Mon, 02 Aug 2021 16:24:00 +0000 openwebrx (1.0.0) buster hirsute; urgency=low * Introduced `squelch_auto_margin` config option that allows configuring the diff --git a/docker/scripts/install-connectors.sh b/docker/scripts/install-connectors.sh index 570b5c1..8386bc8 100755 --- a/docker/scripts/install-connectors.sh +++ b/docker/scripts/install-connectors.sh @@ -24,8 +24,7 @@ apt-get update apt-get -y install --no-install-recommends $BUILD_PACKAGES git clone https://github.com/jketterl/owrx_connector.git -# latest develop as of 2021-05-18 (individual connector versions) -cmakebuild owrx_connector 167324219813f61b2be8164eb4acb1237ba2c304 +cmakebuild owrx_connector 0.5.0 apt-get -y purge --autoremove $BUILD_PACKAGES apt-get clean diff --git a/docker/scripts/install-dependencies-runds.sh b/docker/scripts/install-dependencies-runds.sh index 711a437..9a4be02 100755 --- a/docker/scripts/install-dependencies-runds.sh +++ b/docker/scripts/install-dependencies-runds.sh @@ -25,8 +25,7 @@ apt-get update apt-get -y install --no-install-recommends $STATIC_PACKAGES $BUILD_PACKAGES git clone https://github.com/jketterl/runds_connector.git -# latest develop as of 2021-05-18 (individual connector versions) -cmakebuild runds_connector adfa04bee4ee36852feb07e7b845be2c3d3f97c7 +cmakebuild runds_connector 0.2.0 apt-get -y purge --autoremove $BUILD_PACKAGES apt-get clean diff --git a/docker/scripts/install-dependencies.sh b/docker/scripts/install-dependencies.sh index bae8d91..7ea893f 100755 --- a/docker/scripts/install-dependencies.sh +++ b/docker/scripts/install-dependencies.sh @@ -19,7 +19,7 @@ function cmakebuild() { cd /tmp STATIC_PACKAGES="sox libfftw3-bin python3 python3-setuptools netcat-openbsd libsndfile1 liblapack3 libusb-1.0-0 libqt5core5a libreadline7 libgfortran4 libgomp1 libasound2 libudev1 ca-certificates libqt5gui5 libqt5sql5 libqt5printsupport5 libpulse0 libfaad2 libopus0 libboost-program-options1.67.0 libboost-log1.67.0" -BUILD_PACKAGES="wget git libsndfile1-dev libfftw3-dev cmake make gcc g++ liblapack-dev texinfo gfortran libusb-1.0-0-dev qtbase5-dev qtmultimedia5-dev qttools5-dev libqt5serialport5-dev qttools5-dev-tools asciidoctor asciidoc libasound2-dev libudev-dev libhamlib-dev patch xsltproc qt5-default libfaad-dev libopus-dev libgtest-dev libboost-dev libboost-program-options-dev libboost-log-dev libboost-regex-dev" +BUILD_PACKAGES="wget git libsndfile1-dev libfftw3-dev cmake make gcc g++ liblapack-dev texinfo gfortran libusb-1.0-0-dev qtbase5-dev qtmultimedia5-dev qttools5-dev libqt5serialport5-dev qttools5-dev-tools asciidoctor asciidoc libasound2-dev libudev-dev libhamlib-dev patch xsltproc qt5-default libfaad-dev libopus-dev libboost-dev libboost-program-options-dev libboost-log-dev libboost-regex-dev" apt-get update apt-get -y install auto-apt-proxy apt-get -y install --no-install-recommends $STATIC_PACKAGES $BUILD_PACKAGES @@ -102,8 +102,7 @@ rm -rf dream rm dream-2.1.1-svn808.tar.gz git clone https://github.com/mobilinkd/m17-cxx-demod.git -# latest master as of 2021-04-20 -cmakebuild m17-cxx-demod c1d954fd5e5c53d28a2524e99484f832f9dcb826 +cmakebuild m17-cxx-demod v2.2 git clone https://github.com/hessu/aprs-symbols /usr/share/aprs-symbols pushd /usr/share/aprs-symbols diff --git a/docker/scripts/install-owrx-tools.sh b/docker/scripts/install-owrx-tools.sh index 3ae5afc..1cdfb32 100755 --- a/docker/scripts/install-owrx-tools.sh +++ b/docker/scripts/install-owrx-tools.sh @@ -43,12 +43,10 @@ rm -rf csdr git clone https://github.com/jketterl/codecserver.git mkdir -p /usr/local/etc/codecserver cp codecserver/conf/codecserver.conf /usr/local/etc/codecserver -#latest develop as of 2021-07-04 (optional checksum fix) -cmakebuild codecserver d73c9a56a773355679bc2d4a10f199b62223d7a0 +cmakebuild codecserver 0.1.0 git clone https://github.com/jketterl/digiham.git -#latest develop as of 2021-06-15 (DMR LCSS overflow fix; D-Star alternate terminator) -cmakebuild digiham 418145d74b528596a39198a537ab56207d932595 +cmakebuild digiham 0.5.0 apt-get -y purge --autoremove $BUILD_PACKAGES apt-get clean diff --git a/owrx/config/defaults.py b/owrx/config/defaults.py index de81af9..f03dded 100644 --- a/owrx/config/defaults.py +++ b/owrx/config/defaults.py @@ -18,7 +18,6 @@ defaultConfig = PropertyLayer( fft_compression="adpcm", wfm_deemphasis_tau=50e-6, digimodes_fft_size=2048, - digital_voice_unvoiced_quality=1, digital_voice_dmr_id_lookup=True, digital_voice_nxdn_id_lookup=True, sdrs=PropertyLayer( diff --git a/owrx/controllers/__init__.py b/owrx/controllers/__init__.py index 791b7b1..bb929ce 100644 --- a/owrx/controllers/__init__.py +++ b/owrx/controllers/__init__.py @@ -31,7 +31,9 @@ class Controller(object): self.handler.end_headers() if type(content) == str: content = content.encode() - self.handler.wfile.write(content) + while len(content): + w = self.handler.wfile.write(content) + content = content[w:] def send_redirect(self, location, code=303): self.handler.send_response(code) diff --git a/owrx/controllers/settings/decoding.py b/owrx/controllers/settings/decoding.py index a21cd06..fb0e542 100644 --- a/owrx/controllers/settings/decoding.py +++ b/owrx/controllers/settings/decoding.py @@ -35,12 +35,6 @@ class DecodingSettingsController(SettingsFormController): ), Section( "Digital voice", - NumberInput( - "digital_voice_unvoiced_quality", - "Quality of unvoiced sounds in synthesized voice", - infotext="Determines the quality, and thus the cpu usage, for the ambe codec used by digital voice" - + " modes.
If you're running on a Raspberry Pi (up to 3B+) you should leave this set at 1", - ), TextInput( "digital_voice_codecserver", "Codecserver address", diff --git a/owrx/dsp.py b/owrx/dsp.py index 6df6544..b6a569f 100644 --- a/owrx/dsp.py +++ b/owrx/dsp.py @@ -67,7 +67,6 @@ class DspManager(Output, SdrSourceEventClient): "fft_compression", "digimodes_fft_size", "samp_rate", - "digital_voice_unvoiced_quality", "center_freq", "start_mod", "start_freq", @@ -128,7 +127,6 @@ class DspManager(Output, SdrSourceEventClient): self.props.wireProperty("low_cut", set_low_cut), self.props.wireProperty("high_cut", set_high_cut), self.props.wireProperty("mod", self.dsp.set_demodulator), - self.props.wireProperty("digital_voice_unvoiced_quality", self.dsp.set_unvoiced_quality), self.props.wireProperty("dmr_filter", self.dsp.set_dmr_filter), self.props.wireProperty("wfm_deemphasis_tau", self.dsp.set_wfm_deemphasis_tau), self.props.wireProperty("digital_voice_codecserver", self.dsp.set_codecserver), diff --git a/owrx/feature.py b/owrx/feature.py index 629829c..df9f32e 100644 --- a/owrx/feature.py +++ b/owrx/feature.py @@ -259,6 +259,8 @@ class FeatureDetector(object): "fsk_demodulator", "pocsag_decoder", "dstar_decoder", + "nxdn_decoder", + "dc_block", ], ), True, @@ -279,7 +281,7 @@ class FeatureDetector(object): return False def _check_owrx_connector(self, command): - return self._check_connector(command, LooseVersion("0.4")) + return self._check_connector(command, LooseVersion("0.5")) def has_rtl_connector(self): """ @@ -548,6 +550,11 @@ class FeatureDetector(object): return self._check_connector("runds_connector", LooseVersion("0.2")) def has_codecserver_ambe(self): + """ + Codecserver is used to decode audio data from digital voice modes using the AMBE codec. + + You can find more information [here](https://github.com/jketterl/codecserver). + """ tmp_dir = CoreConfig().get_temporary_directory() cmd = ["mbe_synthesizer", "--test"] config = Config.get() diff --git a/owrx/version.py b/owrx/version.py index 25f829d..658af14 100644 --- a/owrx/version.py +++ b/owrx/version.py @@ -1,5 +1,5 @@ from distutils.version import LooseVersion -_versionstring = "1.1.0-dev" +_versionstring = "1.2.0-dev" looseversion = LooseVersion(_versionstring) openwebrx_version = "v{0}".format(looseversion)