mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
Update to latest release.
DOCS option is back, hopefully it'll stay. Jasper has been switched out for OpenJPEG.
This commit is contained in:
parent
3052a7c37a
commit
93b24289aa
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=412986
@ -1,7 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= qsstv
|
||||
PORTVERSION= 8.2.12
|
||||
PORTVERSION= 9.1.1
|
||||
CATEGORIES= comms hamradio
|
||||
MASTER_SITES= http://users.telenet.be/on4qz/qsstv/downloads/ \
|
||||
LOCAL/shurd
|
||||
@ -16,11 +16,33 @@ LIB_DEPENDS= libfftw3.so:math/fftw3 \
|
||||
libfftw3f.so:math/fftw3-float \
|
||||
libhamlib.so:comms/hamlib \
|
||||
libasound.so:audio/alsa-lib \
|
||||
libjasper.so:graphics/jasper
|
||||
libpulse.so:audio/pulseaudio \
|
||||
libopenjp2.so.7:graphics/openjpeg
|
||||
BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat
|
||||
|
||||
USES= qmake
|
||||
USE_QT4= gui network xml moc_build rcc_build uic_build
|
||||
PLIST_FILES= bin/qsstv
|
||||
USE_QT5= buildtools core gui network xml
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
DOCS_CXXFLAGS= -DWITH_DOCS
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
|
||||
-e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
|
||||
-e 's|%%DOCSDIR%%|${DOCSDIR}|g' \
|
||||
-e 's|%%PERL%%|${PERL}|g' \
|
||||
${WRKSRC}/qsstv/qsstv.pro ${WRKSRC}/qwt/qwt.pro \
|
||||
${WRKSRC}/qsstv/config/directoriesconfig.cpp \
|
||||
${WRKSRC}/qsstv/documentation/manual/manual.doxy \
|
||||
${WRKSRC}/qsstv/documentation/manual/manual/gettingstarted.html \
|
||||
${WRKSRC}/qsstv/documentation/manual/manual.txt
|
||||
${RM} ${WRKSRC}/qsstv/documentation/manual/manual.txt.*
|
||||
${RM} ${WRKSRC}/qsstv/documentation/manual/manual.*.orig
|
||||
|
||||
post-stage:
|
||||
-${RM} ${STAGEDIR}/${DOCSDIR}/manual.doxy
|
||||
-${RM} ${STAGEDIR}/${DOCSDIR}/doxygen_sqlite3.db
|
||||
-${RM} ${STAGEDIR}/${DOCSDIR}/*.bak
|
||||
-${RM} ${STAGEDIR}/${DOCSDIR}/*.orig
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,2 +1,2 @@
|
||||
SHA256 (qsstv_8.2.12.tar.gz) = 3bb6cff072747981d387196780de4414f8766a5a620dc1629cb4ba4de1d3bc4d
|
||||
SIZE (qsstv_8.2.12.tar.gz) = 942737
|
||||
SHA256 (qsstv_9.1.1.tar.gz) = 421a937901f98f8a0008f52ce6dde286733e5fd6a381ff8db0088e885bed6909
|
||||
SIZE (qsstv_9.1.1.tar.gz) = 12829697
|
||||
|
14
comms/qsstv/files/patch-qsstv_config_directoriesconfig.cpp
Normal file
14
comms/qsstv/files/patch-qsstv_config_directoriesconfig.cpp
Normal file
@ -0,0 +1,14 @@
|
||||
--- qsstv/config/directoriesconfig.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/config/directoriesconfig.cpp
|
||||
@@ -43,7 +43,11 @@ void directoriesConfig::readSettings()
|
||||
txStockImagesPath=qSettings.value("txStockImagesPath",QString(getenv("HOME"))+"/tx_stock/").toString();
|
||||
templatesPath=qSettings.value("templatesPath",QString(getenv("HOME"))+"/templates/").toString();
|
||||
audioPath=qSettings.value("audioPath",QString(getenv("HOME"))+"/audio/").toString();
|
||||
+#ifdef WITH_DOCS
|
||||
+ docURL=qSettings.value("docURL","file://%%DOCSDIR%%/manual").toString();
|
||||
+#else
|
||||
docURL=qSettings.value("docURL","http://users.telenet.be/on4qz/qsstv_9/manual").toString();
|
||||
+#endif
|
||||
saveTXimages=qSettings.value("saveTXimages",false).toBool();
|
||||
qSettings.endGroup();
|
||||
setParams();
|
@ -1,10 +0,0 @@
|
||||
--- qsstv/configform.ui.orig 2014-12-06 14:41:00 UTC
|
||||
+++ qsstv/configform.ui
|
||||
@@ -2611,7 +2611,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>soundControl</class>
|
@ -0,0 +1,11 @@
|
||||
--- qsstv/documentation/manual/manual.doxy.orig 2016-04-08 23:42:31 UTC
|
||||
+++ qsstv/documentation/manual/manual.doxy
|
||||
@@ -1549,7 +1549,7 @@ EXTERNAL_GROUPS = YES
|
||||
# The PERL_PATH should be the absolute path and name of the perl script
|
||||
# interpreter (i.e. the result of `which perl').
|
||||
|
||||
-PERL_PATH = /usr/bin/perl
|
||||
+PERL_PATH = %%PERL%%
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
@ -0,0 +1,11 @@
|
||||
--- qsstv/documentation/manual/manual.txt.orig 2016-04-09 01:25:30 UTC
|
||||
+++ qsstv/documentation/manual/manual.txt
|
||||
@@ -213,7 +213,7 @@ The following tabs are available
|
||||
- TX Images: directory for images to transmit
|
||||
- Templates: directory where the template files are stored
|
||||
- Audio Records: directory for audio files (where you save/read recorded audio files)
|
||||
-- Documentation: URL of the user manual (if you copied the manual locally then you can point to it with e.g. file:///usr/share/doc/qsstv/manual
|
||||
+- Documentation: URL of the user manual (if you copied the manual locally then you can point to it with e.g. file://%%DOCSDIR%%/manual
|
||||
<br><br>
|
||||
|
||||
\li Gui
|
@ -0,0 +1,11 @@
|
||||
--- qsstv/documentation/manual/manual/gettingstarted.html.orig 2016-04-09 01:25:31 UTC
|
||||
+++ qsstv/documentation/manual/manual/gettingstarted.html
|
||||
@@ -107,7 +107,7 @@ This information can also be used in tem
|
||||
<li>TX Images: directory for images to transmit</li>
|
||||
<li>Templates: directory where the template files are stored</li>
|
||||
<li>Audio Records: directory for audio files (where you save/read recorded audio files)</li>
|
||||
-<li>Documentation: URL of the user manual (if you copied the manual locally then you can point to it with e.g. <a href="file:///usr/share/doc/qsstv/manual">file:///usr/share/doc/qsstv/manual</a> <br />
|
||||
+<li>Documentation: URL of the user manual (if you copied the manual locally then you can point to it with e.g. <a href="file://%%DOCSDIR%%/manual">file://%%DOCSDIR%%/qsstv/manual</a> <br />
|
||||
<br />
|
||||
</li>
|
||||
</ul>
|
@ -1,4 +1,4 @@
|
||||
--- qsstv/drmrx/channeldecode.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/drmrx/channeldecode.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/drmrx/channeldecode.cpp
|
||||
@@ -29,7 +29,6 @@
|
||||
#include <stdlib.h>
|
||||
@ -6,5 +6,5 @@
|
||||
#include <math.h>
|
||||
-#include <malloc.h>
|
||||
#include <float.h>
|
||||
#include "structtemplates.h"
|
||||
#include "drmproto.h"
|
||||
#include "drmdefs.h"
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- qsstv/drmrx/deinterleaver.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/drmrx/deinterleaver.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/drmrx/deinterleaver.cpp
|
||||
@@ -30,7 +30,6 @@
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- qsstv/drmrx/demodulator.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
+++ qsstv/drmrx/demodulator.cpp
|
||||
@@ -941,7 +941,7 @@ bool demodulator::channelEstimation()
|
||||
temp2 += actual_pilots[2 * j] * next_pilots[2 * j + 1] -actual_pilots[2 * j + 1] * next_pilots[2 * j];
|
||||
|
||||
}
|
||||
- if (i != 0) delta_freq_offset = (float) atan2(temp2, temp1 + MIN_ABS_H);
|
||||
+ if (i != 0) delta_freq_offset = (float) atan2(temp2, (float)(temp1 + MIN_ABS_H));
|
||||
|
||||
for (j = 0; j < K_max - K_min + 1; j++)
|
||||
{
|
@ -1,4 +1,4 @@
|
||||
--- qsstv/drmrx/getmode.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/drmrx/getmode.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/drmrx/getmode.cpp
|
||||
@@ -34,7 +34,6 @@
|
||||
#include <stdlib.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- qsstv/drmrx/mkfacmap.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/drmrx/mkfacmap.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/drmrx/mkfacmap.cpp
|
||||
@@ -27,7 +27,6 @@
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- qsstv/drmrx/mkmscmap.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/drmrx/mkmscmap.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/drmrx/mkmscmap.cpp
|
||||
@@ -32,7 +32,6 @@
|
||||
#include <stdlib.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- qsstv/drmrx/psdcmean.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/drmrx/psdcmean.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/drmrx/psdcmean.cpp
|
||||
@@ -36,7 +36,6 @@
|
||||
#include <stdlib.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- qsstv/drmrx/psdmean.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/drmrx/psdmean.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/drmrx/psdmean.cpp
|
||||
@@ -36,7 +36,6 @@
|
||||
#include <stdlib.h>
|
||||
|
@ -1,28 +1,29 @@
|
||||
--- qsstv/qsstv.pro.orig 2014-12-06 14:41:00 UTC
|
||||
--- qsstv/qsstv.pro.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/qsstv.pro
|
||||
@@ -420,20 +420,17 @@ HEADERS += scope/scopeoffset.h \
|
||||
FORMS += scope/scopeoffset.ui \
|
||||
scope/plotform.ui
|
||||
@@ -15,7 +15,7 @@ QMAKE_CXXFLAGS_RELEASE += -O3
|
||||
|
||||
- INCLUDEPATH += /usr/include/qwt
|
||||
LIBS += ../qwt/libqwt.a
|
||||
}
|
||||
TARGET = qsstv
|
||||
TEMPLATE = app
|
||||
-INCLUDEPATH += config utils sound widgets dsp dispatch logbook mainwidgets rig sstv videocapt drmrx drmtx xmlrpc /usr/include/openjpeg-2.1
|
||||
+INCLUDEPATH += config utils sound widgets dsp dispatch logbook mainwidgets rig sstv videocapt drmrx drmtx xmlrpc %%LOCALBASE%%/include/openjpeg-2.1
|
||||
|
||||
-CONFIG(debug ,debug|release){
|
||||
-dox.commands = cd $$PWD/Documentation/manual ;doxygen manual.doxy;
|
||||
+with_docs {
|
||||
+dox.commands = cd Documentation/manual ;doxygen manual.doxy;
|
||||
dox.depends= FORCE
|
||||
-PRE_TARGETDEPS += dox
|
||||
|
||||
SOURCES += main.cpp\
|
||||
@@ -515,8 +515,8 @@ PRE_TARGETDEPS += dox
|
||||
message(dox will be generated)
|
||||
}
|
||||
|
||||
-dox.path=/usr/share/doc/$$TARGET
|
||||
-dox.files= $$PWD/manual/*
|
||||
-QMAKE_EXTRA_TARGETS += dox
|
||||
+dox.path=$$PREFIX/share/doc/$$TARGET
|
||||
+dox.files= manual/*
|
||||
+dox.path=%%DOCSDIR%%
|
||||
+dox.files= documentation/manual/*
|
||||
QMAKE_EXTRA_TARGETS += dox
|
||||
|
||||
|
||||
@@ -524,5 +524,5 @@ QMAKE_EXTRA_TARGETS += dox
|
||||
RESOURCES += \
|
||||
qsstv.qrc
|
||||
|
||||
-target.path = /usr/bin
|
||||
+target.path = $$PREFIX/bin
|
||||
+target.path = %%PREFIX%%/bin
|
||||
INSTALLS += target dox
|
||||
|
||||
|
81
comms/qsstv/files/patch-qsstv_sound_soundalsa.cpp
Normal file
81
comms/qsstv/files/patch-qsstv_sound_soundalsa.cpp
Normal file
@ -0,0 +1,81 @@
|
||||
--- qsstv/sound/soundalsa.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/sound/soundalsa.cpp
|
||||
@@ -64,6 +64,8 @@ void soundAlsa::prepareCapture()
|
||||
{
|
||||
int err;
|
||||
|
||||
+ snd_pcm_drop(captureHandle);
|
||||
+ snd_pcm_reset(captureHandle);
|
||||
if((err=snd_pcm_prepare (captureHandle)) < 0)
|
||||
{
|
||||
alsaErrorHandler(err,"Unable to prepare "+inputAudioDevice);
|
||||
@@ -76,6 +78,8 @@ void soundAlsa::prepareCapture()
|
||||
|
||||
void soundAlsa::preparePlayback()
|
||||
{
|
||||
+ snd_pcm_drop(playbackHandle);
|
||||
+ snd_pcm_reset(playbackHandle);
|
||||
snd_pcm_prepare (playbackHandle);
|
||||
}
|
||||
|
||||
@@ -97,6 +101,8 @@ int soundAlsa::read(int &countAvailable)
|
||||
if ( count == -EPIPE )
|
||||
{
|
||||
// Overrun
|
||||
+ snd_pcm_drop(captureHandle);
|
||||
+ snd_pcm_reset(captureHandle);
|
||||
snd_pcm_prepare (captureHandle );
|
||||
snd_pcm_start (captureHandle);
|
||||
errorOut() << "Overrun";
|
||||
@@ -140,6 +146,8 @@ int soundAlsa::write(uint numFrames)
|
||||
else if ( framesWritten == -EPIPE )
|
||||
{
|
||||
/* underrun */
|
||||
+ snd_pcm_drop(playbackHandle);
|
||||
+ snd_pcm_reset(playbackHandle);
|
||||
error = snd_pcm_prepare (playbackHandle);
|
||||
if ( error < 0 )
|
||||
{
|
||||
@@ -337,5 +345,42 @@ void getCardList(QStringList &alsaInputL
|
||||
n++;
|
||||
}
|
||||
snd_device_name_free_hint(hints);
|
||||
+
|
||||
+ snd_config_t *pcmc;
|
||||
+ snd_pcm_t *pcm;
|
||||
+ if (!snd_config)
|
||||
+ snd_config_update();
|
||||
+ if(snd_config_search(snd_config, "pcm", &pcmc)==0) {
|
||||
+ snd_config_iterator_t i, next;
|
||||
+ snd_config_for_each(i, next, pcmc) {
|
||||
+ snd_config_t *n = snd_config_iterator_entry(i);
|
||||
+ if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND)
|
||||
+ continue;
|
||||
+ const char *id;
|
||||
+ if(snd_config_get_id(n, &id)==0) {
|
||||
+ deviceName = QString(id);
|
||||
+ if (deviceName == "hw" ||
|
||||
+ deviceName == "plughw" ||
|
||||
+ deviceName == "plug" ||
|
||||
+ deviceName == "dsnoop" ||
|
||||
+ deviceName == "tee" ||
|
||||
+ deviceName == "file" ||
|
||||
+ deviceName == "null" ||
|
||||
+ deviceName == "shm" ||
|
||||
+ deviceName == "cards" ||
|
||||
+ deviceName == "rate_convert")
|
||||
+ continue;
|
||||
+ if (snd_pcm_open(&pcm, id, SND_PCM_STREAM_PLAYBACK, 0) == 0) {
|
||||
+ alsaOutputList.append(deviceName + " ");
|
||||
+ snd_pcm_close(pcm);
|
||||
+ }
|
||||
+ if (snd_pcm_open(&pcm, id, SND_PCM_STREAM_CAPTURE, 0) == 0) {
|
||||
+ alsaInputList.append(deviceName + " ");
|
||||
+ snd_pcm_close(pcm);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
@ -1,63 +0,0 @@
|
||||
--- qsstv/sound/soundcontrol.cpp.orig 2014-12-06 14:41:00 UTC
|
||||
+++ qsstv/sound/soundcontrol.cpp
|
||||
@@ -53,8 +53,8 @@ void soundControl::readSettings()
|
||||
txClock=qSettings.value("txclock",BASESAMPLERATE).toDouble();
|
||||
if(fabs(1-rxClock/BASESAMPLERATE)>0.002) rxClock=BASESAMPLERATE;
|
||||
if(fabs(1-txClock/BASESAMPLERATE)>0.002) txClock=BASESAMPLERATE;
|
||||
- inputAudioDeviceIndex=qSettings.value("inputAudioDeviceIndex",0).toInt();
|
||||
- outputAudioDeviceIndex=qSettings.value("outputAudioDeviceIndex",0).toInt();
|
||||
+ inputAudioDevice=qSettings.value("inputAudioDevice",0).toString();
|
||||
+ outputAudioDevice=qSettings.value("outputAudioDevice",0).toString();
|
||||
soundIOPtr->soundRoutingInput= (soundIO::edataSrc)qSettings.value("soundRoutingInput", 0 ).toInt();
|
||||
soundIOPtr->soundRoutingOutput= (soundIO::edataDst)qSettings.value("soundRoutingOutput", 0 ).toInt();
|
||||
soundIOPtr->recordingSize= qSettings.value("recordingSize", 100 ).toInt();
|
||||
@@ -69,8 +69,8 @@ void soundControl::writeSettings()
|
||||
qSettings.beginGroup("Sound");
|
||||
qSettings.setValue("rxclock",rxClock);
|
||||
qSettings.setValue("txclock",txClock);
|
||||
- qSettings.setValue("inputAudioDeviceIndex",inputAudioDeviceIndex);
|
||||
- qSettings.setValue("outputAudioDeviceIndex",outputAudioDeviceIndex);
|
||||
+ qSettings.setValue("inputAudioDevice",inputAudioDevice);
|
||||
+ qSettings.setValue("outputAudioDevice",outputAudioDevice);
|
||||
qSettings.setValue ("soundRoutingInput", soundIOPtr->soundRoutingInput );
|
||||
qSettings.setValue ("soundRoutingOutput",soundIOPtr->soundRoutingOutput );
|
||||
qSettings.setValue ("recordingSize",soundIOPtr->recordingSize );
|
||||
@@ -82,8 +82,8 @@ void soundControl::setParams()
|
||||
{
|
||||
setValue(rxClock,ui->inputClockLineEdit,9);
|
||||
setValue(txClock,ui->outputClockLineEdit,9);
|
||||
- setIndex(inputAudioDeviceIndex,ui->inputPCMNameComboBox);
|
||||
- setIndex(outputAudioDeviceIndex,ui->outputPCMNameComboBox);
|
||||
+ setValue(inputAudioDevice,ui->inputPCMNameComboBox);
|
||||
+ setValue(outputAudioDevice,ui->outputPCMNameComboBox);
|
||||
soundIOPtr->inputAudioDevice=ui->inputPCMNameComboBox->currentText();
|
||||
soundIOPtr->outputAudioDevice=ui->outputPCMNameComboBox->currentText();
|
||||
|
||||
@@ -99,13 +99,13 @@ void soundControl::setParams()
|
||||
void soundControl::getParams()
|
||||
{
|
||||
changed=false;
|
||||
- int savedInputIdx=inputAudioDeviceIndex;
|
||||
- int savedOutputIdx=outputAudioDeviceIndex;
|
||||
+ QString savedInput=inputAudioDevice;
|
||||
+ QString savedOutput=outputAudioDevice;
|
||||
getValue(rxClock,ui->inputClockLineEdit);
|
||||
getValue(txClock,ui->inputClockLineEdit);
|
||||
|
||||
- getIndex(inputAudioDeviceIndex,ui->inputPCMNameComboBox);
|
||||
- getIndex(outputAudioDeviceIndex,ui->outputPCMNameComboBox);
|
||||
+ getValue(inputAudioDevice,ui->inputPCMNameComboBox);
|
||||
+ getValue(outputAudioDevice,ui->outputPCMNameComboBox);
|
||||
|
||||
if (ui->inFromCard->isChecked()) soundIOPtr->soundRoutingInput=soundIO::SNDINCARD;
|
||||
else if(ui->inFromFile->isChecked()) soundIOPtr->soundRoutingInput=soundIO::SNDINFILE;
|
||||
@@ -114,7 +114,7 @@ void soundControl::getParams()
|
||||
if (ui->outToCard->isChecked()) soundIOPtr->soundRoutingOutput=soundIO::SNDOUTCARD;
|
||||
else soundIOPtr->soundRoutingOutput=soundIO::SNDOUTTOFILE;
|
||||
getValue(soundIOPtr->recordingSize,ui->mbSpinBox);
|
||||
- if(savedInputIdx!=inputAudioDeviceIndex) changed=true;
|
||||
- if(savedOutputIdx!=outputAudioDeviceIndex) changed=true;
|
||||
+ if(savedInput!=inputAudioDevice) changed=true;
|
||||
+ if(savedOutput!=outputAudioDevice) changed=true;
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
--- qsstv/sound/soundcontrol.h.orig 2014-12-06 14:41:00 UTC
|
||||
+++ qsstv/sound/soundcontrol.h
|
||||
@@ -22,8 +22,8 @@ public:
|
||||
|
||||
private:
|
||||
Ui::soundControl *ui;
|
||||
- int inputAudioDeviceIndex;
|
||||
- int outputAudioDeviceIndex;
|
||||
+ QString inputAudioDevice;
|
||||
+ QString outputAudioDevice;
|
||||
bool changed;
|
||||
void getParams();
|
||||
};
|
@ -1,76 +0,0 @@
|
||||
--- qsstv/sound/soundio.cpp.orig 2015-02-28 15:05:28 UTC
|
||||
+++ qsstv/sound/soundio.cpp
|
||||
@@ -328,7 +328,9 @@ int soundIO::capture()
|
||||
if ( count == -EPIPE )
|
||||
{
|
||||
// Overrun
|
||||
- snd_pcm_prepare (captureHandle );
|
||||
+ snd_pcm_drop (captureHandle);
|
||||
+ snd_pcm_reset (captureHandle);
|
||||
+ snd_pcm_prepare (captureHandle);
|
||||
snd_pcm_start (captureHandle);
|
||||
qDebug()<< "Overrun";
|
||||
}
|
||||
@@ -573,8 +575,6 @@ bool soundIO::listCards()
|
||||
// int totalDevices;
|
||||
snd_pcm_info_t *pcmInfo;
|
||||
snd_ctl_t *cardHandle;
|
||||
- inputPCMNameList << "default";
|
||||
- outputPCMNameList << "default";
|
||||
|
||||
// No cards found yet
|
||||
totalCards = 0;
|
||||
@@ -582,6 +582,11 @@ bool soundIO::listCards()
|
||||
// Start with first card
|
||||
cardNum = -1;
|
||||
|
||||
+ // We need to get a snd_ctl_card_info_t. Just alloc it on the stack
|
||||
+ snd_ctl_card_info_alloca(&cardInfo);
|
||||
+ // To get some info about the subdevices of this wave device (on the card), we need a
|
||||
+ // snd_pcm_info_t, so let's allocate one on the stack
|
||||
+ snd_pcm_info_alloca(&pcmInfo);
|
||||
for (;;)
|
||||
{
|
||||
|
||||
@@ -599,8 +604,6 @@ bool soundIO::listCards()
|
||||
qDebug() << "Can't open card "<< cardNum << snd_strerror(err);
|
||||
continue;
|
||||
}
|
||||
- // We need to get a snd_ctl_card_info_t. Just alloc it on the stack
|
||||
- snd_ctl_card_info_alloca(&cardInfo);
|
||||
|
||||
// Tell ALSA to fill in our snd_ctl_card_info_t with info about this card
|
||||
if ((err = snd_ctl_card_info(cardHandle, cardInfo)) >= 0)
|
||||
@@ -619,9 +622,6 @@ bool soundIO::listCards()
|
||||
// NOTE: It's possible that this sound card may have no wave devices on it
|
||||
// at all, for example if it's only a MIDI card
|
||||
if (devNum < 0) break;
|
||||
- // To get some info about the subdevices of this wave device (on the card), we need a
|
||||
- // snd_pcm_info_t, so let's allocate one on the stack
|
||||
- snd_pcm_info_alloca(&pcmInfo);
|
||||
memset(pcmInfo, 0, snd_pcm_info_sizeof());
|
||||
|
||||
// Tell ALSA which device (number) we want info about
|
||||
@@ -636,6 +636,22 @@ bool soundIO::listCards()
|
||||
// qDebug() << "Found:" << totalDevices << " digital audio devices on card " << cardNum;
|
||||
}
|
||||
|
||||
+ snd_config_t *pcm;
|
||||
+ snd_config_update();
|
||||
+ if(snd_config_search(snd_config, "pcm", &pcm)==0) {
|
||||
+ snd_config_iterator_t i, next;
|
||||
+ snd_config_for_each(i, next, pcm) {
|
||||
+ snd_config_t *n = snd_config_iterator_entry(i);
|
||||
+ if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND)
|
||||
+ continue;
|
||||
+ const char *id;
|
||||
+ if(snd_config_get_id(n, &id)==0) {
|
||||
+ inputPCMNameList << id;
|
||||
+ outputPCMNameList << id;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// qDebug() << "ALSA found cards" << totalCards;
|
||||
|
||||
// ALSA allocates some mem to load its config file when we call
|
10
comms/qsstv/files/patch-qsstv_utils_jp2io.h
Normal file
10
comms/qsstv/files/patch-qsstv_utils_jp2io.h
Normal file
@ -0,0 +1,10 @@
|
||||
--- qsstv/utils/jp2io.h.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/utils/jp2io.h
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef JP2READER_H
|
||||
#define JP2READER_H
|
||||
-#include "openjpeg.h"
|
||||
+#include "openjpeg-2.1/openjpeg.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QImage>
|
10
comms/qsstv/files/patch-qsstv_videocapt_imagesettings.h
Normal file
10
comms/qsstv/files/patch-qsstv_videocapt_imagesettings.h
Normal file
@ -0,0 +1,10 @@
|
||||
--- qsstv/videocapt/imagesettings.h.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/videocapt/imagesettings.h
|
||||
@@ -41,7 +41,6 @@
|
||||
#ifndef IMAGESETTINGS_H
|
||||
#define IMAGESETTINGS_H
|
||||
|
||||
-#include <linux/types.h> /* for videodev2.h */
|
||||
#include <linux/videodev2.h>
|
||||
|
||||
#include <QDialog>
|
11
comms/qsstv/files/patch-qsstv_videocapt_v4l2control.cpp
Normal file
11
comms/qsstv/files/patch-qsstv_videocapt_v4l2control.cpp
Normal file
@ -0,0 +1,11 @@
|
||||
--- qsstv/videocapt/v4l2control.cpp.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qsstv/videocapt/v4l2control.cpp
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <cerrno>
|
||||
#include <cstring>
|
||||
//#include <libv4l2.h>
|
||||
-#include <linux/types.h> /* for videodev2.h */
|
||||
+//#include <linux/types.h> /* for videodev2.h */
|
||||
#include <linux/videodev2.h>
|
||||
|
||||
#include <QPushButton>
|
@ -1,10 +0,0 @@
|
||||
--- qsstv/widgets/freqform.ui.orig 2014-12-06 14:41:00 UTC
|
||||
+++ qsstv/widgets/freqform.ui
|
||||
@@ -242,7 +242,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
@ -1,10 +0,0 @@
|
||||
--- qsstv/widgets/sweepform.ui.orig 2014-12-06 14:41:00 UTC
|
||||
+++ qsstv/widgets/sweepform.ui
|
||||
@@ -248,7 +248,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
@ -1,8 +1,11 @@
|
||||
--- qwt/qwt.pro.orig 2014-12-06 14:41:00 UTC
|
||||
--- qwt/qwt.pro.orig 2016-04-08 23:08:29 UTC
|
||||
+++ qwt/qwt.pro
|
||||
@@ -209,5 +209,4 @@ unix:!symbian {
|
||||
@@ -206,6 +206,8 @@ HEADERS += \
|
||||
unix:!symbian {
|
||||
maemo5 {
|
||||
target.path = /opt/usr/lib
|
||||
+ freebsd {
|
||||
+ target.path = %%PREFIX%%/lib
|
||||
} else {
|
||||
target.path = /usr/lib
|
||||
}
|
||||
- INSTALLS += target
|
||||
}
|
||||
|
183
comms/qsstv/pkg-plist
Normal file
183
comms/qsstv/pkg-plist
Normal file
@ -0,0 +1,183 @@
|
||||
bin/qsstv
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/Gallery_image_options.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/Gallery_rx.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/Gallery_template.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/Gallery_tx.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/binary.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/bsr_nfy.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/bsr_select.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/ca%%QT_LIBDIR%%ration.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config10.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config11.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config12.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config2.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config3.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config4.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config5.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config6.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config7.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config8.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/config9.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/cqrlog1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/cqrlog2.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/editor_1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/editor_2.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/editor_3.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/editor_image_size.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/entertext.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/eraser.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/fix.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/flrig1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/hybrid_checkbox.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/hybrid_dis_checkbox.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/multiline.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/receivedrm.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/refreshbutton.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/rxdrm_constellation.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/rxdrm_segments.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/rxdrm_status.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/rxwidget1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/sstvdrmselect.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/statusbar.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/statusleds.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/transmitdrm.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/tx-with-template.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/txdrm_compression.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/txdrm_options.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/txdrm_status.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/txwidget1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/vk4aes.jpg
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/waterfall.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/wf_bsr_id.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/images/wftextpopup.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/Gallery_image_options.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/Gallery_rx.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/Gallery_template.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/Gallery_tx.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/_copying.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/_r_x_d_r_m.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/_r_x_s_s_t_v.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/_t_x_d_r_m.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/_t_x_s_s_t_v.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/arrow.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/arrowdown.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/arrowright.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/bc_s.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/bdwn.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/binary.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/bsr_nfy.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/bsr_select.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ca%%QT_LIBDIR%%ration.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/camera.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/changelog.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/closed.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config10.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config11.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config12.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config2.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config3.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config4.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config5.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config6.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config7.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config8.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/config9.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/cqrlog1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/cqrlog2.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/credits.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/doc.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/doubletone.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/doxygen.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/dynsections.js
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/edit.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/editor.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/editor_1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/editor_2.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/editor_image_size.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/entertext.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/eraser.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/externalprog.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/fcircle.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/fileopen.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/filesave.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/fix.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/fixdrm.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/flrig1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/folderclosed.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/folderopen.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/frect.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2blank.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2doc.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2folderclosed.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2folderopen.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2lastnode.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2link.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2mlastnode.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2mnode.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2node.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2plastnode.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2pnode.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2splitbar.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/ftv2vertline.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/gallery.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/gettingstarted.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/hybrid_checkbox.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/hybrid_dis_checkbox.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/imagepopup.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/index.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/index.js
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/installation.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/jquery.js
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/line.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/multiline.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/nav_f.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/nav_g.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/nav_h.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/navtree.css
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/navtree.js
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/navtreedata.js
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/navtreeindex0.js
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/open.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/pages.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/qsstv.css
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/receivedrm.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/refreshbutton.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/replay.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/resize.js
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/rxdrm_constellation.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/rxdrm_segments.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/rxdrm_status.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/rxwidget1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/splitbar.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/start.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/statusbar.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/statusbar.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/statusleds.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/stop.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/sweep.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/sync_off.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/sync_on.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/tab_a.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/tab_b.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/tab_h.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/tab_s.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/tabs.css
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/text.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/todo1.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/tone.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/transmitdrm.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/tx-with-template.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/txdrm_compression.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/txdrm_options.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/txdrm_status.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/txwidget1.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/vk4aes.jpg
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/waterfall.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/wftextpopup.png
|
||||
%%PORTDOCS%%%%DOCSDIR%%/manual/whatsnew.html
|
||||
%%PORTDOCS%%%%DOCSDIR%%/qsstv.css
|
Loading…
Reference in New Issue
Block a user